Solving Quintics#

In this section, we explain how to exploit the icosahedral symmetry discussed before to solve an arbitrary polynomial of order five (also known as a quintic polynomial).

We begin by returning to a result derived earlier: in the Section on icosahedral symmetry, we showed that the the icosahedral face centres can be grouped into five octohedra:

\[\begin{split} \begin{aligned} T(u,v) &= \prod_{r=1}^5 t_I(u\,\epsilon^{-r/2},v\,\epsilon^{r/2}) = \prod_{r=1}^5 \epsilon^{15-3r} \,t_I(u,v\,\epsilon^r) \\ &= u^{30} +522\left(u^{25}\,v^5-u^5\,v^{25}\right) - 10005\left(u^{20}\,v^{10} + u^{10}\,v^{20}\right) + v^{30} \,. \end{aligned}\end{split}\]

where

\[t_I(u,v) := (u^2+v^2)(u^2-2z_n\,uv-v^2)(u^2-2z_m\,uv-v^2) \,.\]
# Check of the above:
from utils import e_simp, reduce_multiply
from sympy import symbols, expand, simplify, discriminant


u, v, e = symbols("u v e")
z_n = e**2 + e**3
z_m = e + e**4


def tI(u, v):
    return (
        (u**2 + v**2)
        * (u**2 - 2 * z_n * u * v - v**2)
        * (u**2 - 2 * z_m * u * v - v**2)
    )


def T(u, v):
    return (
        u**30
        + 522 * (u**25 * v**5 - u**5 * v**25)
        - 10005 * (u**20 * v**10 + u**10 * v**20)
        + v**30
    )


T_eval = e_simp(
    expand(reduce_multiply([e ** (15 - 3 * k) * tI(u, v * e**k) for k in range(5)])), e
)
T_eval.equals(T(u, v))
True

Following the work on octahedral invariants, it’s usef

What we intend to do next is to demonstrate the existence of a map from points \(z\) on the complex plane (away from the edge midpoints) to a particular set of roots of a Brioschi quintic, whose Brioschi parameter can also be computed from \(z\).

To do this, we begin by considering the polynomial \(P(X)\) given by

\[ P(X) = \prod_{r=1}^5 \left(X - \epsilon^{15-3r} \,t_I(u,v\,\epsilon^r)\right) \,.\]

Expanding, we find that

\[P(X) = X^5 - 10\,f(u,v)\,X^3+45\,f(u,v)^2\,X - T(u,v)\]

where \(f(u,v) = uv\left(u^{10}+11\,u^5v^5-v^{10}\right)\), as in the previous Section.

# Check of the above:
X = symbols("X")
result = e_simp(
    reduce_multiply([X - e ** (15 - 3 * k) * tI(u, v * e**k) for k in range(5)]), e
).collect(X)
result
\[\displaystyle X^{5} + X^{3} \left(- 10 u^{11} v - 110 u^{6} v^{6} + 10 u v^{11}\right) + X \left(45 u^{22} v^{2} + 990 u^{17} v^{7} + 5355 u^{12} v^{12} - 990 u^{7} v^{17} + 45 u^{2} v^{22}\right) - u^{30} - 522 u^{25} v^{5} + 10005 u^{20} v^{10} + 10005 u^{10} v^{20} + 522 u^{5} v^{25} - v^{30}\]
A, B = symbols("A B")
t1, t2, t3, t4, t5 = symbols("t1 t2 t3 t4 t5")
Px = reduce_multiply([X - A - B * x for x in [t1, t2, t3, t4, t5]]).expand().collect(X)
Px.subs(A, 0)
\[\displaystyle - B^{5} t_{1} t_{2} t_{3} t_{4} t_{5} + X^{5} + X^{4} \left(- B t_{1} - B t_{2} - B t_{3} - B t_{4} - B t_{5}\right) + X^{3} \left(B^{2} t_{1} t_{2} + B^{2} t_{1} t_{3} + B^{2} t_{1} t_{4} + B^{2} t_{1} t_{5} + B^{2} t_{2} t_{3} + B^{2} t_{2} t_{4} + B^{2} t_{2} t_{5} + B^{2} t_{3} t_{4} + B^{2} t_{3} t_{5} + B^{2} t_{4} t_{5}\right) + X^{2} \left(- B^{3} t_{1} t_{2} t_{3} - B^{3} t_{1} t_{2} t_{4} - B^{3} t_{1} t_{2} t_{5} - B^{3} t_{1} t_{3} t_{4} - B^{3} t_{1} t_{3} t_{5} - B^{3} t_{1} t_{4} t_{5} - B^{3} t_{2} t_{3} t_{4} - B^{3} t_{2} t_{3} t_{5} - B^{3} t_{2} t_{4} t_{5} - B^{3} t_{3} t_{4} t_{5}\right) + X \left(B^{4} t_{1} t_{2} t_{3} t_{4} + B^{4} t_{1} t_{2} t_{3} t_{5} + B^{4} t_{1} t_{2} t_{4} t_{5} + B^{4} t_{1} t_{3} t_{4} t_{5} + B^{4} t_{2} t_{3} t_{4} t_{5}\right)\]
# Check the whole polynomial
def f(u, v):
    return u * v * (u**10 + 11 * u**5 * v**5 - v**10)


result.equals(X**5 - 10 * f(u, v) * X**3 + 45 * f(u, v) ** 2 * X - T(u, v))
True

Therefore, if we define the homogeneous coordinates

\[x_r(u,v) := -\frac{f^2(u,v)}{T(u,v)}\,\epsilon^{15-3r}\,t_I(u,v\,\epsilon^r) \,,\]

(which are degree-zero complex functions in \(u\) and \(v\), defined everywhere except for at the edge midpoints) then a second polynomial can be readily constructed as follows:

\[P_B(X,z) = \prod_{r=1}^5 \left(X- x_r(z,1)\right) \,.\]

The polynomial \(P_B(X)\) is indeed a Brioschi quintic with Brioschi parameter \(B(z) = B(z,1)\) where

\[B(u,v) := -\frac{f^5(u,v)}{T^2(u,v)}\]

such that

