# Using algebraic topology to prove the Fundamental Theorem of Algebra

The Fundamental Theorem of Algebra says that if $p(t)$ is a non-constant single-variable polynomial over $\mathbb{C}$ with degree $\geq 1$, then there exists at least one $z \in \mathbb{C}$ such that $p(z) = 0$, i.e., the equation $p(t) = 0$ has at least one complex root. Another way of saying the same thing is that every non-constant single-variable polynomial $p(t)$ with complex coefficients has at least one complex zero.
There are many proofs of the Fundamental Theorem of Algebra, including an almost purely algebraic one using Galois Theory and a famous complex analytic one using Rouché’s Theorem. It is well known that the Fundamental Theorem of Algebra can also be proved using a key idea from algebraic topology, namely that homotopic loops have the same winding number around a point. I find this approach intriguing and want to delve into some of its main aspects in this note. The basic idea of the proof is similar to the prototypical problem in algebraic topology of distinguishing between a disc and a disc with a hole in it using loops (i.e., closed paths). In the former case any closed loop can be shrunk until it reduces to a single point whereas in the latter case this is not always possible since the hole gets in the way’. The key idea is that holes in a space can be detected by looking at paths in the space and by smoothly deforming those paths using a continuous function called a homotopy. In the context of proving the Fundamental Theorem of Algebra, the holes’ are the zeros of the polynomials.
Let $\Gamma$ be a path in $\mathbb{C} - \{0\}$ which is specified by means of a parametrization $\gamma(t)$ for $t \in [a, b]$. Intuitively, the winding number of $\Gamma$ around zero is the number of times the path loops around the origin in the complex plane. For example, the path in the diagram below loops around the origin twice (anticlockwise) so has winding number equal to 2.

The proof of the Fundamental Theorem of Algebra based on this idea requires us to be able to determine the winding number of $\Gamma$ directly from its parametrization $\gamma(t)$. This is done by first finding a continuous argument function for $\gamma(t)$. To illustrate the process, consider the closed path in the diagram above, which has parametrization

$\gamma(t) = (2 + \text{sin} \ t)\text{e}^{2it}$

for $t \in [0, 2\pi]$. As the parameter $t$ increases from $0$ to $2 \pi$, the image point $\gamma(t)$ travels through the path $\Gamma$, starting and ending at the point $\gamma(0) = \gamma(2 \pi) = 2$ and looping around the origin twice anticlockwise. We imagine measuring the angular change of a ray emanating from the origin and passing through $\gamma(t)$ as $t$ increases from $0$ to $2 \pi$. The key point is that we want this measure of angular change to increase continuously as $t$ increases. In general, this rules out using the principal arguments of $\gamma(t)$ to measure the angular change because these exhibit a discontinuity at the negative real axis. (The principal argument $\text{Arg}(\gamma(t))$ is the unique argument of $\gamma(t)$ lying in the interval $(-\pi, \pi]$. The principal argument function would therefore jump by $2\pi$ from $\pi$ to $-\pi$ as $\gamma(t)$ crossed the negative real axis, and would thus fail to be continuous). Instead of using $\text{Arg}(\gamma(t))$ to measure the angular change of the ray from the origin, we measure the angular change using a continuous argument function $\theta(t)$ which is such that

$\gamma(t) = |\gamma(t)|\text{e}^{i \theta(t)}$

for $t \in [0, 2\pi]$. For the parametrization $\gamma(t) = (2 + \text{sin} \ t)\text{e}^{2it}$, we see immediately that $|\gamma(t)| = 2 + \text{sin} \ t$ (since $2 + \text{sin} \ t > 0$ for $t \in [0, 2\pi]$). Therefore by inspection we see that one choice of continuous argument function for this case is

$\theta(t) = 2t$

