# 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. – David G. Stork Feb 1 '15 at 19:25
• Implementation is here library.wolfram.com/infocenter/Demos/158/ for selected special quintics – Nasser Feb 1 '15 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 '15 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. – DumpsterDoofus Feb 1 '15 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. – J. M.'s technical difficulties Jun 6 '15 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.