Status: New
Owner: asmeurer
Labels: Type-Enhancement Priority-Medium Polynomial Solvers

New issue 1546 by asmeurer: Implement quasi-symmetric quartic equations
http://code.google.com/p/sympy/issues/detail?id=1546

If we implement the method described here:  
http://en.wikipedia.org/wiki/Quartic_polynomial#Quasi-
symmetric_equations , then the solutions of equations that fit that form  
using that methods would be
much simpler than the ones given now.  For example, the solution given now  
for x**4 + x**3 + x**2
+ x + 1 is quite large, but if you use the method described there and apply  
sqrtdenest() to the
answer, you get the very small solution set  
[(1/4)*sqrt(5)-1/4+(1/4*I)*sqrt(2)*sqrt(5+sqrt(5)), -
(1/4)*sqrt(5)-1/4+(1/4*I)*sqrt(2)*sqrt(5-sqrt(5)),  
-(1/4)*sqrt(5)-1/4-(1/4*I)*sqrt(2)*sqrt(5-sqrt(5)),
(1/4)*sqrt(5)-1/4-(1/4*I)*sqrt(2)*sqrt(5+sqrt(5))] (the same as Maple  
returns).

The basic method is, if a quartic is of the type a0*x**4 + a1*x**3 +  
a2*x**4 + a1*m*x + a0*m**2 for
some m, then you can divide by x**2 and make the variable substitution z ==  
x + m/x, which will
give you a quadratic in z, and z == x + m/x is a quadratic in x, so you end  
up solving the first
quadratic in z, and the second with the roots of the first.

Apparently, it is then a good idea to apply sqrtdenest to the final roots  
to simplify them.

I have no idea it this is applicable to polynomials of other degrees.  I  
just learned it by seeing it on
that wikipedia page.

Also note that  x**4 + x**3 + x**2 + x + 1 is a cyclotomic polynomial (the  
roots are all primitive 5th
roots of unity), so it could potentially be solved more efficiently that  
way too.   However, not all
polynomials of the above form are cyclotomic.

--
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 sympy-issues@googlegroups.com
To unsubscribe from this group, send email to 
sympy-issues+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to