Solution of quintics via Hermite

We assume that by an appropriate Tschirnhaus transformation the general quintic

a0 x^5 + a1 x^4 + a2 x^3 + a3 x^2 + a4 x + a5 = 0

has been reduced to the canonical form

t^5 - t + rho = 0

In 1858 Hermite (and then Kronecker and Brioshi) constructed a solution of this equation in terms of elliptic modular functions. Following Hermite, here is a full solution:

HermiteQuinticSolve[t_^5 - t_ + rho_ == 0, t_] :=
Module[{k, b, q},
	k = Tan[ArcSin[16/(25 5^(1/2) rho^2)]/4];
	b = (k^2)^(1/8)/(2 5^(3/4) k^(1/2) (1 - k^2)^(1/2))*
		If[Re[rho] == 0, -Sign[Im[rho]], Sign[Re[rho]]];
	q = EllipticNomeQ[k^2];
	Map[{t -> #}&, 
		{ b ((-1)^(3/4)*
   (InverseEllipticNomeQ[q^(1/5)/E^((2*I)/5*Pi)]^(1/8) + 
  I*InverseEllipticNomeQ[E^((2*I)/5*Pi)*q^(1/5)]^(1/8))*
   (InverseEllipticNomeQ[q^(1/5)/E^((4*I)/5*Pi)]^(1/8) + 
    InverseEllipticNomeQ[E^((4*I)/5*Pi)*q^(1/5)]^(1/8))*
   (InverseEllipticNomeQ[q^(1/5)]^(1/8) + 
    InverseEllipticNomeQ[q^5]^(1/8) q^(5/8)/(q^5)^(1/8)))
          ,
b (-InverseEllipticNomeQ[q^(1/5)]^(1/8) + E^((3*I)/4*Pi)*
    InverseEllipticNomeQ[E^((2*I)/5*Pi)*q^(1/5)]^(1/8))*
   (InverseEllipticNomeQ[q^(1/5)/E^((2*I)/5*Pi)]^(1/8)/
   	     E^((3*I)/4*Pi) + 
  I*InverseEllipticNomeQ[E^((4*I)/5*Pi)*q^(1/5)]^(1/8))*
 (I*InverseEllipticNomeQ[q^(1/5)/E^((4*I)/5*Pi)]^(1/8) + 
    InverseEllipticNomeQ[q^5]^(1/8) q^(5/8)/(q^5)^(1/8))
          ,
 b (InverseEllipticNomeQ[q^(1/5)/E^((2*I)/5Pi)]^(1/8)/
        E^((3I)/4Pi) - 
  I*InverseEllipticNomeQ[q^(1/5)/E^((4*I)/5*Pi)]^(1/8))*
  (-InverseEllipticNomeQ[q^(1/5)]^(1/8) - 
  I*InverseEllipticNomeQ[E^((4*I)/5*Pi)*q^(1/5)]^(1/8))*
   (InverseEllipticNomeQ[E^((2*I)/5*Pi)*q^(1/5)]^(1/8)*
        E^((3*I)/4*Pi) + 
    InverseEllipticNomeQ[q^5]^(1/8) q^(5/8)/(q^5)^(1/8))
          ,
 b (InverseEllipticNomeQ[q^(1/5)]^(1/8) - 
  I*InverseEllipticNomeQ[q^(1/5)/E^((4*I)/5*Pi)]^(1/8))*
  (-InverseEllipticNomeQ[E^((2*I)/5*Pi)*q^(1/5)]^(1/8)*
       E^((3*I)/4*Pi) - 
  I*InverseEllipticNomeQ[E^((4*I)/5*Pi)*q^(1/5)]^(1/8))*
   (InverseEllipticNomeQ[q^(1/5)/E^((2*I)/5*Pi)]^(1/8)/
       E^((3*I)/4*Pi) + 
    InverseEllipticNomeQ[q^5]^(1/8) q^(5/8)/(q^5)^(1/8))
          ,
 b (InverseEllipticNomeQ[q^(1/5)]^(1/8) - 
    InverseEllipticNomeQ[q^(1/5)/E^((2*I)/5*Pi)]^(1/8)/
        E^((3*I)/4*Pi))*
   (-InverseEllipticNomeQ[E^((2*I)/5*Pi)*q^(1/5)]^(1/8) *
        E^((3*I)/4*Pi) + 
   I*InverseEllipticNomeQ[q^(1/5)/E^((4*I)/5*Pi)]^(1/8))*
 (-I*InverseEllipticNomeQ[E^((4*I)/5*Pi)*q^(1/5)]^(1/8) + 
     InverseEllipticNomeQ[q^5]^(1/8) q^(5/8)/(q^5)^(1/8))
		}
	]
]

The elliptic modular function InverseEllipticNomeQ function is a solution of the transcendental equation EllipticNomeQ[m] = q for Abs[q] < 1. In Mathematica V2.3  this function is built into the system. With previous versions it can be defined by:

InverseEllipticNomeQ[z_] := 
     EllipticTheta[2, 0, z]^4/EllipticTheta[3, 0, z]^4

Here is a numerical example for solving a quintic using Hermite's approach:

HermiteQuinticSolve[t^5 - t + I == 0, t] // 
     N // Chop // Sort

NSolve[t^5 - t + I == 0, t] // Chop