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 unityn-th roots of arbitrary z
Equationz^n = 1z^n = w
Countnn
Modulus1 (all on unit circle)|w|^(1/n) (all on circle radius |w|^(1/n))
Argument2πk/n(arg(w) + 2πk)/n
GeometryRegular n-gon at unit circleRegular n-gon at circle of radius |w|^(1/n)
Group structureCyclic group ℤ/nℤCoset of the unit roots
One specific root1 always worksPrincipal root |w|^(1/n)·e^(i·arg(w)/n)
Sum over all roots0 (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):

  1. Periodicity: ω^(k+n) = ω^k.
  2. 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))^a can 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) = 0 assumes 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. −1 is 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: ω^k for 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 equation z^n = 1 picks 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.