Explore elementary complex functions with stunning domain coloring visualizations
A complex function turns one plane into another, too many dimensions for an ordinary graph. Domain coloring paints each input point by its output instead.
Choose a function and read its colors: hue shows the phase (argument), brightness the magnitude. Zeros appear black, poles appear white.
🎨 How to Read Domain Coloring:
Each point in the plot represents an input value z. The color at that point shows the output f(z):
Notice how colors cycle around zeros and poles, revealing the function's structure!
Complex functions map the complex plane to itself: f: ℂ → ℂ. Unlike real functions that we can graph as curves, complex functions need a different visualization technique.
Enter domain coloring: we encode the output using color! The hue represents the phase (argument) and the brightness represents the magnitude. This creates stunning visualizations that reveal the structure of complex functions.
Click any function to open it up. Compare where exp, sine, log, and the powers put their zeros and poles, and where their colors repeat.
Click any function to see it in detail:
📚 Elementary Functions:
These are the fundamental building blocks of complex analysis. Each has unique properties revealed by domain coloring. Notice patterns like:
Choose a polynomial and count the black points. A degree-n polynomial always has exactly n roots in the complex plane, counting multiplicity.
Black points show zeros where p(z) = 0
Orange points show the 2 roots
📐 Fundamental Theorem of Algebra:
Every non-constant polynomial of degree n has exactly n roots in the complex numbers (counting multiplicity). This is why complex numbers are called algebraically closed!
Example: The polynomial z² - 1 has degree 2, so it must have exactly 2 roots.
🎨 Domain Coloring Insight:
Notice how colors cycle around each zero in the domain coloring plot. The number of times colors wrap around indicates the multiplicity of the root. Simple roots have colors wrapping once.
Choose log(z), √z, or the cube root and find the line where the colors jump. That seam is the branch cut that makes the function single-valued.
The sharp color discontinuity along the negative real axis is the branch cut
Look carefully at the negative real axis (left side of the plot). Notice the sharp discontinuity where colors abruptly jump from one value to another.
This discontinuity is the branch cut - a line where we artificially make the function single-valued.
🌀 Why Multi-valued?
The logarithm is multi-valued because ez is periodic with period 2πi. This means:
log(z) = log|z| + i·arg(z) + 2πik for any integer k
We choose the principal branch where -π < arg(z) ≤ π, creating a discontinuity at arg(z) = π (the negative real axis).
⚠️ Branch Cuts Are Necessary:
Without branch cuts, these functions would be discontinuous everywhere (technically, they wouldn't be functions at all!). The branch cut is a trade-off: we accept one line of discontinuity to have a single-valued function everywhere else.
Advanced: The full picture involves Riemann surfaces, where multi-valued functions become single-valued on a multi-sheeted surface!
Spot a mistake or have an idea?