Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 1629 by ondrej.certik: solve() raises an exception for quartic  
equation
http://code.google.com/p/sympy/issues/detail?id=1629

The code below:

from sympy import *
p,q,w,g,f = symbols('pqwgf')
fn = w*((70400*f**2*g**2 - 2592000*g**3 + 12420*g*f**4 + 132*f**6)*cos (p)
+ (70400*f**2*g**2 - 2592000*g**3 + 12420*g*f**4 + 132*f**6)*cos (q) +
(70400*f**2*g**2 - 2592000*g**3 + 12420*g*f**4 + 132*f**6)*cos(p - q) +
(1600*f**2*g**2 - 48000*g**3 + 180*g*f**4 - 12*f**6)*cos(-2*q + 2*p) +
(25600*f**2*g**2 - 224000*g**3 - 360*g*f**4 + 12*f**6)*cos(p + q) +
(25600*f**2*g**2 - 224000*g**3 - 360*g*f**4 + 12*f**6)*cos(p - 2*q) +
(25600*f**2*g**2 - 224000*g**3 - 360*g*f**4 + 12*f**6)*cos(q - 2*p)) +
w**2*((-800*g**2 - 180*g*f**2 + 18*f**4)*cos(-2*q + 2*p) + (-35200*g**2 -
12420*g*f**2 - 198*f**4)*cos(p) + (-35200*g**2 - 12420*g*f**2 -
198*f**4)*cos(q) + (-35200*g**2 - 12420*g*f**2 - 198*f**4)*cos(p - q) +
(-12800*g**2 + 360*g*f**2 - 18*f**4)*cos(p + q) + (-12800*g**2 + 360*g*f**2
- 18*f**4)*cos(p - 2*q) + (-12800*g**2 + 360*g*f**2 - 18*f**4)*cos(q -
2*p)) + w**3*((-120*g + 12*f**2)*cos(p + q) + (-120*g + 12*f**2)*cos(p -
2*q) + (-120*g + 12*f**2)*cos(q - 2*p) + (60*g - 12*f**2)*cos(-2*q + 2*p) +
(4140*g + 132*f**2)*cos(p) + (4140*g + 132*f**2)*cos(q) + (4140*g +
132*f**2)*cos(p - q)) + w**4* (-33*cos(p) - 33*cos(q) - 33*cos(p - q) -
3*cos(p + q) - 3*cos(p - 2*q) - 3*cos(q - 2*p) + 3*cos(-2*q + 2*p)) +
(-35200*f**4*g**2 + 2592000*f**2*g**3 - 47360000*g**4 - 4140*g*f**6 -
33*f**8)*cos(p) + (-35200*f**4*g**2 + 2592000*f**2*g**3 - 47360000*g**4 -
4140*g*f**6 - 33*f**8)*cos(q) + (-35200*f**4*g**2 + 2592000*f**2*g**3 -
47360000*g**4 - 4140*g*f**6 - 33*f**8)*cos(p - q) + (-12800*f**4*g**2 +
224000*f**2*g**3 - 3840000*g**4 + 120*g*f**6 - 3*f**8)*cos(p + q) +
(-12800*f**4*g**2 + 224000*f**2*g**3 - 3840000*g**4 + 120*g*f**6 -
3*f**8)*cos(p - 2*q) + (-12800*f**4*g**2 + 224000*f**2*g**3 - 3840000*g**4
+ 120*g*f**6 - 3*f**8)*cos(q - 2*p) + (-800*f**4*g**2 + 48000*f**2*g**3 -
640000*g**4 - 60*g*f**6 + 3*f**8)*cos(-2*q + 2*p)
print solve(fn,w)

produces:




Traceback (most recent call last):
   File "q.py", line 4, in <module>
     print solve(fn,w)
   File "/home/ondrej/repos/sympy/sympy/solvers/solvers.py", line 207, in  
solve
     result = roots(poly, cubics=True, quartics=True).keys()
   File "/home/ondrej/repos/sympy/sympy/polys/rootfinding.py", line 291, in
roots
     _, factors = poly_factors(f)
   File "/home/ondrej/repos/sympy/sympy/polys/factortools.py", line 36, in
poly_factors
     F = Poly(f, *symbols)
   File "/home/ondrej/repos/sympy/sympy/polys/polynomial.py", line 389, in
__new__
     terms = Poly._decompose(poly.as_basic(), *symbols)
   File "/home/ondrej/repos/sympy/sympy/polys/polynomial.py", line 545, in
_decompose
     raise PolynomialError("Can't decompose %s" % factor)
sympy.polys.polynomial.PolynomialError: Can't decompose cos(q - p)


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to