20
$\begingroup$

I have a hard time visualizing the fundamental theorem of algebra, which says that any polynomial has at least one zero, superficially I know this is true as every polynomial must have either an imaginary zero or real zero, but how do I visualize this in the complex plane?

For example if we have a real polynomial, we know that it is zero when it crosses the x axis this is because $y = 0$, however if $f(z) = 0$, then it must be the case that $f(z) = w = u+iv = 0+i0=0$ therefore every zero in $f(z)$ passes the origin? That does not make sense to me, what am I missing here?

$\endgroup$
2
  • 4
    $\begingroup$ It is really hard to imagine complex functions as a graph, because they map a 2D space to a 2D space, and so the graph would have to be 4D. And most of us (perhaps all of us) are simply incapable of visualizing this. $\endgroup$ Dec 15, 2013 at 5:49
  • 2
    $\begingroup$ I often find that the colorful graphs are actually pretty unhelpful for visualizing how functions act on the complex plane. In general, I feel like it's better to just think of them as functions rather than thinking about their graphs - a zero of $f(z)$ is just a point it sends to $0$. $\endgroup$
    – user98602
    Dec 15, 2013 at 5:52

6 Answers 6

23
$\begingroup$

I am new to Complex Analysis but this is the impression I have so far.

Functions of the form $ f:\mathbb{C} \to \mathbb{C} $ can be viewed as "warping" or "distorting" a Complex Plane.

In fact the more "well behaved" Complex Functions are exactly the same as Conformal Mappings of a Plane.

Given that, a Polynomial is just a specific way of distorting the regular Complex Plane.

First we take a look at the regular Complex Plane. Noting that everything is simply uniformly increasing in value as we move away from the Origin.

Default Complex Plane

Taking a 2nd Degree Polynomial we see the result is very different.

The first List gives the coefficents, plotted as red dots.

The second List gives the roots, plotted as blue dots.

enter image description here

Notice how the Roots seem to act like the center of a swirling vortex "sucking" the rest of the Plane in.

The polynomial has "warped" the Complex Plane in such a way that the two points corresponding to the two roots have become singularities and poles.

If you are familiar with physics this is in fact very similar to models of magnetic dipoles. See for example: Why does the graph of $e^{1/z}$ look like a dipole?

Here are more examples of Stream Plots of Polynomials from Degree 0 to 7.

More Examples