\[P_B(X,z) = X^5 +10\,B(z)\, X^3 + 45\,B^2(z)\,X + B^2(z) \,.\]

For completeness, we recall the syzygy derived earlier which relates the three icosahedral polynomial invariants \(f(u,v)\), \(T(u,v)\), and \(H(u,v)\):

\[T^2(u,v) - H^3(u,v) = 12^3\,f^5(u,v)\]

where

\[H(u,v) := u^{20} - 228\left(u^{15}v^5-u^5v^{15}\right)+494\,u^{10}v^{10}+v^{20} \,.\]
def H(u, v):
    return u**20 - 228 * (u**15 * v**5 - u**5 * v**15) + 494 * u**10 * v**10 + v**20


(T(u, v) ** 2 - H(u, v) ** 3).equals(12**3 * f(u, v) ** 5)
True

We also define a second degree-zero ratio of polynomial invariants, namely

\[I(u,v) := -\frac{H^3(u,v)}{12^3f^5(u,v)} = 1 + \frac{1}{12^3B(u,v)} \,,\]

for future use, which conveniently maps the icosahedral vertices, edge midpoints, and face centres to infinity, one, and zero, respectively.

Tschirnhaus Transformation and Principal Quintics#

In this section, we aim to demonstrate that solving a single quadratic equation allows us to trade any general quintic of the form

\[P(x) = x^5+ p_1 \,x^4 + p_2 \, x^3 + p_3 \, x^2+p_4 \, x + p_5 = 0\]

for a principal quintic with \(a_1 = a_2 = 0\).

To this end, let’s define a transformation

\[y = x^2 + A\,x + B\]

and show how to solve for \((A,B,C)\) such that the polynomial equation \(Q(y)=0\) with coefficients \(q_i\) with \(q_1 = q_2 = 0\).

The polynomial \(Q(y)\) after this transformation is given by the Resolvent, \(\mathrm{Res}[P(x), y-x^2-Ax-B](y)\):

\[\begin{split} \begin{aligned} Q(y) &= y^{5} + y^{4} \left(A p_{1} - 5 B - p_{1}^{2} + 2 p_{2}\right) \\ &+ y^{3} \left(A^{2} p_{2} - 4 A B p_{1} - A p_{1} p_{2} + 3 A p_{3} + 10 B^{2} + 4 B p_{1}^{2} - 8 B p_{2} - 2 p_{1} p_{3} + p_{2}^{2} + 2 p_{4}\right) + \ldots \end{aligned} \end{split}\]
# Check of the above:
from sympy import resultant, solve, Eq, Poly, Add

x, p1, p2, p3, p4, p5 = symbols("x p1 p2 p3 p4 p5")
expr = x**5 + p1 * x**4 + p2 * x**3 + p3 * x**2 + p4 * x + p5
Eq(expr, 0)
\[\displaystyle p_{1} x^{4} + p_{2} x^{3} + p_{3} x^{2} + p_{4} x + p_{5} + x^{5} = 0\]
y, A, B = symbols("y A B")

expr2 = Poly(resultant(expr, y - x**2 - A * x - B, x), y).terms()
expr2 = Add(*[b * y ** a[0] for a, b in expr2], evaluate=False)
expr2
\[\displaystyle y^{5} + y^{4} \left(A p_{1} - 5 B - p_{1}^{2} + 2 p_{2}\right) + y^{3} \left(A^{2} p_{2} - 4 A B p_{1} - A p_{1} p_{2} + 3 A p_{3} + 10 B^{2} + 4 B p_{1}^{2} - 8 B p_{2} - 2 p_{1} p_{3} + p_{2}^{2} + 2 p_{4}\right) + y^{2} \left(A^{3} p_{3} - 3 A^{2} B p_{2} - A^{2} p_{1} p_{3} + 4 A^{2} p_{4} + 6 A B^{2} p_{1} + 3 A B p_{1} p_{2} - 9 A B p_{3} - 3 A p_{1} p_{4} + A p_{2} p_{3} + 5 A p_{5} - 10 B^{3} - 6 B^{2} p_{1}^{2} + 12 B^{2} p_{2} + 6 B p_{1} p_{3} - 3 B p_{2}^{2} - 6 B p_{4} - 2 p_{1} p_{5} + 2 p_{2} p_{4} - p_{3}^{2}\right) + y \left(A^{4} p_{4} - 2 A^{3} B p_{3} - A^{3} p_{1} p_{4} + 5 A^{3} p_{5} + 3 A^{2} B^{2} p_{2} + 2 A^{2} B p_{1} p_{3} - 8 A^{2} B p_{4} - 4 A^{2} p_{1} p_{5} + A^{2} p_{2} p_{4} - 4 A B^{3} p_{1} - 3 A B^{2} p_{1} p_{2} + 9 A B^{2} p_{3} + 6 A B p_{1} p_{4} - 2 A B p_{2} p_{3} - 10 A B p_{5} + 3 A p_{2} p_{5} - A p_{3} p_{4} + 5 B^{4} + 4 B^{3} p_{1}^{2} - 8 B^{3} p_{2} - 6 B^{2} p_{1} p_{3} + 3 B^{2} p_{2}^{2} + 6 B^{2} p_{4} + 4 B p_{1} p_{5} - 4 B p_{2} p_{4} + 2 B p_{3}^{2} - 2 p_{3} p_{5} + p_{4}^{2}\right) - \left(- A^{5} p_{5} + A^{4} B p_{4} + A^{4} p_{1} p_{5} - A^{3} B^{2} p_{3} - A^{3} B p_{1} p_{4} + 5 A^{3} B p_{5} - A^{3} p_{2} p_{5} + A^{2} B^{3} p_{2} + A^{2} B^{2} p_{1} p_{3} - 4 A^{2} B^{2} p_{4} - 4 A^{2} B p_{1} p_{5} + A^{2} B p_{2} p_{4} + A^{2} p_{3} p_{5} - A B^{4} p_{1} - A B^{3} p_{1} p_{2} + 3 A B^{3} p_{3} + 3 A B^{2} p_{1} p_{4} - A B^{2} p_{2} p_{3} - 5 A B^{2} p_{5} + 3 A B p_{2} p_{5} - A B p_{3} p_{4} - A p_{4} p_{5} + B^{5} + B^{4} p_{1}^{2} - 2 B^{4} p_{2} - 2 B^{3} p_{1} p_{3} + B^{3} p_{2}^{2} + 2 B^{3} p_{4} + 2 B^{2} p_{1} p_{5} - 2 B^{2} p_{2} p_{4} + B^{2} p_{3}^{2} - 2 B p_{3} p_{5} + B p_{4}^{2} + p_{5}^{2}\right)\]

Solving for the coefficients \(A\) and \(B\), we find

\[\begin{split}\begin{aligned} A &= \frac{5 B + p_{1}^{2} - 2 p_{2}}{p_{1}} \\ B &=\frac{p_{1}^{2} p_{2} + 3 p_{1} p_{3} - 4 p_{2}^{2} \pm p_{1} \sqrt{\frac{8 p_{1}^{3} p_{3} - 3 p_{1}^{2} p_{2}^{2} + 16 p_{1}^{2} p_{4} - 38 p_{1} p_{2} p_{3} + 12 p_{2}^{3} - 40 p_{2} p_{4} + 45 p_{3}^{2}}5} }{2\left(2 p_{1}^{2} - 5 p_{2}\right)} \,. \end{aligned} \end{split}\]
# Check of the above:
y4_coeff = expr2.coeff(y**4)
A_val = solve(y4_coeff, A)[0]
Eq(A, A_val)
\[\displaystyle A = \frac{5 B + p_{1}^{2} - 2 p_{2}}{p_{1}}\]
exprB = (expr2.coeff(y**3).subs(A, A_val) * p1**2).expand().collect(B)
exprB
\[\displaystyle B^{2} \left(- 10 p_{1}^{2} + 25 p_{2}\right) + B \left(5 p_{1}^{2} p_{2} + 15 p_{1} p_{3} - 20 p_{2}^{2}\right) + p_{1}^{3} p_{3} - p_{1}^{2} p_{2}^{2} + 2 p_{1}^{2} p_{4} - 6 p_{1} p_{2} p_{3} + 4 p_{2}^{3}\]
B_vals = solve(expr2.coeff(y**3).subs(A, A_val), B)
B_vals[0]
\[\displaystyle \frac{\frac{p_{1}^{2} p_{2}}{2} + \frac{3 p_{1} p_{3}}{2} - \frac{p_{1} \sqrt{40 p_{1}^{3} p_{3} - 15 p_{1}^{2} p_{2}^{2} + 80 p_{1}^{2} p_{4} - 190 p_{1} p_{2} p_{3} + 60 p_{2}^{3} - 200 p_{2} p_{4} + 225 p_{3}^{2}}}{10} - 2 p_{2}^{2}}{2 p_{1}^{2} - 5 p_{2}}\]
B_vals[1]
\[\displaystyle \frac{\frac{p_{1}^{2} p_{2}}{2} + \frac{3 p_{1} p_{3}}{2} + \frac{p_{1} \sqrt{40 p_{1}^{3} p_{3} - 15 p_{1}^{2} p_{2}^{2} + 80 p_{1}^{2} p_{4} - 190 p_{1} p_{2} p_{3} + 60 p_{2}^{3} - 200 p_{2} p_{4} + 225 p_{3}^{2}}}{10} - 2 p_{2}^{2}}{2 p_{1}^{2} - 5 p_{2}}\]

Therefore, at the expense of a single square root, we can trade any general quintic for a principal quintic of the form

\[Q(y) = 0 \quad{\rm where}\quad Q(y) = y^5 + 5\alpha\, y^2 + 5\beta\, y + \gamma\]

for some \(\alpha\), \(\beta\), \(\gamma\) computable in terms of the original \(p_i\). (The factors of 5 are included for later convenience.)

From Brioschi and Principal Quintics to the Icosahedral Equation#

Returning to the Brioschi quintic, we wish to show that every Brioschi quintic can be associated with a corresponding principal quintic by transforming the roots as follows:

\[y_r = W_r \left(\sigma + \tau\,t_r\right)\]

where \(W_r(u,v)\) is the polynomial invariant for the faces of the \(r\)-th inscribed octahedron:

\[\begin{split}\begin{aligned} W_r(u,v) &= \epsilon^{20-4r}\,u^8 - \epsilon^{15-3r}\,u^7v+ 7\,\epsilon^{10-2r}\,u^6v^2+7\,\epsilon^{5-r}\,u^5v^3 \\ &\quad -7\,\epsilon^{r}\,u^3v^5+7\,\epsilon^{2r}\,u^2v^6 + \epsilon^{3r}\,uv^7 +\epsilon^{4r}\,v^8\,. \end{aligned}\end{split}\]

(Recall that the roots of the original, Brioschi quintic were given by \(x_r := -f^2\,t_r/T\) and so

\[y_r = W_r\left(\sigma - \frac{T\,\tau}{f^2}\,x_r\right)\]

in terms of the \(x_r\)’s.)

from utils import hessian, z_simp


e, r = symbols("e r")
t_0 = (
    (u**2 + v**2)
    * (u**2 - 2 * z_n * u * v - v**2)
    * (u**2 - 2 * (-1 - z_n) * u * v - v**2)
)
t_r = simplify(z_simp((e ** (15 - 3 * r) * t_0.subs(v, v * e**r)).expand(), z_n))
W_r = simplify(hessian(t_r, u, v).expand() / (-400))

Summing over \(r\), we find that both \(\sum_r Y_r\) and \(\sum_r Y_r^2\) vanish:

# Check of the above:
def sum_over_r(expr, r):
    return e_simp(reduce(lambda x, y: x + y, [expr.subs(r, x) for x in range(5)]), e)


sigma, tau = symbols("sigma tau")
Y_r = sigma * W_r + tau * t_r * W_r

sum_over_r(Y_r, r).equals(0) and sum_over_r(Y_r**2, r).equals(0)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[13], line 9
      6 sigma, tau = symbols("sigma tau")
      7 Y_r = sigma * W_r + tau * t_r * W_r
