Is there a "complete the cube" process for the cubic?

There is a very general method of solving polynomai equations using symmetric polynomials and Lagrange resolvents. However, it isn't in any way geometric, and the intuition has more to do with group theory.

A polynomial of three variables f(x,y,z) is called a symmetric polynomial if the order of the arguments doesn't matter, i.e. f(x,y,z)=f(x,z,y)=f(y,x,z)=f(y,z,x)=f(z,x,y)=f(z,y,x). Another concept we need is the notion of a cyclic polynomial, which is a polynomial satisfying f(x,y,z)=f(y,z,x)=f(z,y,x). In other words it is unchanged if you take some of the arguments from the beginning and move them to the end. However a cyclic polynomial does not necessarily satisfy f(x,y,z)=f(y,x,z).

Say we want to solve the cubic equation T3+aT2+bT+c=0. Let's call the three solutions u, v, and w. Then T3+aT2+bT+c=(T-u)(T-v)(T-w). Equating coefficients gives a=-(u+v+w), b=uv+vw+uw and c=-(uvw). The functions u+v+w, uv+vw+uw, and uvw are called elementary symmetric functions.

One question we might ask is which polynomial functions of (u,v,w) we can compute. Certainly we can compute some, e.g. we know u+v+w=-a. If we can compute the value of any polynomial function of (u,v,w), then we are done since setting f(x,y,z)=x gives f(u,v,w)=u, so we will know u (and similarly for v and w).

We already know how to evaluate the elementary symmetric functions at (u,v,w). The fundamental theorem of symmetric polynomials tells us how to evaluate any symmetric polynomial at (u,v,w) (even though we don't yet know what u, v, and w are). The next step will be to use Lagrange resolvents to allow us to compute the value of any cyclic polynomial at (u,v,w). We will then use Lagrange resolvents again to evaluate an arbitrary polynomial at (u,v,w), which will tell us the value of the roots u, v, and w.

Let f be a cyclic polynomial of 3 variables. If f(x,y,z)=f(y,x,z) then it is easy to check that f is already symmetric. So the obvious way to build a symmetric polynomial out of f is to consider the function g(x,y,z)=f(x,y,z)+f(y,x,z), which you can check is indeed symmetric. You might also be tempted to consider h(x,y,z)=f(x,y,z)-f(y,x,z) (g and h are called Lagrange resolvents). But h(x,y,z)=-h(y,x,z) and the minus sign means h is not symmetric. But squaring eliminates the minus sign so h2 is symmetric. Since we know how to evaluate symmetric polynomials at (u,v,w), we can find g(u,v,w) and h2(u,v,w). By taking a square root we can find h(u,v,w). Using our knowledge of g(u,v,w) and h(u,v,w) we can find f(u,v,w) by solving a linear system of equations. So now we know how to compute any cyclic polynomial of the roots.

Now let f be any polynomial of three variables (e.g. f(x,y,z)=x). We wish to compute f(u,v,w). It is easy to check the function L_0(x,y,z)=f(x,y,z)+f(y,z,x)+f(z,x,y) is a cyclic polynomial. Let ω be a primitive cube root of unity, i.e. choose ω so ω is not 1 but ω3=1. We will define L_1(x,y,z)=f(x,y,z)+ωf(y,z,x)+ω2*f(z,x,y). We also define L_2(x,y,z)=f(x,y,z)+ω2f(y,z,x)+ω4f(z,x,y). L_0, L_1, and L_2 are called the Lagrange resolvents. Unfortunately, L_1 and L_2 are not quite cyclic polynomials. For instance L_1(z,x,y)=ωL_1(x,y,z). But L_13 and L_23 are cyclic polynomials. The previous paragraph lets us compute L_0(u,v,w), L_13(u,v,w), and L_23(u,v,w). After taking cube roots, we can compute L_0(u,v,w), L_1(u,v,w), and L_2(u,v,w). By solving a linear system of equations we can find f(u,v,w) (it also gives f(v,w,u) and f(w,u,v), but we don't care about these). So we now have a recipe for computing f(u,v,w) for any polynomial. By using the polynomial f(x,y,z)=x we get the root u of our cubic polynomial.

If you know a bit of group theory this can easily be generalized. To solve a polynomial of degree n (assuming Sn is a solvable group), you start by picking a filtration F_0, ..., F_k where F_0=1 and F_k=S_n and for each i, F_i is a normal subgroup of F{i+1} such that F{i+1}/F_i is cyclic. Now the fundamental theorem of symmetric polynomials lets you compute the value of any symmetric (i.e. F_k-invariant) polynomial at the roots. Suppose for some i you know how to evaluate any F_i-invariant polynomial at the roots. Then the Lagrange resolvent trick lets you compute the value of any F{i-1}-invariant polynomai at the roots. By induction we have an algorithm for computing any F_0-invariant polynomial at the roots. But since F_0 is the trivial group, f(x_1,...,x_n)=x_1 is F_0-invariant, so this solves the equation. However, this technique does not work if n>=5 since then we cannot find a suitable filtration of S_5.

/r/math Thread