for $t \in [0, 2\pi]$. Compare the behaviour of this continuous argument function with the behaviour of $\gamma(t)$ itself: as $t$ increases from $0$ to $2\pi$, the image point $\gamma(t)$ starts from $\gamma(0) = 2$ and returns to this same point, $\gamma(2\pi) = 2$. However, the continuous argument function $\theta$ increases from $\theta(0) = 0$ to $\theta(2\pi) = 4\pi$, recording the fact that the path $\Gamma$ in the diagram above has wound around the origin twice.

In general, let $\Gamma: \gamma(t) \ (t \in [a, b])$ be a path in $\mathbb{C} - \{0\}$. It is not difficult to prove that we can always find a continuous argument function $\theta(t)$ for $\Gamma$ such that for each $t \in [a, b]$, the value of the function $\theta(t)$ is an argument of $\gamma(t)$ and therefore satisfies

$\gamma(t) = |\gamma(t)|\text{e}^{i \theta(t)}$

or equivalently

$\frac{\gamma(t)}{|\gamma(t)|} = \text{e}^{i \theta(t)}$

Therefore if we are given any path $\Gamma: \gamma(t) \ (t \in [a, b])$ we can always obtain a suitable continuous argument function by expressing $\frac{\gamma(t)}{|\gamma(t)|}$ in the form $\text{e}^{i \theta(t)}$, and then reading off $\theta(t)$ from this. (But note that since $\text{e}^{i \theta(t)} = \text{e}^{i (\theta(t) + 2n\pi)}$ for $n \in \mathbb{Z}$, the continuous argument function is only unique up to the addition of a constant term $2n\pi$. In practice we can simply treat $\theta(t) + 2n\pi$ as being equivalent to $\theta(t)$ for each $n \in \mathbb{Z}$, and thus regard $\theta(t)$ as being limited to the closed interval $[0, 2\pi]$).
As another (slightly more complicated) example, suppose a path $\Gamma$ has parametrization $\gamma(t) = 1 + it$ for $t \in [0, 1]$ and we want to find a continuous argument function for it. We find that

$\frac{\gamma(t)}{|\gamma(t)|} = \frac{1}{\sqrt{1+t^2}} + i \frac{t}{\sqrt{1+t^2}}$

I have sketched the situation in the diagram below:

We have

$\text{cos} \ \theta = \frac{1}{\sqrt{1+t^2}}$

$\text{sin} \ \theta = \frac{t}{\sqrt{1+t^2}}$

and therefore

$\text{tan} \ \theta = t$

which implies

$\theta(t) = \text{arctan} \ t$

Therefore

$\frac{\gamma(t)}{|\gamma(t)|} = \frac{1}{\sqrt{1+t^2}} + i \frac{t}{\sqrt{1+t^2}} = \text{e}^{i \ \text{arctan} \ t}$

and we see that a suitable continuous argument function in this case would be $\theta(t) = \text{arctan} \ t$ for $t \in [0, 1]$. Notice that here it is in fact the case that $\theta(t) = \text{Arg}(\gamma(t))$, but this is OK since the path $\Gamma$ in this example will never cross the negative real axis.

Let us now return to imagining measuring the angular change of a ray emanating from the origin and passing through $\gamma(t)$ along the path $\Gamma: \gamma(t) \ (t \in [a, b])$. The total angular change of the ray is given by $\theta(b) - \theta(a)$ and so it follows that the total number of times $\Gamma$ winds round the origin (i.e., the winding number of $\Gamma$ around zero) is given by

$\text{Wnd}(\Gamma, 0) = \frac{\theta(b) - \theta(a)}{2\pi}$

(because an angular increase of $2 \pi$ corresponds to one full anticlockwise turn around the origin). This is the quantity we use to define the winding number of any path around zero.