As you can see they start to form a circle around the origin. (Though note that the Roots of Polynomials with Coefficients other than one don't necessarily behave this way.)

Note that there is another (more popular?) method of visualizing complex functions aswell: https://mathematica.stackexchange.com/questions/7275/how-can-i-generate-this-domain-coloring-plot.

And finally here is the janky Mathematica code I used to generate these:

CtC[f_] := Column[{
range = 5;
c = CoefficientList[f, z],
r = List @@ NRoots[f == 0, z][[All, 2]],
z = (x + I y);
Style[
 Labeled[
  Show[
   StreamPlot[{Re[f], Im[f]}, {x, -range, range}, {y, -range, 
     range}, PlotRange -> range, AspectRatio -> Automatic, 
    ImageSize -> 300, StreamPoints -> Fine],
   ListPlot[
    {Transpose[{Re[r], Im[r]}], Transpose[{Re[c], Im[c]}]}, 
    Axes -> False,
    PlotRange -> {{-range, range}, {-range, range}}, 
    AspectRatio -> Automatic, ImageSize -> Full,
    PlotStyle -> {Directive[Blue, PointSize[Large]], 
      Directive[Red, PointSize[Large]]}]
   ],
  Row[{"Stream Plot of ", f // TraditionalForm}], Top],
 Gray, FontFamily -> {"Calibri", 14}],
 Clear[z, c, r]
}];

Update:

Since people seem to like the Stream Plots I tweaked the visuals a bit.

The Roots are now red dots and the Coefficents grey dots.

prettier stream plots

The last two are also examples of Polynomials with Coefficients other than 1.

Updated janky Mathematica code:

CtC[f_] := Column[{
" ",
range = 5;
c = CoefficientList[f, z];
r = List @@ NRoots[f == 0, z, PrecisionGoal -> 1][[All, 2]];
Style[Column[{Row[{" ", c, " "}], Row[{" ", r, " "}]}], Gray, 
 FontFamily -> {"Calibri", 14}],
z = (x + I y);
Style[
 Labeled[Show[
   StreamPlot[{Re[f], Im[f]}, {x, -range, range}, {y, -range, 
     range}, PlotRange -> range, AspectRatio -> Automatic, 
    ImageSize -> 300, StreamPoints -> Fine, 
    StreamColorFunction -> (Hue[2 ArcTan[#5]/Pi + 0.6] &), 
    StreamColorFunctionScaling -> False], 
   ListPlot[{Transpose[{Re[r], Im[r]}], 
     Transpose[{Re[c], Im[c]}]}, Axes -> False, 
    PlotRange -> {{-range, range}, {-range, range}}, 
    AspectRatio -> Automatic, ImageSize -> Full, 
    PlotStyle -> {Directive[Red, PointSize[Large]], 
      Directive[Gray, PointSize[Large]]}]], 
  Row[{" ", "Stream Plot of ", f // TraditionalForm, " "}], Top], 
 Gray, FontFamily -> {"Calibri", 14}],
Clear[z, c, r]
}, Center, Background -> Black];

Oh and for those who like this approach over the conventional Domain Coloring might be interested in Pólya plots as discussed here: https://mathematica.stackexchange.com/questions/4244/visualizing-a-complex-vector-field-near-poles

$\endgroup$
1
  • 1
    $\begingroup$ +1. These pictures are very nice jcelios. I greatly prefer this to the colourmap representation. This answer was illuminating. $\endgroup$ Nov 17, 2014 at 21:38
12
$\begingroup$

Here's another approach to visualizing the zeroes of a complex function $f(z)$. The idea is to plot contour diagrams of both the real and imaginary parts of $f(x+iy)$. The points of intersection of the zero contours are exactly the roots of $f$. Furthermore, the diagrams tend to look pretty cool as the real and imaginary contours meet at right angles.

As a simple example, consider $f(z)=z^2-1$, so that $$f(x+iy) = x^2-y^2-1 + 2xy\,i.$$ Now, the contours of the real part $u(x,y)=x^2-y^2-1$ are the blue hyperbolas below and the contours of the imaginary part are the gold hyperbolas. The zero contours are bold and we see that the real and imaginary zero contours intersect at the points $\pm1$, which are, of course, the roots of $f$.

enter image description here

Here are a few more examples.

enter image description here

Note also that you can see the multiplicity of the root by counting the number of intersections. For example, $f(z)=z^2(z-1)^3$ has a root of multiplicity 2 and another of multiplicity 3.

enter image description here

$\endgroup$
6
  • 2
    $\begingroup$ Excellent pictures, as usual! $\endgroup$
    – lhf
    Nov 19, 2014 at 2:44
  • $\begingroup$ (+1) Can I ask that what was the software that you made these pictures with? :) $\endgroup$ Jan 17, 2016 at 18:41
  • 1
    $\begingroup$ @H.R. I used Mathematica. I think a lot of other tools could be used, though. $\endgroup$ Jan 17, 2016 at 18:45
  • $\begingroup$ @MarkMcClure: I use MAPLE as my CAS but it is no good at plotting! :( I may change my CAS to wolfram some day. Thanks for the response. :) $\endgroup$ Jan 17, 2016 at 18:46
  • $\begingroup$ @MarkMcClure How do you make the lines get thinner and less brighter when they get far? $\endgroup$
    – Red Banana
    Mar 23, 2021 at 3:47
2
$\begingroup$

If $f$ is a polynomial and $z\in\mathbb{C}$ then $f(z)$ also lives in $\mathbb{C}$ so we can not really plot $f$ because we need four dimensions (2 for the domain and 2 for the image).

But pick $z=a+b\,i$ fix $b$ and let's vary $a$ and plot the norm of $f(a+b\,i)$, which is a real number. Notice the if we change $b$ then we get another curve. Actually we have a continuum of these curves! The FTA says that at least one of this curves (and we have lots of them!) crosses zero.

Note: the norm in $\mathbb{C}$ is $f(z)=x+i\,y$ then $|f(z)|=\sqrt{x^2+y^2}$

$\endgroup$
2
$\begingroup$

I read a part of a book called "Visual Complex Analysis" by Tristan Needham, and in it there was a visualization of complex polynomial. I highly recommend looking into that.

We know from the polar form of complex numbers that the product of complex numbers has the modulus equal to the product of the moduli of the factors and an argument equal to the sum of the arguments of the factors. So, if we have a polynomial of the form $f(z)=(z-c_{1})(z-c_{2})(z-c_{3})$ (for example), then we know that if we have a $z$ sufficiently close to a root ($c_{1}$,$c_{2}$, or $c_{3}$), then the modulus of $f(z)$ will also be small.

$\endgroup$
1
  • $\begingroup$ That s an excellent book! Im reading it lately :) $\endgroup$ Dec 18, 2018 at 1:04
1
$\begingroup$

The content of the fundamental theorem of algebra is that constant polynomials $p: \Bbb C \to \Bbb C$ are surjective. By the division algorithm we know that a polynomial of degree $n$ has $n$ roots counting multiplicity. Thus, I like to think of polynomials as covering maps. A polynomial $p$ defines a ramified $n$-fold cover of the complex plane by itself. That is, for each $c$, there are $n$ points $z$ such that $f(z)=c$, counted with multiplicity. The only time we have multiplicity is when $f(z)-c$ has repeated roots, which happens when $(f(z)-c)$ and $(f(z)-c)'=f'(z)$ share a root. Thus it happens at the roots of $f'(z)$, of which there are at most $n-1$. Thus polynomials define a ramified cover of $\Bbb C$ by itself ramified at a set of at most $n-1$ points.

$\endgroup$
1
$\begingroup$

See these:

Try an interactive demo at http://www.math.osu.edu/~fowler.291/phase/.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .