I just had a quick look and I think that maybe this has a positive dimensional solution set.
On Fri, 5 Aug 2022 at 16:08, Kevin Pauba <[email protected]> wrote: > > 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 <[email protected]> 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 [email protected] 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 [email protected]. >> > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/54eddcdc-a42e-4ebc-87b8-b6aaea1e2d0an%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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxThEaLTRXNU3mtFSJGMZKAuJmckgmbyeOihpb53R3p%2B_w%40mail.gmail.com.
