Here's the minimal working example (except for it hanging on solve()):

import sympy as sym
from sympy import sqrt

q1, q2, s, s1, s2, q_dp1, q_dp2 = sym.symbols('Q_1, Q_2, s, s_1, s_2, 
Q_dp_1, Q_dp_2')

equ1 = q1*s - q2*s + 2*q2 - 2*sqrt(q2*(q1*s - q2*s + q2 + 2*sqrt(q1*q2*s*(1 
- s)))) + 2*sqrt(q1*q2*s*(1 - s))

eq1 = equ1.subs({ s: s1 }) - q_dp1
print(f"{eq1} = 0")

eq2 = equ1.subs({ s: s2 }) - q_dp2
print(f"{eq2} = 0")

soln = sym.solve([eq1, eq2], (q1, q2), simplify=False)
print(f"soln = {soln}")

On Friday, August 5, 2022 at 7:47:07 AM UTC-7 Oscar wrote:

> You should be able to obtain a parametric Groebner basis to represent
> the solutions of this system. Whether that leads to an explicit
> solution in radicals is hard to say without trying.
>
> I would demonstrate how to do this but the code for putting together
> the equations is incomplete.
>
> On Fri, 5 Aug 2022 at 14:01, Chris Smith <smi...@gmail.com> wrote:
> >
> > If you remove the radicals (`sympy.solvers.solvers.unrad(eq1)`) and 
> replace `Q1` and `Q2` with `x` and `y` and `Q_dp_1` with a and `s1` with 
> `b` you will get an expression that is of degree 4 in every variable and 
> can be split into a term with `a` and `b` and a term with only `b` -- both 
> with `x` and `y`.
> >
> > u1 = a*(a**3 - 4*a**2*y*(2 - b) - 2*a*y**2*(-3*b**2 + 8*b - 8) - 
> 4*b**3*x**3 + 2*b**2*(-x**2*(-3*a + 2*y*(b - 2)) + 2*y**3*(b - 2)) - 
> 4*b*x*(a**2 + a*y*(b - 2) + y**2*(-b**2 - 8*b + 8))) + \
> > b**2*(b*(x**2 + y**2) + 2*x*y*(b - 2))**2
> >
> > Replace a,b with c,d (for `q_dp_2` and `s2`) to get `u2`. I can't 
> imagine that solving a pair of quartics is going to give a nice solution. 
> But solving this system with known values for `a` and `b` would be 
> straightforward with `nsolve`.
> >
> > /c
> >
> > On Thursday, August 4, 2022 at 11:54:24 PM UTC-5 klp...@gmail.com wrote:
> >>
> >> And eq1=Q_1*s_1 - Q_2*s_1 + 2*Q_2 - Q_dp_1 - 2*sqrt(Q_2*(Q_1*s_1 - 
> Q_2*s_1 + Q_2 + 2*sqrt(Q_1*Q_2*s_1*(1 - s_1)))) + 2*sqrt(Q_1*Q_2*s_1*(1 - 
> s_1)) ... sorry, long day!
> >>
> >> On Thursday, August 4, 2022 at 9:39:53 PM UTC-7 Kevin Pauba wrote:
> >>>
> >>> Sorry, Jeremy. Good suggestion!
> >>>
> >>> s1, s2, q_dp1, q_dp2 = sym.symbols('s_1, s_2, Q_dp_1, Q_dp_2')
> >>> eq1 = equ1.subs({ s: s1 }) - q_dp1
> >>> md( "$" + sym.latex(eq1) + " = 0$\n" )
> >>>
> >>> eq2 = equ1.subs({ s: s2 }) - q_dp2
> >>> md( "$" + sym.latex(eq2) + " = 0$\n" )
> >>>
> >>> soln = sym.solve([eq1, eq2], q1, q2)
> >>> print(f"soln = {soln}")
> >>>
> >>> I'll set simplify to False and see how it goes ...
> >>> On Thursday, August 4, 2022 at 8:18:00 PM UTC-7 Kevin Pauba wrote:
> >>>>
> >>>> I've attached a portion of a jupyter notebook. I'm attempting to 
> solve a simultaneous equation using sympy. The sym.solve() in the green 
> input box doesn't return (well, I waited over night on my macbook pro). 
> Might the solution be intractable? Is there another way to get a solution? 
> Any help is greatly appreciated.
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to sympy+un...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/72f1b075-dbe2-41c0-bba6-9305c5960443n%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/54eddcdc-a42e-4ebc-87b8-b6aaea1e2d0an%40googlegroups.com.

Reply via email to