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 <smi...@gmail.com> 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 emanuel.c...@gmail.com 
> 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 sympy+unsubscr...@googlegroups.com.
> 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 sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAHVvXxS4z6cEj%3DY5p82%3D%2BT99W71OVr4Q0SMZ4xJCr55neOdOhA%40mail.gmail.com.

Reply via email to