----> 9 sum_over_r(Y_r, r).equals(0) and sum_over_r(Y_r**2, r).equals(0)

Cell In[13], line 3, in sum_over_r(expr, r)
      2 def sum_over_r(expr, r):
----> 3     return e_simp(reduce(lambda x, y: x + y, [expr.subs(r, x) for x in range(5)]), e)

NameError: name 'reduce' is not defined

Expanding the polynomial \(P_y:= \prod_r(y-y_r)\), we find

\[\begin{split}\begin{aligned} \alpha &= -8\,f^2\,\sigma^3 - T\, \sigma^2\tau -72\,f^3\, \sigma\tau^2-fT\,\tau^3 \\ \beta &= H \left[f\,\sigma^4 - 18\,f^2\,\sigma^2\tau^2- T\,\sigma\tau^3-27\,f^3\,\tau^4\right]\\ \gamma &= - H^2 \left[ \sigma^5-10\,f\,\sigma^3\tau^2+45\,f^2\,\sigma\tau^4\,+T\,\tau^5\right] \end{aligned}\end{split}\]
# Check of the above:
y = symbols("y")
P_y = e_simp(
    reduce_multiply([y - e_simp(Y_r.subs(r, x), e) for x in range(5)]).expand(),
    e,
)
P_y.coeff(y**5), P_y.coeff(y**4), e_simp(P_y.coeff(y**3), e)
(1, 0, 0)
P_y_y2 = e_simp(P_y.coeff(y**2), e) / 5
P_y_y2.collect(sigma)
\[\displaystyle \sigma^{3} \left(- 8 u^{22} v^{2} - 176 u^{17} v^{7} - 952 u^{12} v^{12} + 176 u^{7} v^{17} - 8 u^{2} v^{22}\right) + \sigma^{2} \left(- \tau u^{30} - 522 \tau u^{25} v^{5} + 10005 \tau u^{20} v^{10} + 10005 \tau u^{10} v^{20} + 522 \tau u^{5} v^{25} - \tau v^{30}\right) + \sigma \left(- 72 \tau^{2} u^{33} v^{3} - 2376 \tau^{2} u^{28} v^{8} - 25920 \tau^{2} u^{23} v^{13} - 91080 \tau^{2} u^{18} v^{18} + 25920 \tau^{2} u^{13} v^{23} - 2376 \tau^{2} u^{8} v^{28} + 72 \tau^{2} u^{3} v^{33}\right) - \tau^{3} u^{41} v - 533 \tau^{3} u^{36} v^{6} + 4264 \tau^{3} u^{31} v^{11} + 110577 \tau^{3} u^{26} v^{16} + 110577 \tau^{3} u^{16} v^{26} - 4264 \tau^{3} u^{11} v^{31} - 533 \tau^{3} u^{6} v^{36} + \tau^{3} u v^{41}\]
P_y_y2.equals(
    -8 * f(u, v) ** 2 * sigma**3
    - T(u, v) * sigma**2 * tau
    - 72 * f(u, v) ** 3 * sigma * tau**2
    - f(u, v) * T(u, v) * tau**3
)
True
P_y_y1 = e_simp(P_y.coeff(y), e) / 5
P_y_y1.collect(sigma)
\[\displaystyle \sigma^{4} \left(u^{31} v - 217 u^{26} v^{6} - 2015 u^{21} v^{11} + 5890 u^{16} v^{16} + 2015 u^{11} v^{21} - 217 u^{6} v^{26} - u v^{31}\right) + \sigma^{2} \left(- 18 \tau^{2} u^{42} v^{2} + 3708 \tau^{2} u^{37} v^{7} + 79254 \tau^{2} u^{32} v^{12} + 289044 \tau^{2} u^{27} v^{17} - 1238760 \tau^{2} u^{22} v^{22} - 289044 \tau^{2} u^{17} v^{27} + 79254 \tau^{2} u^{12} v^{32} - 3708 \tau^{2} u^{7} v^{37} - 18 \tau^{2} u^{2} v^{42}\right) + \sigma \left(- \tau^{3} u^{50} - 294 \tau^{3} u^{45} v^{5} + 128527 \tau^{3} u^{40} v^{10} - 2539236 \tau^{3} u^{35} v^{15} + 4833458 \tau^{3} u^{30} v^{20} + 4833458 \tau^{3} u^{20} v^{30} + 2539236 \tau^{3} u^{15} v^{35} + 128527 \tau^{3} u^{10} v^{40} + 294 \tau^{3} u^{5} v^{45} - \tau^{3} v^{50}\right) - 27 \tau^{4} u^{53} v^{3} + 5265 \tau^{4} u^{48} v^{8} + 180090 \tau^{4} u^{43} v^{13} + 1735695 \tau^{4} u^{38} v^{18} + 2792205 \tau^{4} u^{33} v^{23} - 21306672 \tau^{4} u^{28} v^{28} - 2792205 \tau^{4} u^{23} v^{33} + 1735695 \tau^{4} u^{18} v^{38} - 180090 \tau^{4} u^{13} v^{43} + 5265 \tau^{4} u^{8} v^{48} + 27 \tau^{4} u^{3} v^{53}\]
P_y_y1.equals(
    H(u, v) * f(u, v) * sigma**4
    - 18 * H(u, v) * f(u, v) ** 2 * sigma**2 * tau**2
    - H(u, v) * T(u, v) * sigma * tau**3
    - 27 * f(u, v) ** 3 * H(u, v) * tau**4
)
True
P_y_y0 = e_simp(P_y - y**5 - 5 * y**2 * P_y_y2 - 5 * y * P_y_y1, e)
P_y_y0.collect(sigma)
\[\displaystyle \sigma^{5} \left(- u^{40} + 456 u^{35} v^{5} - 52972 u^{30} v^{10} + 224808 u^{25} v^{15} - 140070 u^{20} v^{20} - 224808 u^{15} v^{25} - 52972 u^{10} v^{30} - 456 u^{5} v^{35} - v^{40}\right) + \sigma^{3} \left(10 \tau^{2} u^{51} v - 4450 \tau^{2} u^{46} v^{6} + 479550 \tau^{2} u^{41} v^{11} + 3583400 \tau^{2} u^{36} v^{16} - 23857900 \tau^{2} u^{31} v^{21} + 19903860 \tau^{2} u^{26} v^{26} + 23857900 \tau^{2} u^{21} v^{31} + 3583400 \tau^{2} u^{16} v^{36} - 479550 \tau^{2} u^{11} v^{41} - 4450 \tau^{2} u^{6} v^{46} - 10 \tau^{2} u v^{51}\right) + \sigma \left(- 45 \tau^{4} u^{62} v^{2} + 19530 \tau^{4} u^{57} v^{7} - 1937655 \tau^{4} u^{52} v^{12} - 39883050 \tau^{4} u^{47} v^{17} - 67859775 \tau^{4} u^{42} v^{22} + 1107523980 \tau^{4} u^{37} v^{27} - 1199962170 \tau^{4} u^{32} v^{32} - 1107523980 \tau^{4} u^{27} v^{37} - 67859775 \tau^{4} u^{22} v^{42} + 39883050 \tau^{4} u^{17} v^{47} - 1937655 \tau^{4} u^{12} v^{52} - 19530 \tau^{4} u^{7} v^{57} - 45 \tau^{4} u^{2} v^{62}\right) - \tau^{5} u^{70} - 66 \tau^{5} u^{65} v^{5} + 195065 \tau^{5} u^{60} v^{10} - 31988856 \tau^{5} u^{55} v^{15} + 647204571 \tau^{5} u^{50} v^{20} - 2327107146 \tau^{5} u^{45} v^{25} + 1813744429 \tau^{5} u^{40} v^{30} + 1813744429 \tau^{5} u^{30} v^{40} + 2327107146 \tau^{5} u^{25} v^{45} + 647204571 \tau^{5} u^{20} v^{50} + 31988856 \tau^{5} u^{15} v^{55} + 195065 \tau^{5} u^{10} v^{60} + 66 \tau^{5} u^{5} v^{65} - \tau^{5} v^{70}\]
P_y_y0.equals(
    H(u, v) ** 2
    * (
        -(sigma**5)
        + 10 * sigma**3 * tau**2 * f(u, v)
        - 45 * sigma * tau**4 * f(u, v) ** 2
        - tau**5 * T(u, v)
    )
)
True

