It solves a lot quicker using check=False: In [1]: from sympy import symbols, solve ...: f, q, r, h, i, g = map(symbols, 'fqrhig') ...: e1 = -4*f**2*q - 5*f**2*r - 5*f*r + 4*q**2 + 3*q*r ...: e2 = -4*f**2*h*q - 4*f**2*i*q - 8*f*g*q - 10*f*g*r - 8*f*h*q - 20*f*h*r - 10*f*i*r + 8*f*q**2/5 - 5*g*r + 4*h*q**2 - 5*h*r + 4*i*q**2 + ...: 4*q**2/5 + 10*q*r + 5*r**2
In [2]: %time print(solve([e1, e2], [f, g], check=False)) [(-(-1280*h*q**4 - 4960*h*q**3*r - 6800*h*q**2*r**2 - 3000*h*q*r**3 - 500*h*q*r**2 - 625*h*r**3 - 800*i*q**3*r - 2400*i*q**2*r**2 - 1500*i*q*r**3 + 256*q**5 + 512*q**4*r + 240*q**3*r**2 + 80*q**3*r + 1100*q**2*r**2 + 1750*q*r**3 + 625*r**4 + (-sqrt(64*q**3 + 128*q**2*r + 60*q*r**2 + 25*r**2)*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)/(5*(1024*q**5 + 4608*q**4*r + 7680*q**3*r**2 + 5600*q**2*r**3 + 400*q**2*r**2 + 1500*q*r**4 + 1000*q*r**3 + 625*r**4)) + (-80*h*q**2 - 250*h*q*r - 250*h*r**2 - 50*i*q*r - 125*i*r**2 + 16*q**3 + 20*q**2*r)/(5*(4*q + 5*r)**2))*(-1280*q**4 - 4160*q**3*r - 4400*q**2*r**2 - 1500*q*r**3 - 500*q*r**2 - 625*r**3))/(2*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)), -sqrt(64*q**3 + 128*q**2*r + 60*q*r**2 + 25*r**2)*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)/(5*(1024*q**5 + 4608*q**4*r + 7680*q**3*r**2 + 5600*q**2*r**3 + 400*q**2*r**2 + 1500*q*r**4 + 1000*q*r**3 + 625*r**4)) + (-80*h*q**2 - 250*h*q*r - 250*h*r**2 - 50*i*q*r - 125*i*r**2 + 16*q**3 + 20*q**2*r)/(5*(4*q + 5*r)**2)), (-(-1280*h*q**4 - 4960*h*q**3*r - 6800*h*q**2*r**2 - 3000*h*q*r**3 - 500*h*q*r**2 - 625*h*r**3 - 800*i*q**3*r - 2400*i*q**2*r**2 - 1500*i*q*r**3 + 256*q**5 + 512*q**4*r + 240*q**3*r**2 + 80*q**3*r + 1100*q**2*r**2 + 1750*q*r**3 + 625*r**4 + (sqrt(64*q**3 + 128*q**2*r + 60*q*r**2 + 25*r**2)*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)/(5*(1024*q**5 + 4608*q**4*r + 7680*q**3*r**2 + 5600*q**2*r**3 + 400*q**2*r**2 + 1500*q*r**4 + 1000*q*r**3 + 625*r**4)) + (-80*h*q**2 - 250*h*q*r - 250*h*r**2 - 50*i*q*r - 125*i*r**2 + 16*q**3 + 20*q**2*r)/(5*(4*q + 5*r)**2))*(-1280*q**4 - 4160*q**3*r - 4400*q**2*r**2 - 1500*q*r**3 - 500*q*r**2 - 625*r**3))/(2*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)), sqrt(64*q**3 + 128*q**2*r + 60*q*r**2 + 25*r**2)*(160*h*q**3*r + 200*h*q**2*r**2 + 250*h*q*r**2 + 625*h*r**3 + 160*i*q**3*r + 200*i*q**2*r**2 + 250*i*q*r**2 + 625*i*r**3 + 64*q**4 + 880*q**3*r + 2400*q**2*r**2 + 2250*q*r**3 + 625*r**4)/(5*(1024*q**5 + 4608*q**4*r + 7680*q**3*r**2 + 5600*q**2*r**3 + 400*q**2*r**2 + 1500*q*r**4 + 1000*q*r**3 + 625*r**4)) + (-80*h*q**2 - 250*h*q*r - 250*h*r**2 - 50*i*q*r - 125*i*r**2 + 16*q**3 + 20*q**2*r)/(5*(4*q + 5*r)**2))] CPU times: user 3.24 s, sys: 29.9 ms, total: 3.27 s Wall time: 3.3 s On Tue, 21 Dec 2021 at 15:41, Chris Smith <[email protected]> wrote: > > Are they using the same versions of SymPy? > > e1 is quadratic only if f and e2 is linear in g and quadratic in f...it is a > pretty simple system but there are lots of extraneous symbols. Even paring > down the symbols to the system `(F1*(F2 + F3*f + f**2), G3*(G4 + G6*f**2 + > G7*g + f*(G1 + G5*g - g))` takes a long time to solve and simplify. > > /c > On Tuesday, December 21, 2021 at 4:25:36 AM UTC-6 [email protected] > wrote: >> >> After : >> >> ``` >> from sympy import symbols, solve >> f, q, r, h, i, g = map(symbols, 'fqrhig') >> e1 = -4*f**2*q - 5*f**2*r - 5*f*r + 4*q**2 + 3*q*r >> e2 = -4*f**2*h*q - 4*f**2*i*q - 8*f*g*q - 10*f*g*r - 8*f*h*q - 20*f*h*r - >> 10*f*i*r + 8*f*q**2/5 - 5*g*r + 4*h*q**2 - 5*h*r + 4*i*q**2 + 4*q**2/5 + >> 10*q*r + 5*r**2 >> ``` >> trying `solve([e1, e2], [f, g])` never returns. >> >> FWIW, in Sage, with equivalent definitions : >> >> ``` >> sage: %time solve([e1, e2], [f, g], solution_dict=True) >> CPU times: user 935 ms, sys: 12.1 ms, total: 947 ms >> Wall time: 671 ms >> [{f: -1/2*(5*r + sqrt(64*q^3 + 128*q^2*r + 5*(12*q + 5)*r^2))/(4*q + 5*r), >> g: -1/5*(5120*h*q^5 - 1024*q^6 + 625*(12*(2*h + i)*q + 10*h + 5*i)*r^4 + >> 50*(10*(94*h + 38*i - 1)*q^2 - 24*q^3 + 25*(5*h + i)*q)*r^3 + 80*(5*(132*h + >> 36*i - 1)*q^3 - 44*q^4 + 25*h*q^2)*r^2 + 128*(5*(41*h + 5*i)*q^4 - 26*q^5)*r >> + (80*(2*h + 2*i + 11)*q^3*r + 64*q^4 + 125*(5*h + 5*i + 18*q)*r^3 + 625*r^4 >> + 50*(4*(h + i + 12)*q^2 + 5*(h + i)*q)*r^2)*sqrt(64*q^3 + 128*q^2*r + >> 5*(12*q + 5)*r^2))/(1024*q^5 + 4608*q^4*r + 125*(12*q + 5)*r^4 + 200*(28*q^2 >> + 5*q)*r^3 + 80*(96*q^3 + 5*q^2)*r^2)}, >> {f: -1/2*(5*r - sqrt(64*q^3 + 128*q^2*r + 5*(12*q + 5)*r^2))/(4*q + 5*r), >> g: -1/5*(5120*h*q^5 - 1024*q^6 + 625*(12*(2*h + i)*q + 10*h + 5*i)*r^4 + >> 50*(10*(94*h + 38*i - 1)*q^2 - 24*q^3 + 25*(5*h + i)*q)*r^3 + 80*(5*(132*h + >> 36*i - 1)*q^3 - 44*q^4 + 25*h*q^2)*r^2 + 128*(5*(41*h + 5*i)*q^4 - 26*q^5)*r >> - (80*(2*h + 2*i + 11)*q^3*r + 64*q^4 + 125*(5*h + 5*i + 18*q)*r^3 + 625*r^4 >> + 50*(4*(h + i + 12)*q^2 + 5*(h + i)*q)*r^2)*sqrt(64*q^3 + 128*q^2*r + >> 5*(12*q + 5)*r^2))/(1024*q^5 + 4608*q^4*r + 125*(12*q + 5)*r^4 + 200*(28*q^2 >> + 5*q)*r^3 + 80*(96*q^3 + 5*q^2)*r^2)}] >> ``` >> >> WTF ? >> > -- > 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/2c9fd218-f30f-4e3f-9b7b-4afa3a72e5b4n%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/CAHVvXxS4z6cEj%3DY5p82%3D%2BT99W71OVr4Q0SMZ4xJCr55neOdOhA%40mail.gmail.com.
