# Computing Poincaré symbolic solution for an arbitrary integer order polynomial

In the 1880s, Poincaré created functions which give the solution to the nth order polynomial equation in finite form. These functions turned out to be "natural" generalizations of the elliptic functions.

http://mathworld.wolfram.com/Polynomial.html

As a warm-up, how could one get Mathematica to return an explicit list of the symbolic solutions to the arbitrary 5th order polynomial equation

x^5 + b x^4 + c x^3 + d x^2 + e x + f == 0


and. given such a list of solutions, would one be able to plug the solutions back into the polynomial and confirm that they solve the equation?

• Abel proved that the general quintic equation has no closed-form solution, though for subclasses (e.g., where the quintic is factorable), then solutions can be written. Feb 1, 2015 at 19:25
• Implementation is here library.wolfram.com/infocenter/Demos/158/ for selected special quintics Feb 1, 2015 at 19:34
• David, that is not correct. Abel proved that the general quintic couldn't be solved in terms of radicals, multiplication,division, addition and subtraction. Apparently Poincare obtained a general solution.
– JEP
Feb 1, 2015 at 20:28
• Mathematica returns the answer in terms of five Root objects. If it was possible (or beneficial) to return them in the form of special functions, I feel like Mathematica would be designed to do so. This isn't to say it's not possible to do it here, but I feel like doing so might be hard. Feb 1, 2015 at 22:32
• All the functions needed to symbolically represent the roots of a quintic are in fact built-in (HypergeometricPFQ[], EllipticTheta[], or SiegelTheta[]), but these explicit expressions are so unwieldy that I'd stick to the use of Root[] instead. Jun 6, 2015 at 1:03

First this one to perform three transformations and reduce the general equation to the c - x +x^5 form. For doing that you'll need to apply successively the functions PrincipalTransform, BringJerrardTransform and CanonicalTransform.
Once the canonical form is achieved, you'll need the function HermiteQuinticSolve from this notebook to solve the canonized (!) quintic.