Since we will want the coefficients to have weight zero in \(u\), \(v\) (so that they depend only on the ratio \(z = u/v\)), we will find it convenient to instead use

\[y_r = \tilde W_r \left(\lambda - \mu\,x_r\right)\qquad{\rm where}\quad \tilde W_r := \frac{W_r\,f}H \,,\quad x_r = -\frac{t_r\,f^2}T\]

since \(\tilde W_r\), \(x_r\) are explicitly degree-zero in \(u\), \(v\). From here, we wish to show that, for every choice of \((\alpha,\beta,\gamma)\) defining a principal quintic, there’s a corresponding choice of \((\lambda,\mu,z)\) reproducing the same polynomial. As it turns out, solving for \(\lambda\), \(\mu\) can be done using radicals (namely, a single square-root), whereas selecting the appropriate \(z\) will require solving the Icosahedral Equation (to be defined shortly).

Switching to homogenous variables \((\lambda,\mu)\) we find

\[\begin{split}\begin{aligned} 12^3\,I(z) \, \alpha &= 8\,\lambda^3 + \lambda^2\mu - 72\,B(z)\,\lambda\mu^2 - B(z)\,\mu^3 \\ 12^3\,I(z) \, \beta &= - \lambda^4 -18\,B(z)\,\lambda^2\mu^2 - B(z)\,\lambda\mu^3 + 27\,B^2(z)\,\mu^4 \\ 12^3\,I(z) \, \gamma &= \lambda^5 + 10\,B(z)\,\lambda^3\mu^2 + 45\,B^2(z)\,\lambda\mu^4 + B^2(z)\,\mu^5 \end{aligned}\end{split}\]

Combining these equations, we notice that they satisfy

(2)#\[\lambda\,\beta + \gamma = -B(z)\,\mu^2\,\alpha \,.\]
# Check of the above:
K, l, mu, B, alpha, beta, gamma = symbols("K lambda mu B alpha beta gamma")
# where K = 12^3*I(z)
alpha_expr = 1 / K * (8 * l**3 + l**2 * mu - 72 * B * l * mu**2 - B * mu**3)
beta_expr = (
    1 / K * (-(l**4) - 18 * B * l**2 * mu**2 - B * l * mu**3 + 27 * B**2 * mu**4)
)
gamma_expr = (
    1 / K * (l**5 + 10 * B * l**3 * mu**2 + 45 * B**2 * l * mu**4 + B**2 * mu**5)
)
(l * beta + gamma).subs(beta, beta_expr).subs(gamma, gamma_expr).equals(
    (-B * mu**2 * alpha).subs(alpha, alpha_expr)
)
True

Similarly, we can the compute a second combination and find

\[\lambda\,\gamma+\mu^2B(z)\beta = \frac{\left(\lambda^2+3\,B(z)\,\mu^2\right)^3}{12^3\,I(z)}\]
# Check of the above:
(l * gamma + mu**2 * B * beta).subs(gamma, gamma_expr).subs(beta, beta_expr).factor()
\[\displaystyle \frac{\left(3 B \mu^{2} + \lambda^{2}\right)^{3}}{K}\]

We can obtain the same combination using the \(\alpha\) and \(\beta\) equations as follows:

\[27\,\alpha^2 + \frac{(\lambda\,\alpha + 8\,\beta)^2}{\mu^2 B(z)} = \frac{\left(\lambda^2+3\,B(z)\,\mu^2\right)^3}{12^3\,I(z)}\]
# Check of the above:
(K * (27 * alpha**2 + (l * alpha + 8 * beta) ** 2 / B / mu**2)).subs(
    alpha, alpha_expr
).subs(beta, beta_expr).subs(K, 1728 + 1 / B).factor()
\[\displaystyle \left(3 B \mu^{2} + \lambda^{2}\right)^{3}\]

Equating these cubic terms, we find a quadratic expression in \(\lambda\), from which we can eliminate \(\mu^2 B(z)\) using eq. mu^2 B and find

