Complex roots of unity #
In this file we show that the n
-th complex roots of unity
are exactly the complex numbers exp (2 * π * I * (i / n))
for i ∈ Finset.range n
.
Main declarations #
Complex.mem_rootsOfUnity
: the complexn
-th roots of unity are exactly the complex numbers of the formexp (2 * π * I * (i / n))
for somei < n
.Complex.card_rootsOfUnity
: the number ofn
-th roots of unity is exactlyn
.Complex.norm_rootOfUnity_eq_one
: A complex root of unity has norm1
.
theorem
Complex.isPrimitiveRoot_exp_of_coprime
(i : ℕ)
(n : ℕ)
(h0 : n ≠ 0)
(hi : i.Coprime n)
:
IsPrimitiveRoot (Complex.exp (2 * ↑Real.pi * Complex.I * (↑i / ↑n))) n
theorem
Complex.isPrimitiveRoot_exp
(n : ℕ)
(h0 : n ≠ 0)
:
IsPrimitiveRoot (Complex.exp (2 * ↑Real.pi * Complex.I / ↑n)) n
theorem
Complex.isPrimitiveRoot_iff
(ζ : ℂ)
(n : ℕ)
(hn : n ≠ 0)
:
IsPrimitiveRoot ζ n ↔ ∃ i < n, ∃ (_ : i.Coprime n), Complex.exp (2 * ↑Real.pi * Complex.I * (↑i / ↑n)) = ζ
theorem
IsPrimitiveRoot.arg_ext
{n : ℕ}
{m : ℕ}
{ζ : ℂ}
{μ : ℂ}
(hζ : IsPrimitiveRoot ζ n)
(hμ : IsPrimitiveRoot μ m)
(hn : n ≠ 0)
(hm : m ≠ 0)
(h : ζ.arg = μ.arg)
:
ζ = μ