On Klein’s icosahedral solution of the quintic
[EDIT: Post updated in March 2013]
Those interested in the below may wish to consult either:
- My original notes (also now published in Expositiones Mathematicae)
- The slides from the talk I gave about this for the IMSA conference on March 2nd, 2013.
A solution of the quintic
Since the work of Ruffini (1799) and Abel (1823) it has been known that it is not possible to solve the quintic in radicals. In 1858, Hermite presented the first solution of the quintic; the non-radical functions he added to his toolbox for the purpose were certain modular functions. This solution received a lot of attention and shortly afterwards Kronecker and Brioschi also published solutions. Eventually in about 1878, the great geometer Klein (drawing on work of Gordon and crucially of Galois) showed how to unify the different approaches and also demonstrated a new, extremely beautiful solution using icosahedral functions. Here is (a slightly simplified version of) that solution:
Given the quintic equation:
is a root!
Replacing with for provides all the other roots. Also, in case you’re wondering why I have organised terms using , this is because is a factor of . I have expressed things this way for reasons that will become clear in a few paragraphs’ time when we consider the locations of the roots of these polynomials.
The first thing to notice in the above is that the non-radical functions employed are certain hypergeometric functions. Although they may look somewhat arbitrary at first sight, these are extremely special hypergeometric functions which belong to Schwarz’s list of algebraic hypergeometric functions (those with finite monodromy). The quotient of the pair used in the above equation inverts the 60-fold branched covering of the complex projective line with monodromy. The picture at the top of this post is a picture of that branched covering as well as being a picture of the icosahedral tiling of the sphere.
The next thing to consider in the above formula is the invariant . This is an icosahedral invariant of the quintic and it has a very neat geometric interpretation. The vector of roots of a quintic defines an -orbit in complex projective 4-space. If the quintic has no degree 4 or 3 terms, this orbit lies on the quadric surface and in fact the -action on the quadric is induced from a natural action on the lines in this quadric. If we adjoin the square root of the discriminant then the -action becomes an -action and each of the two families of lines in the ruled surface carries and -action. These families are parameterised by complex projective lines and the quotient by defines the icosahedral invariants. Evidently, it is this quotient that we invert using the hypergeometric functions mentioned above.
Note that even the formula for begins to tells us about the quintic. For example, we can see that if then the second term in the formula for vanishes so that it does not depend on the choice of square root of the discriminant. This corresponds to the fact that this quintic is reducible. (With a sign change, we can even see this without leaving the integers, e.g., ).
Lastly the five auxiliary polynomials and also have geometric interpretations. The roots of the first three are, respectively, the locations of the projection of the vertices, face centres and edge midpoints of a regular icosahedron onto its circumsphere (once this circumsphere has been identified with the extended complex plane by stereographic projection). The roots of the last two are, respectively, the locations of the vertices and face centres of a regular cube inscribed in the icosahedron. Indeed the vertices of this cube are the vertices of a pair of dual-tetrahedra inscribed in the icosahedron, one of which I show below:
Icosahedron with inscribed tetrahedron
The notes I mentioned above provide similar (more complicated) formulae for the case of a quintic in the more general form . (Any quintic can be put in this form by solving one auxiliary quadratic equation.)
My own interest in this problem dates from when I was at high school. Back then I spent a while delving into E.T. Bell’s “Men of Mathematics” books. I was warned that they were somewhat biased and not all that accurate historically but I still enjoyed them. At the time I could not appreciate much of the mathematics that Bell mentioned but I did understand bits here and there. In particular I always remembered that he mentioned that Klein had established a connection between the rotations of the icosahedron and the solution of the quintic equation. I couldn’t imagine how this would work but I never forgot this intriguing idea. Searching through the books now over 15 years later I see that the relevant passage is from Bell’s discussion of Cauchy (ironically Bell doesn’t discuss Klein):
To give but one instance, the set of all rotations which twirl a regular icosahedron (twenty-sided regular solid) about its axes of symmetry, so that after any rotation of the set the volume of the solid occupies the same space as before, forms a group, and this group of rotations, when expressed abstractly, is the same group as that which appears, under permutations of the roots, when we attempt to solve the general equation of the fifth degree. [...] This beautiful unification was the work of Felix Klein (1849-1925) in his book on the icosahedron (1884).
Last year (i.e., 2011) I found myself considering how this connection might work. I bought a copy of Klein’s “Lectures on the Icosahedron and the Solution of the Fifth Degree” and started reading it and various other references. It was a delight to finally understand the connection. I decided to make a few notes for myself and as they took shape I thought it might be worth making them available online. Part of my motivation for doing so was this Mathoverflow question. It took me quite a while to get round to finishing them but I have at last done so and I have posted them online here. Any feedback would be greatly appreciated.
Sketching out the connection
Although I have written up the details of the quintic’s icosahedral geometry in the notes I mentioned, it might be worth saying a few brief words here. From an abstract point of view, one reason for the connection between the quintic and the icosahedron is that the group can be made to play three roles:
- As the Galois group of a general quintic (together with a distinguished square root of its discriminant)
- As the group of rotations of the icosahedron
- As the monodromy group of the hypergeometric differential equation with appropriate parameters (from Schwarz’s list)
More concretely, using a radical transformation, any quintic can be put in the form:
The vector roots then lies on the doubly-ruled quadric surface:
(photo of a model from Gaudi’s house in Park Güell, Barcelona)
Since the quintic, together with a square root of its discriminant, only determines the vector of roots up to an even permutation of its coordinates, we in fact obtain an -orbit in each of the two families of lines in the doubly-ruled surface. These families are naturally parameterised by the complex projective line which can be identified with the circumsphere of the icosahedron in such a way that the Galois action becomes the group of icosahedral rotations. The quintic thus defines a point in the quotient of the circumsphere of an icosahedron by its group of rotations. Finally, it is not hard to see that finding a local inverse for this branched cover is equivalent to solving the quintic and, moreover, this can be accomplished using hypergeometric functions with monodromy.
Implementing the solution
I think there’s nothing like actually doing something for yourself so I decided to check my calculations by writing a short python script to implement the icosahedral solution of the quintic. For minimalists, there is a short script for solving quintics in Bring-Jerrard form available for download here (also shown below) and for those interested in the more general solution there is also a corresponding script available here. I am happy to report that both work!
import mpmath, numpy as N def nabla(cc): return N.exp(N.log(cc**4 + 256 + 0j)/2) def Z(cc): return (2*1728 + cc**4*(207 + cc**4) - cc*cc*(81 + cc**4)*nabla(cc))/(2*1728) def z(ZZ): mpmath.mp.dps = 20 return N.exp(-N.log(1728*ZZ) / 5) * mpmath.hyp2f1(31.0/60, 11.0/60, 6.0/5, 1.0/ZZ) /\ mpmath.hyp2f1(19.0/60, -1.0/60, 4.0/5, 1.0/ZZ) def HB(zz): return (zz**4 - 3*zz**3 - zz**2 + 3*zz + 1) *\ (zz**8 + 4*zz**7 + 7*zz**6 + 2*zz**5 + 15*zz**4 - 2*zz**3 + 7*zz**2 - 4*zz + 1) def D(zz): return -1 + 2*zz + 5*zz**2 + 5*zz**4 - 2*zz**5 - zz**6 def f(zz): u = zz**5 return zz*(-1 + u * (11 + u)) def T(zz): u = zz**5 return 1 + u * (-522 + u * (-10005 + u * u * (-10005 + u * (522 + u)))) def y(cc): ys =  eps = N.exp(2*N.pi*1j / 5) zz = z(Z(cc)) for n in range(5): ys.append(-cc * f(zz) / HB(zz) -\ (7*cc*cc + 9*nabla(cc))/(2*cc**5 + 2*648*cc)*D(zz)*T(zz)/(HB(zz)*f(zz)**2)) zz *= eps return [(yy, abs(yy**5 + 5*yy + cc)) for yy in ys] for (z, err) in y(-2.8234): # Randomly chosen value for quintic (see xkcd #221). print '%.6f + %.6fi (%.10f)' % (z.real, z.imag, err)