To apply all this to proving the Fundamental Theorem of Algebra, let’s begin by formally defining the concept of a loop in $\mathbb{R}^2$ as a path $\Gamma$ which is specified by means of a parametrization $\gamma(t)$ for $t \in [0, 1]$ such that $\gamma(0) = \gamma(1)$. In other words, a loop is a path whose initial point is equal to its terminal point. Since the unit interval $[0, 1]$ is homeomorphic to the interval $[0, 2\pi]$, we could equally define a loop as a path $\Gamma: \gamma(t) \ (t \in [0, 2\pi])$ such that $\gamma(0) = \gamma(2\pi)$. Furthermore, since the unit circle $\mathbb{S}$ is the quotient space obtained by gluing together (i.e., regarding as equivalent) the boundary points $0$ and $2\pi$ in the interval $[0, 2\pi]$, we can also regard a loop as a path whose parametrization is an image of the unit circle, $\Gamma : \gamma(\mathbb{S})$. Notice that a unit circle with centre the origin can be specified as a parametrized path $\mathbb{S}: f(t) = \text{e}^{i t} \ (t \in [0, 2 \pi])$. The continuous argument function in this case is simply $\theta(t) = t$ and so the winding number of $\mathbb{S}$ around the origin is

$\text{Wnd}(\mathbb{S}, 0) = \frac{2\pi - 0}{2\pi} = 1$

Analogously, the winding number of a loop $\Gamma : \gamma(\mathbb{S})$ not passing through the origin and with continuous argument function $\theta(t)$ is given by

$\text{Wnd}(\Gamma, 0) = \frac{\theta(2\pi) - \theta(0)}{2\pi}$

Using terminology from algebraic topology, we shall say for our purposes here that two loops winding around the origin are homotopic if one loop can be continuously deformed into the other, making sure that neither of them ever passes through the origin. This continuous deformation is achieved through a continuous function (called a homotopy) of the form

$H: \mathbb{S} \times [0, 1] \longrightarrow \mathbb{R}^2 \backslash \{(0, 0)\}$

