The Fundamental Theorem of Algebra says that if is a non-constant single-variable polynomial over with degree , then there exists at least one such that , i.e., the equation has at least one complex *root*. Another way of saying the same thing is that every non-constant single-variable polynomial 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 be a path in which is specified by means of a parametrization for . Intuitively, the winding number of 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 directly from its parametrization . This is done by first finding a *continuous argument function* for . To illustrate the process, consider the closed path in the diagram above, which has parametrization

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

for . For the parametrization , we see immediately that (since for ). Therefore by inspection we see that one choice of continuous argument function for this case is

for . Compare the behaviour of this continuous argument function with the behaviour of itself: as increases from to , the image point starts from and returns to this same point, . However, the continuous argument function increases from to , recording the fact that the path in the diagram above has wound around the origin twice.

In general, let be a path in . It is not difficult to prove that we can *always* find a continuous argument function for such that for each , the value of the function is an argument of and therefore satisfies

or equivalently

Therefore if we are given any path we can always obtain a suitable continuous argument function by expressing in the form , and then reading off from this. (But note that since for , the continuous argument function is only unique up to the addition of a constant term . In practice we can simply treat as being equivalent to for each , and thus regard as being limited to the closed interval ).

As another (slightly more complicated) example, suppose a path has parametrization for and we want to find a continuous argument function for it. We find that

I have sketched the situation in the diagram below:

We have

and therefore

which implies

Therefore

and we see that a suitable continuous argument function in this case would be for . Notice that here it is in fact the case that , but this is OK since the path 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 along the path . The total angular change of the ray is given by and so it follows that the total number of times winds round the origin (i.e., the winding number of around zero) is given by

(because an angular increase of 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 as a path which is specified by means of a parametrization for such that . In other words, a loop is a path whose initial point is equal to its terminal point. Since the unit interval is homeomorphic to the interval , we could equally define a loop as a path such that . Furthermore, since the unit circle is the quotient space obtained by gluing together (i.e., regarding as equivalent) the boundary points and in the interval , we can also regard a loop as a path whose parametrization is an image of the unit circle, . Notice that a unit circle with centre the origin can be specified as a parametrized path . The continuous argument function in this case is simply and so the winding number of around the origin is

Analogously, the winding number of a loop not passing through the origin and with continuous argument function is given by

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

which defines a continuously varying family of loops by mapping each point on the unit circle together with a parameter on to a loop . We can think of the parameter as a `slider control’ that allows us to smoothly transition between different loops as the slider moves from to .

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 between loops as described above, then we must have

for all , and in particular we must have

This result can be used directly to obtain a proof of the Fundamental Theorem of Algebra by contradiction as follows. Let be a non-constant single-variable polynomial over with degree . We can assume without loss of generality that the highest coefficient of is . We assume that has no zeros in and obtain a contradiction by proposing a homotopy which for each produces a loop with parametrization

for where

and for it produces a loop with parametrization

for . Thus, is defined for all . The assumption that is non-zero for all implies that the loop defined by each never meets the origin for any since iff . Therefore if we can prove that the proposed homotopy above is indeed a continuous function of , it would necessarily have to be the case that . It is obvious that is a continuous function of over , and it only remains to prove that it is continuous at . To do this, let us specify the polynomial in question explicitly as

Then we can write out the parametrization explicitly as

for . As , the function tends to , so as the second term on the right-hand side tends to and the first term tends to . Therefore for each we have

The convergence is uniform in (i.e., the convergence is not affected by the value of in any way) and so is a continuous function of over the whole of . Therefore the proposed 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 is non-zero for all ). Therefore it must be the case that . But this last statement is not true here! We have

(since the continuous argument function of is ) whereas

(since is a constant with a constant argument function, so its winding number must be zero). This contradiction means that the assumption that is non-zero for all 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 for and have used every point on the circle to evaluate a polynomial . Since the polynomial is a continuous function, we ended up with a continuous closed loop in the complex plane. The degree of was assumed to be , so as a result of the transformation we had a term which dominated all other terms when became very large (i.e., when approached ). The winding number of the transformed loop was then , so the transformed loop wound around the origin the same number of times as as the degree of . On the other hand, when we let go to zero (i.e., when approached ), only the constant term in remained in the transformation , so the winding number of the transformed loop was zero. But if never passes through the origin, how can the winding number change as we change the size of ? This contradiction proves that must pass through the origin as we vary in the interval , and therefore must be zero for some as stated by the Fundamental Theorem of Algebra.