Complex Analysis
Roots of Unity
The n complex solutions to z^n = 1 — vertices of a regular polygon, generators of cyclic symmetry, engine of the FFT
The n-th roots of unity are the n complex solutions to z^n = 1. They sit at the vertices of a regular n-gon inscribed in the unit circle, form a cyclic group under multiplication, and power the Fast Fourier Transform.
- Definitionω_k = e^(2πik/n), k = 0, 1, ..., n−1
- CountExactly n distinct roots
- SumΣω_k = 0 for n ≥ 2
- Product∏ω_k = (−1)^(n+1)
- Group structureCyclic group of order n, isomorphic to ℤ/nℤ
- Primitive countEuler's totient φ(n)
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
The defining equation
An n-th root of unity is any complex number z satisfying:
z^n = 1
By the fundamental theorem of algebra, the polynomial z^n − 1 has exactly n complex roots. Finding them is direct in polar form. Write z = re^(iθ). Then:
z^n = r^n · e^(inθ) = 1 = 1 · e^(i·0)
For these to match, we need r^n = 1 (so r = 1, since r is non-negative real) and nθ = 2πk for some integer k. Solving for θ:
θ = 2πk/n, k = 0, 1, 2, ..., n−1
(Larger k just repeat the same n points.) So the n-th roots of unity are:
ω_k = e^(2πik/n) = cos(2πk/n) + i sin(2πk/n), k = 0, 1, ..., n−1
Geometry — vertices of a regular n-gon
All n roots have modulus 1, so they lie on the unit circle. Their arguments are evenly spaced at intervals of 2π/n. They form the vertices of a regular n-gon, with one vertex anchored at z = 1.
For n = 6 (hexagon), the roots are at 0°, 60°, 120°, 180°, 240°, 300°:
imag
│
ω₂ ▪ ▪ ω₁
╲ │ ╱
│ <-- unit circle
ω₃ ▪──────┼──────▪ ω₀ = 1
│
╱ │ ╲
ω₄ ▪ ▪ ω₅
│
Take ω = ω₁ = e^(2πi/n). Every other root is a power: ω_k = ω^k. So the n roots are 1, ω, ω², ..., ω^(n−1), and they cycle: ω^n = 1, ω^(n+1) = ω. They form a cyclic group of order n under multiplication.
Primitive roots — generators
A root is primitive if its powers hit all n roots before repeating. ω = e^(2πi/n) is always primitive. More generally, ω^k is primitive iff gcd(k, n) = 1.
Example, n = 6: the roots are 1, ω, ω², ω³, ω⁴, ω⁵. Of these, ω and ω⁵ are primitive (their powers cycle through all 6); ω² and ω⁴ have order 3; ω³ = −1 has order 2; 1 has order 1.
The number of primitive n-th roots equals Euler's totient φ(n):
n primitive roots φ(n)
1 {1} 1
2 {−1} 1
3 {ω, ω²}, where ω = e^(2πi/3) 2
4 {i, −i} 2
5 {ω, ω², ω³, ω⁴} 4
6 {ω, ω⁵} 2
12 {ω, ω⁵, ω⁷, ω¹¹} 4
Why the roots sum to zero
For n ≥ 2, the sum of all n-th roots of unity is 0. Two proofs:
Algebraic. The polynomial z^n − 1 = (z − 1)(z^(n−1) + z^(n−2) + ... + z + 1). The roots of the second factor are exactly ω, ω², ..., ω^(n−1). By Vieta's formulas, the sum of these n−1 roots is 0 (coefficient of z^(n−2) divided by the leading coefficient). Adding back the root 1 gives 1 + (sum) = 1 + (−1) = 0... wait, the sum of the n−1 roots is the negative of the next coefficient over the leading: that coefficient is also 1, so sum = −1, plus the root 1 we removed: total = 0.
Geometric. The roots are vertices of a regular n-gon centered at the origin. By symmetry, their centroid is the center. The centroid of n equally-weighted points is their average; if the average is 0, the sum is 0.
n-th roots of unity vs general n-th roots
| n-th roots of unity | n-th roots of arbitrary z | |
|---|---|---|
| Equation | z^n = 1 | z^n = w |
| Count | n | n |
| Modulus | 1 (all on unit circle) | |w|^(1/n) (all on circle radius |w|^(1/n)) |
| Argument | 2πk/n | (arg(w) + 2πk)/n |
| Geometry | Regular n-gon at unit circle | Regular n-gon at circle of radius |w|^(1/n) |
| Group structure | Cyclic group ℤ/nℤ | Coset of the unit roots |
| One specific root | 1 always works | Principal root |w|^(1/n)·e^(i·arg(w)/n) |
| Sum over all roots | 0 (for n ≥ 2) | 0 (for n ≥ 2) |
Application — Fast Fourier Transform
The Discrete Fourier Transform of a length-n sequence (a₀, ..., a_{n−1}) is:
A_k = Σ_{j=0}^{n−1} a_j · ω^(jk), ω = e^(2πi/n)
A direct evaluation costs n² complex multiplications. The Cooley–Tukey FFT exploits two facts about roots of unity to reduce this to O(n log n):
- Periodicity:
ω^(k+n) = ω^k. - Half-rotation symmetry:
ω^(k+n/2) = −ω^k(when n is even).
Splitting the sum into even-indexed and odd-indexed terms recursively halves the problem size while reusing each ω^k. The depth of recursion is log₂(n), giving total cost O(n log n). Without roots of unity and their algebraic structure, FFT does not exist; without FFT, modern signal processing, audio compression, and large-integer multiplication slow down by orders of magnitude.
Cyclotomic polynomials and Gauss
The n-th cyclotomic polynomial Φ_n(z) is the minimal polynomial over ℚ whose roots are exactly the primitive n-th roots of unity:
Φ_n(z) = ∏_{k: gcd(k,n)=1} (z − e^(2πik/n))
It has integer coefficients and degree φ(n). The factorization of z^n − 1 over ℤ[z] is:
z^n − 1 = ∏_{d | n} Φ_d(z)
Examples:
Φ_1(z) = z − 1
Φ_2(z) = z + 1
Φ_3(z) = z² + z + 1
Φ_4(z) = z² + 1
Φ_5(z) = z⁴ + z³ + z² + z + 1
Φ_6(z) = z² − z + 1
Φ_8(z) = z⁴ + 1
Φ_12(z) = z⁴ − z² + 1
Cyclotomic polynomials underpin Gauss's classification of constructible regular polygons (1796): a regular n-gon is constructible by compass and straightedge iff n = 2^a · p₁ · p₂ · ... · p_k, where the p_i are distinct Fermat primes (primes of the form 2^(2^m) + 1). Gauss famously proved the 17-gon constructible at age 19, before knowing the general theorem.
Counterexamples and cautions
- Not every root with |z| = 1 is a root of unity. Only those with rational angle 2πk/n.
z = e^(i)has |z| = 1 but is irrational on the circle — it never equals 1 under any positive integer power. - The "principal" n-th root of 1 is just 1. Don't write
1^(1/n) = e^(2πi/n)as if there's only one. The radical symbol is multivalued for n > 2; making it single-valued requires choosing a branch, and the standard convention picks the positive real value when one exists. - Powers and roots don't commute.
(z^a)^(1/n)and(z^(1/n))^acan differ by an n-th root of unity. The naive identity(z^a)^b = z^(ab)only holds for principal branches under careful side-conditions. - Sum is 0 only for n ≥ 2. For n = 1, the only root is 1, and the sum is 1, not 0. The formula
(z^n − 1)/(z − 1) = 0assumes z ≠ 1. - Cyclotomic polynomials can have non-{−1, 0, 1} coefficients. A common misconception: Φ_n always has small coefficients. False — Φ_105(z) is the smallest counterexample, with a coefficient of −2.
Common mistakes
- Listing only positive k. The roots are
k = 0, 1, ..., n−1— there are exactly n of them, not n+1 (don't double-count k = 0 and k = n) and not n−1 (don't drop k = 0 = root at z = 1). - Confusing "n-th root of unity" with "primitive n-th root of unity." Every n-th root of unity is also a d-th root of unity for some d | n.
−1is a 4-th root of unity but a primitive 2-nd root, not a primitive 4-th. - Forgetting the angle reduction in De Moivre. When raising a root to a high power, reduce the exponent mod n first:
ω^kfor k ≥ n isω^(k mod n). - Treating the n-th roots as solutions to
z = 1^(1/n)(radical only). The radical convention picks one root; the equationz^n = 1picks all n. - Mixing primitive root of unity with primitive root mod p. Both are called "primitive roots," but the first is a complex number with full multiplicative order n in ℂ; the second is an integer that generates (ℤ/pℤ)*. Different objects, related only by analogy.
- Adding arguments past 2π without reducing. When multiplying roots, sums of arguments may exceed 2π — reduce mod 2π to keep the result on the unit circle in standard form.
Frequently asked questions
How many n-th roots of unity are there?
Exactly n. They are ω_k = e^(2πik/n) for k = 0, 1, ..., n−1. By the fundamental theorem of algebra, the polynomial z^n − 1 has degree n and so has n complex roots (counted with multiplicity); they all turn out to be distinct, evenly spaced around the unit circle.
What is a primitive n-th root of unity?
A primitive n-th root is one whose powers generate all n roots — equivalently, ω^k ≠ 1 for any 0 < k < n. ω = e^(2πi/n) is always primitive. There are φ(n) primitives total, where φ is Euler's totient: ω^k is primitive iff gcd(k, n) = 1.
Why do roots of unity sum to zero?
For n ≥ 2, the sum 1 + ω + ω² + ... + ω^(n−1) = (ω^n − 1)/(ω − 1) = 0, since ω^n = 1 and ω ≠ 1. Geometrically, the roots are evenly spaced around the unit circle and form a perfectly balanced regular polygon — the centroid is the center, namely 0.
What is the connection to FFT?
The Fast Fourier Transform evaluates a polynomial at the n-th roots of unity. The recursive halving in FFT exploits ω^(k+n/2) = −ω^k, splitting an n-point DFT into two (n/2)-point DFTs. This drops the cost from O(n²) to O(n log n).
Are roots of unity related to regular polygons?
Yes — the n-th roots of unity are the vertices of a regular n-gon inscribed in the unit circle, with one vertex at 1. Gauss famously proved that a regular n-gon is constructible with compass and straightedge iff n is a product of a power of 2 and distinct Fermat primes — a classical result resting on which roots of unity have constructible coordinates.
What's a cyclotomic polynomial?
Φ_n(z) is the minimal polynomial whose roots are exactly the primitive n-th roots of unity. It has integer coefficients and degree φ(n). The factorization z^n − 1 = ∏_{d|n} Φ_d(z) over ℤ[z] organizes all roots of unity by their order. Cyclotomic polynomials are central in algebraic number theory and primality testing.