which defines a continuously varying family of loops by mapping each point on the unit circle together with a parameter $\epsilon \in [0, 1]$ on to a loop $\Gamma_{\epsilon}: \gamma_{\epsilon}(t)$. We can think of the parameter $\epsilon \in [0, 1]$ as a `slider control’ that allows us to smoothly transition between different loops $\Gamma_{\epsilon}$ as the slider moves from $0$ to $1$.

A key point which is crucial to the proof of the Fundamental Theorem of Algebra is the following:

two loops are homotopic if and only if they have the same winding number

This can be proved straightforwardly but it is also intuitively obvious. If we imagine a loop winding around the origin a certain number of times, and then imagine continuously deforming this loop in such a way that no part of the loop ever passes through the origin, there is no reason to think that the winding number of the loop will change as a result of the deformation. (However, the winding number CAN change if we deform the loop in such a way that it passes through the origin). Therefore, if we succeed in defining a homotopy $H$ between loops as described above, then we must have

$\text{Wnd}(\Gamma_{\epsilon}, 0) = \text{Wnd}(\Gamma_0, 0)$

for all $\epsilon \in [0, 1]$, and in particular we must have

$\text{Wnd}(\Gamma_1, 0) = \text{Wnd}(\Gamma_0, 0)$

This result can be used directly to obtain a proof of the Fundamental Theorem of Algebra by contradiction as follows. Let $p(t)$ be a non-constant single-variable polynomial over $\mathbb{C}$ with degree $n \geq 1$. We can assume without loss of generality that the highest coefficient of $p(t)$ is $1$. We assume that $p(t)$ has no zeros in $\mathbb{C}$ and obtain a contradiction by proposing a homotopy $H$ which for each $\epsilon \in [0, 1)$ produces a loop $\Gamma_{\epsilon}$ with parametrization

$\gamma_{\epsilon}(t) = \frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$

for $t \in [0, 2\pi]$ where

$r(\epsilon) = \frac{\epsilon}{1 - \epsilon}$

and for $\epsilon = 1$ it produces a loop $\Gamma_1$ with parametrization

$\gamma_1(t) = \text{e}^{nit}$

for $t \in [0, 2\pi]$. Thus, $\Gamma_{\epsilon}$ is defined for all $\epsilon \in [0, 1]$. The assumption that $p(z)$ is non-zero for all $z \in \mathbb{C}$ implies that the loop defined by each $\gamma_{\epsilon}$ never meets the origin for any $\epsilon \in [0, 1]$ since $\gamma_{\epsilon}(t) = 0$ iff $p(r(\epsilon)\text{e}^{it}) = 0$. Therefore if we can prove that the proposed homotopy above is indeed a continuous function of $\epsilon$, it would necessarily have to be the case that $\text{Wnd}(\Gamma_1, 0) = \text{Wnd}(\Gamma_0, 0)$. It is obvious that $\gamma_{\epsilon}(t) = \frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$ is a continuous function of $\epsilon$ over $[0, 1)$, and it only remains to prove that it is continuous at $\epsilon = 1$. To do this, let us specify the polynomial in question explicitly as

$p(t) = t^n + a_{n-1}t^{n-1} + \cdots + a_0$

Then we can write out the parametrization $\gamma_{\epsilon}(t)$ explicitly as

$\gamma_{\epsilon}(t) = \frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1} = \frac{r(\epsilon)^n}{r(\epsilon)^n + 1}\text{e}^{nit} + \frac{a_{n-1}r(\epsilon)^{n-1}\text{e}^{(n-1)it} + \cdots + a_0}{r(\epsilon)^n + 1}$

for $t \in [0, 2\pi]$. As $\epsilon \shortrightarrow 1$, the function $r(\epsilon)$ tends to $+\infty$, so as $\epsilon \shortrightarrow 1$ the second term on the right-hand side tends to $0$ and the first term tends to $\text{e}^{nit}$. Therefore for each $t$ we have

$\lim_{\epsilon \shortrightarrow 1} \gamma_{\epsilon}(t) = \gamma_1(t)$

The convergence is uniform in $t$ (i.e., the convergence is not affected by the value of $t$ in any way) and so $\gamma_{\epsilon}(t)$ is a continuous function of $\epsilon$ over the whole of $[0, 1]$. Therefore the proposed $H$ is indeed a homotopy which defines a family of loops which can be smoothly deformed into each other without ever passing through the origin (under the assumption that $p(z)$ is non-zero for all $z \in \mathbb{C}$). Therefore it must be the case that $\text{Wnd}(\Gamma_1, 0) = \text{Wnd}(\Gamma_0, 0)$. But this last statement is not true here! We have

$\text{Wnd}(\Gamma_1, 0) = \frac{n2\pi - 0}{2\pi} = n$

(since the continuous argument function of $\gamma_1(t) = \text{e}^{nit}$ is $nt$) whereas

$\text{Wnd}(\Gamma_0, 0) = 0$

(since $\gamma_0(t) = a_0$ is a constant with a constant argument function, so its winding number must be zero). This contradiction means that the assumption that $p(z)$ is non-zero for all $z \in \mathbb{C}$ must have been false, so the Fundamental Theorem of Algebra must be true.

To summarise, we have taken a circle in the complex plane of the form $r(\epsilon)\text{e}^{it}$ for $t \in [0, 2\pi]$ and have used every point $z$ on the circle to evaluate a polynomial $p(z)$. Since the polynomial is a continuous function, we ended up with a continuous closed loop in the complex plane. The degree of $p(z)$ was assumed to be $n$, so as a result of the transformation $\frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$ we had a term $\text{e}^{nit}$ which dominated all other terms when $r(\epsilon)$ became very large (i.e., when $\epsilon$ approached $1$). The winding number of the transformed loop was then $\frac{n2\pi - 0}{2\pi} = n$, so the transformed loop wound around the origin the same number of times as as the degree of $p(z)$. On the other hand, when we let $r(\epsilon)$ go to zero (i.e., when $\epsilon$ approached $0$), only the constant term in $p(z)$ remained in the transformation $\frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$, so the winding number of the transformed loop was zero. But if $\frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$ never passes through the origin, how can the winding number change as we change the size of $r(\epsilon)$? This contradiction proves that $\frac{p(r(\epsilon)\text{e}^{it})}{r(\epsilon)^n + 1}$ must pass through the origin as we vary $\epsilon$ in the interval $[0, 1]$, and therefore $p(z)$ must be zero for some $z \in \mathbb{C}$ as stated by the Fundamental Theorem of Algebra.

# Recovering the original cubic equation from Cardano’s nested surd formula

I was reading a lovely paper about Cardano’s formula for solving cubic equations (Hewitt, P, 2009, Cardano’s Formulas or A Pivotal Moment in the History of Algebra). For a general cubic

$y^3 + py + q = 0$

the solutions are given by Cardano’s nested surd formula as

$y = \sqrt[3]{-\frac{q}{2} + \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}} + \sqrt[3]{-\frac{q}{2} - \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}}$

It is well known (and not really surprising, looking at the formula) that this produces cumbersome and impractical-looking solutions even for simple cubic equations, so it is regarded as being largely of historical interest rather than being useful in practice. For example, page 4 of Hewitt’s paper considers the simple cubic equation

$x^3 + 3x - 14 = 0$

which can be factorised to read $(x - 2)(x^2 + 2x + 7) = 0$ and therefore has the single solution $x = 2$ (the quadratic component does not have any real roots). If we were to apply Cardano’s formula to this simple equation, we would get the horrible-looking answer

$\sqrt[3]{7 + 5\sqrt{2}} + \sqrt[3]{7 - 5\sqrt{2}}$

which actually equals 2, as the paper shows on page 6 by using a Pell’s equation approach.

After reading Hewitt’s paper I was idly playing with Cardano’s formula during a train journey, applying it to simple cubic equations to produce horrible-looking solutions like the one above, and the following question occurred to me: Suppose you did not know anything about Cardano’s formula, and you were faced with one of these horrible-looking nested surd expressions for the first time. Would it be possible to work backwards and deduce its value by manipulating it algebraically to obtain the (hopefully simple) cubic equation from which it came? I found a way of doing this during my train journey and want to record it here as another possible method of deducing the values of complicated-looking nested surds. (The great Indian mathematician Ramanujan was fond of nested surd formulas as can be seen in this page from his notebooks:

I have used them myself in maths lessons to enthuse students, most of whom find them fascinating. For example, consider the following infinitely nested surds:

Can you deduce their values by manipulating them algebraically?)

To illustrate the approach I was playing with during my train journey, suppose you don’t know anything about Cardano’s formula and you are simply presented with the nested surd formula

$\sqrt[3]{-18 + \sqrt{325}} + \sqrt[3]{-18 - \sqrt{325}}$

Can you find the value of this horrible-looking expression by manipulating it algebraically, without referring in any way to Cardano’s formula? (Have a go before reading on).

I found that one can find its value using some algebra as follows. Let

$y = \sqrt[3]{-18 + \sqrt{325}} + \sqrt[3]{-18 - \sqrt{325}}$

Then

$y^3 = -36 + 3\sqrt[3]{(18^2 + 325 - 36\sqrt{325})(-18 - \sqrt{325})} + 3\sqrt[3]{(18^2 + 325 + 36\sqrt{325})(-18 + \sqrt{325})}$

and after a bit more manipulation this reduces to

$y^3 = -36 + 3\sqrt[3]{(18 - \sqrt{325})} + 3\sqrt[3]{(18 + \sqrt{325})}$

But this is just

$y^3 = -36 - 3y$

so we end up with the cubic equation

$y^3 + 3y + 36 = 0$

which factorises as

$(y + 3)(y^2 - 3y + 12) = 0$

and therefore has the single solution $y = -3$ (the quadratic component does not have any real solutions). Without referring to Cardano’s formula in any way we have therefore deduced that

$\sqrt[3]{-18 + \sqrt{325}} + \sqrt[3]{-18 - \sqrt{325}} = -3$