\[\left(\alpha^4-\beta^3+\alpha\beta\gamma\right)\lambda^2 + \left(\alpha\gamma^2-2\,\beta^2\gamma-11\,\alpha^3\beta\right)\lambda + 64\,\alpha^2\beta^2-27\,\alpha^3\gamma-\beta\gamma^2 =0 \,.\]
# Check of the above:
alpha, beta, gamma = symbols("alpha beta gamma")
l_eqn = (
    simplify(
        -(beta * l + gamma)
        * alpha
        * (
            27 * alpha**2
            + (l * alpha + 8 * beta) ** 2 / mu**2 / B
            - l * gamma
            - mu**2 * B * beta
        ).subs(mu**2, -1 / B * (l * beta + gamma) / alpha)
    )
    .expand()
    .collect(l)
)
l_eqn
\[\displaystyle - 27 \alpha^{3} \gamma + 64 \alpha^{2} \beta^{2} - \beta \gamma^{2} + \lambda^{2} \left(\alpha^{4} + \alpha \beta \gamma - \beta^{3}\right) + \lambda \left(- 11 \alpha^{3} \beta + \alpha \gamma^{2} - 2 \beta^{2} \gamma\right)\]

At this point, we see that a second square root must be taken to determine \(\lambda\) in terms of the values \((\alpha,\beta,\gamma)\) in the principal polynomial. Interestingly, the discriminant of the quadratic above,

\[\Delta := \alpha^2\left(\gamma^4 + 256\,\beta^5-320\,\alpha\beta^3\gamma+90\,\alpha^2\beta\gamma^2-135\,\alpha^4\beta^2+108\,\alpha^5\gamma\right) \,,\]

is proportional to the discriminant \(D\) of the principal quintic:

\[D := (-1)^{n(n-1)/2} \, \mathrm{Res}[Q(y),Q'(y)] = \frac{5^5}{\alpha^2}\,\Delta \,.\]
# Check of the above:
l_disc = discriminant(l_eqn, l).factor()
l_disc
\[\displaystyle \alpha^{2} \left(108 \alpha^{5} \gamma - 135 \alpha^{4} \beta^{2} + 90 \alpha^{2} \beta \gamma^{2} - 320 \alpha \beta^{3} \gamma + 256 \beta^{5} + \gamma^{4}\right)\]
discriminant(y**5 + 5 * alpha * y**2 + 5 * beta * y + gamma, y).equals(
    5**5 / alpha**2 * l_disc
)
True
discriminant(expr, x).collect(p5)
\[\displaystyle - 27 p_{1}^{4} p_{4}^{4} + 18 p_{1}^{3} p_{2} p_{3} p_{4}^{3} - 4 p_{1}^{3} p_{3}^{3} p_{4}^{2} - 4 p_{1}^{2} p_{2}^{3} p_{4}^{3} + p_{1}^{2} p_{2}^{2} p_{3}^{2} p_{4}^{2} + 144 p_{1}^{2} p_{2} p_{4}^{4} - 6 p_{1}^{2} p_{3}^{2} p_{4}^{3} - 80 p_{1} p_{2}^{2} p_{3} p_{4}^{3} + 18 p_{1} p_{2} p_{3}^{3} p_{4}^{2} - 192 p_{1} p_{3} p_{4}^{4} + 16 p_{2}^{4} p_{4}^{3} - 4 p_{2}^{3} p_{3}^{2} p_{4}^{2} - 128 p_{2}^{2} p_{4}^{4} + 144 p_{2} p_{3}^{2} p_{4}^{3} - 27 p_{3}^{4} p_{4}^{2} + 256 p_{4}^{5} + 3125 p_{5}^{4} + p_{5}^{3} \left(256 p_{1}^{5} - 1600 p_{1}^{3} p_{2} + 2000 p_{1}^{2} p_{3} + 2250 p_{1} p_{2}^{2} - 2500 p_{1} p_{4} - 3750 p_{2} p_{3}\right) + p_{5}^{2} \left(- 192 p_{1}^{4} p_{2} p_{4} - 128 p_{1}^{4} p_{3}^{2} + 144 p_{1}^{3} p_{2}^{2} p_{3} + 160 p_{1}^{3} p_{3} p_{4} - 27 p_{1}^{2} p_{2}^{4} + 1020 p_{1}^{2} p_{2}^{2} p_{4} + 560 p_{1}^{2} p_{2} p_{3}^{2} - 50 p_{1}^{2} p_{4}^{2} - 630 p_{1} p_{2}^{3} p_{3} - 2050 p_{1} p_{2} p_{3} p_{4} - 900 p_{1} p_{3}^{3} + 108 p_{2}^{5} - 900 p_{2}^{3} p_{4} + 825 p_{2}^{2} p_{3}^{2} + 2000 p_{2} p_{4}^{2} + 2250 p_{3}^{2} p_{4}\right) + p_{5} \left(144 p_{1}^{4} p_{3} p_{4}^{2} - 6 p_{1}^{3} p_{2}^{2} p_{4}^{2} - 80 p_{1}^{3} p_{2} p_{3}^{2} p_{4} + 16 p_{1}^{3} p_{3}^{4} - 36 p_{1}^{3} p_{4}^{3} + 18 p_{1}^{2} p_{2}^{3} p_{3} p_{4} - 4 p_{1}^{2} p_{2}^{2} p_{3}^{3} - 746 p_{1}^{2} p_{2} p_{3} p_{4}^{2} + 24 p_{1}^{2} p_{3}^{3} p_{4} + 24 p_{1} p_{2}^{3} p_{4}^{2} + 356 p_{1} p_{2}^{2} p_{3}^{2} p_{4} - 72 p_{1} p_{2} p_{3}^{4} + 160 p_{1} p_{2} p_{4}^{3} + 1020 p_{1} p_{3}^{2} p_{4}^{2} - 72 p_{2}^{4} p_{3} p_{4} + 16 p_{2}^{3} p_{3}^{3} + 560 p_{2}^{2} p_{3} p_{4}^{2} - 630 p_{2} p_{3}^{3} p_{4} + 108 p_{3}^{5} - 1600 p_{3} p_{4}^{3}\right)\]

Denoting the solutions to the quadratic equation for \(\lambda\) as \(\lambda_\pm\), we can now write

(3)#\[\mu^2B(z) = -\frac1\alpha\left(\beta\,\lambda_\pm+\gamma\right) \,,\]

which allows us to solve for \(I(z)\) in terms of the coefficients of the principal quintic:

\[I(z) = I_0 := \frac{(\alpha\lambda_\pm^2-3\,\beta\lambda_\pm-3\gamma)^3}{12^3\alpha^2(\alpha\gamma\lambda_\pm-\beta^2\lambda_\pm-\beta\gamma)} \,.\]

(Note that \(I(z)\) has scaling dimension of zero in \(y\), since \([\alpha]=[y]^3\), \([\beta]=[y]^4\), \([\gamma] = [y]^5\), and \([\lambda_\pm]=[y]\).)

# Check of the above:
mu2B_eqn = l * gamma + mu**2 * B * beta - (l**2 + 3 * B * mu**2) ** 3 / K
K_soln = solve(mu2B_eqn, K)[0].subs(mu**2 * B, -1 / alpha * (beta * l + gamma)).factor()
K_soln
\[\displaystyle \frac{\left(\alpha \lambda^{2} - 3 \beta \lambda - 3 \gamma\right)^{3}}{\alpha^{2} \left(\alpha \gamma \lambda - \beta^{2} \lambda - \beta \gamma\right)}\]
a_val, b_val, c_val = 1, 2, 3
l1, l2 = solve(l_eqn.subs(alpha, a_val).subs(beta, b_val).subs(gamma, c_val), l)
l1, l2
(-37/2 + sqrt(1997)/2, -sqrt(1997)/2 - 37/2)
simplify(
    K_soln.subs(alpha, a_val).subs(beta, b_val).subs(gamma, c_val).subs(l, l1)
).evalf()
\[\displaystyle 524.872667566297\]
simplify(
    K_soln.subs(alpha, a_val).subs(beta, b_val).subs(gamma, c_val).subs(l, l2)
).evalf()
\[\displaystyle 198185090.127332\]

Once \(I(z)\) is known, the syzygy ensures that \(B(z) = 1/12^3(I(z)-1)\) (away from the edge midpoints, where \(I(z) = 1\)) which allows us to solve for \(\mu\) as well (at the expense of one last square root in Eq. (3)):

\[\mu = \mu_\pm := \pm\sqrt{\frac{-\beta\lambda_\pm-\gamma}{\alpha B(z)}} \,.\]

All in all, the roots \(y_r\) of the principal quintic polynomial are given by

\[y = y_r := \frac{W_r(z_0,1)f(z_0,1)}{H(z_0,1)}\left(\lambda_\pm + \mu_\pm\,\frac{t_r(z_0,1)f^2(z_0,1)}{T(z_0,1)}\right)\]

once we have some \(z_0\) satisfying \(I(z_0) = I_0\). Inverting this map to determine \(z_0\) (given some \(I_0\) computed in terms of \(\alpha\), \(\beta\), and \(\gamma\)) is the topic to which we now turn our attention.

p1, p2, p3, p4, p5 = symbols("p1 p2 p3 p4 p5")
discriminant(x**5 + p1 * x**4 + p2 * x**3 + p3 * x**2 + p4 * x + p5, x).factor()
\[\displaystyle 256 p_{1}^{5} p_{5}^{3} - 192 p_{1}^{4} p_{2} p_{4} p_{5}^{2} - 128 p_{1}^{4} p_{3}^{2} p_{5}^{2} + 144 p_{1}^{4} p_{3} p_{4}^{2} p_{5} - 27 p_{1}^{4} p_{4}^{4} + 144 p_{1}^{3} p_{2}^{2} p_{3} p_{5}^{2} - 6 p_{1}^{3} p_{2}^{2} p_{4}^{2} p_{5} - 80 p_{1}^{3} p_{2} p_{3}^{2} p_{4} p_{5} + 18 p_{1}^{3} p_{2} p_{3} p_{4}^{3} - 1600 p_{1}^{3} p_{2} p_{5}^{3} + 16 p_{1}^{3} p_{3}^{4} p_{5} - 4 p_{1}^{3} p_{3}^{3} p_{4}^{2} + 160 p_{1}^{3} p_{3} p_{4} p_{5}^{2} - 36 p_{1}^{3} p_{4}^{3} p_{5} - 27 p_{1}^{2} p_{2}^{4} p_{5}^{2} + 18 p_{1}^{2} p_{2}^{3} p_{3} p_{4} p_{5} - 4 p_{1}^{2} p_{2}^{3} p_{4}^{3} - 4 p_{1}^{2} p_{2}^{2} p_{3}^{3} p_{5} + p_{1}^{2} p_{2}^{2} p_{3}^{2} p_{4}^{2} + 1020 p_{1}^{2} p_{2}^{2} p_{4} p_{5}^{2} + 560 p_{1}^{2} p_{2} p_{3}^{2} p_{5}^{2} - 746 p_{1}^{2} p_{2} p_{3} p_{4}^{2} p_{5} + 144 p_{1}^{2} p_{2} p_{4}^{4} + 24 p_{1}^{2} p_{3}^{3} p_{4} p_{5} - 6 p_{1}^{2} p_{3}^{2} p_{4}^{3} + 2000 p_{1}^{2} p_{3} p_{5}^{3} - 50 p_{1}^{2} p_{4}^{2} p_{5}^{2} - 630 p_{1} p_{2}^{3} p_{3} p_{5}^{2} + 24 p_{1} p_{2}^{3} p_{4}^{2} p_{5} + 356 p_{1} p_{2}^{2} p_{3}^{2} p_{4} p_{5} - 80 p_{1} p_{2}^{2} p_{3} p_{4}^{3} + 2250 p_{1} p_{2}^{2} p_{5}^{3} - 72 p_{1} p_{2} p_{3}^{4} p_{5} + 18 p_{1} p_{2} p_{3}^{3} p_{4}^{2} - 2050 p_{1} p_{2} p_{3} p_{4} p_{5}^{2} + 160 p_{1} p_{2} p_{4}^{3} p_{5} - 900 p_{1} p_{3}^{3} p_{5}^{2} + 1020 p_{1} p_{3}^{2} p_{4}^{2} p_{5} - 192 p_{1} p_{3} p_{4}^{4} - 2500 p_{1} p_{4} p_{5}^{3} + 108 p_{2}^{5} p_{5}^{2} - 72 p_{2}^{4} p_{3} p_{4} p_{5} + 16 p_{2}^{4} p_{4}^{3} + 16 p_{2}^{3} p_{3}^{3} p_{5} - 4 p_{2}^{3} p_{3}^{2} p_{4}^{2} - 900 p_{2}^{3} p_{4} p_{5}^{2} + 825 p_{2}^{2} p_{3}^{2} p_{5}^{2} + 560 p_{2}^{2} p_{3} p_{4}^{2} p_{5} - 128 p_{2}^{2} p_{4}^{4} - 630 p_{2} p_{3}^{3} p_{4} p_{5} + 144 p_{2} p_{3}^{2} p_{4}^{3} - 3750 p_{2} p_{3} p_{5}^{3} + 2000 p_{2} p_{4}^{2} p_{5}^{2} + 108 p_{3}^{5} p_{5} - 27 p_{3}^{4} p_{4}^{2} + 2250 p_{3}^{2} p_{4} p_{5}^{2} - 1600 p_{3} p_{4}^{3} p_{5} + 256 p_{4}^{5} + 3125 p_{5}^{4}\]
disc.subs(p1, 1).subs(p2, 2).subs(p4, 2).subs(p5, 1)
\[\displaystyle 9 p_{3}^{2} - \frac{68 p_{3}}{5} - \frac{44}{5}\]
expr2.subs(A, A_val).subs(B, B_val).subs(D**2, disc).subs(F, F_val).subs(p1, 1).subs(
    p2, 2
).subs(p4, 2).subs(p5, 1).expand().collect(y)
\[\displaystyle - \frac{125 D^{5} p_{3}}{1048576} - \frac{1829 D^{5}}{1048576} - \frac{1875 D^{4} p_{3}^{2}}{1048576} - \frac{22925 D^{4} p_{3}}{1048576} + \frac{7175 D^{4}}{524288} - \frac{5625 D^{3} p_{3}^{3}}{524288} - \frac{55245 D^{3} p_{3}^{2}}{524288} + \frac{3657 D^{3} p_{3}}{32768} + \frac{5319 D^{3}}{131072} - \frac{16875 D^{2} p_{3}^{4}}{524288} - \frac{125145 D^{2} p_{3}^{3}}{524288} + \frac{68555 D^{2} p_{3}^{2}}{262144} + \frac{74141 D^{2} p_{3}}{131072} - \frac{32633 D^{2}}{65536} - \frac{50625 D p_{3}^{5}}{1048576} - \frac{253665 D p_{3}^{4}}{1048576} + \frac{2217 D p_{3}^{3}}{65536} + \frac{315569 D p_{3}^{2}}{131072} - \frac{235591 D p_{3}}{65536} + \frac{84295 D}{65536} - \frac{30375 p_{3}^{6}}{1048576} - \frac{79137 p_{3}^{5}}{1048576} - \frac{182133 p_{3}^{4}}{524288} + \frac{423051 p_{3}^{3}}{131072} - \frac{115813 p_{3}^{2}}{16384} + \frac{481627 p_{3}}{65536} + y^{5} + y^{3} \left(\frac{5 D^{2}}{32} - \frac{45 p_{3}^{2}}{32} + \frac{17 p_{3}}{8} + \frac{11}{8}\right) + y^{2} \left(- \frac{125 D^{3} p_{3}}{4096} + \frac{65 D^{3}}{2048} - \frac{1125 D^{2} p_{3}^{2}}{4096} + \frac{425 D^{2} p_{3}}{1024} + \frac{275 D^{2}}{1024} - \frac{3375 D p_{3}^{3}}{4096} + \frac{3345 D p_{3}^{2}}{2048} + \frac{3003 D p_{3}}{1024} - \frac{2493 D}{512} - \frac{3375 p_{3}^{4}}{4096} + \frac{1035 p_{3}^{3}}{512} + \frac{2755 p_{3}^{2}}{512} - \frac{2141 p_{3}}{128} + \frac{2417}{256}\right) + y \left(- \frac{125 D^{4} p_{3}}{32768} + \frac{1385 D^{4}}{65536} - \frac{375 D^{3} p_{3}^{2}}{8192} + \frac{5475 D^{3} p_{3}}{16384} - \frac{3225 D^{3}}{8192} - \frac{3375 D^{2} p_{3}^{3}}{16384} + \frac{61155 D^{2} p_{3}^{2}}{32768} - \frac{32251 D^{2} p_{3}}{8192} + \frac{15407 D^{2}}{8192} - \frac{3375 D p_{3}^{4}}{8192} + \frac{73035 D p_{3}^{3}}{16384} - \frac{107455 D p_{3}^{2}}{8192} + \frac{49901 D p_{3}}{4096} - \frac{5533 D}{2048} - \frac{10125 p_{3}^{5}}{32768} + \frac{254745 p_{3}^{4}}{65536} - \frac{119181 p_{3}^{3}}{8192} + \frac{175079 p_{3}^{2}}{8192} - \frac{3591 p_{3}}{256} + \frac{18785}{4096}\right) - \frac{143717}{32768}\]

Solving the Icosahedral Equation#

The last step is to show how the equation \(I(z=z_0) = I_0\) can be inverted to determine \(z_0 := \phi(I=I_0)\) where \(\phi := I^{-1}\). As we shall see, this can only be achieved up to a Mobiüs transformation, but that is sufficient, since once a single value for \(z\) is determined, then all five roots are identified using

\[y_r = \frac{W_r(z_0,1)f(z_0,1)}{H(z_0,1)} \left(\lambda_\pm + \mu_\pm\,\frac{t_r(z_0,1)f^2(z_0,1)}{T(z_0,1)}\right) \,.\]