Documentation

Mathlib.RingTheory.RootsOfUnity.Complex

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 #

theorem Complex.isPrimitiveRoot_exp_of_isCoprime (i : β„€) (n : β„•) (h0 : n β‰  0) (hi : IsCoprime i ↑n) :
IsPrimitiveRoot (exp (2 * ↑Real.pi * I * (↑i / ↑n))) n
theorem Complex.isPrimitiveRoot_exp_of_coprime (i n : β„•) (h0 : n β‰  0) (hi : i.Coprime n) :
IsPrimitiveRoot (exp (2 * ↑Real.pi * I * (↑i / ↑n))) n
theorem Complex.isPrimitiveRoot_iff (ΞΆ : β„‚) (n : β„•) (hn : n β‰  0) :
IsPrimitiveRoot ΞΆ n ↔ βˆƒ i < n, βˆƒ (_ : i.Coprime n), exp (2 * ↑Real.pi * I * (↑i / ↑n)) = ΞΆ
theorem Complex.mem_rootsOfUnity (n : β„•) [NeZero n] (x : β„‚Λ£) :
x ∈ rootsOfUnity n β„‚ ↔ βˆƒ i < n, exp (2 * ↑Real.pi * I * (↑i / ↑n)) = ↑x

The complex n-th roots of unity are exactly the complex numbers of the form exp (2 * Real.pi * Complex.I * (i / n)) for some i < n.

theorem IsPrimitiveRoot.arg_ext {n m : β„•} {ΞΆ ΞΌ : β„‚} (hΞΆ : IsPrimitiveRoot ΞΆ n) (hΞΌ : IsPrimitiveRoot ΞΌ m) (hn : n β‰  0) (hm : m β‰  0) (h : ΞΆ.arg = ΞΌ.arg) :
ΞΆ = ΞΌ
theorem IsPrimitiveRoot.arg_eq_zero_iff {n : β„•} {ΞΆ : β„‚} (hΞΆ : IsPrimitiveRoot ΞΆ n) (hn : n β‰  0) :
ΞΆ.arg = 0 ↔ ΞΆ = 1
theorem IsPrimitiveRoot.arg_eq_pi_iff {n : β„•} {ΞΆ : β„‚} (hΞΆ : IsPrimitiveRoot ΞΆ n) (hn : n β‰  0) :
ΞΆ.arg = Real.pi ↔ ΞΆ = -1
theorem IsPrimitiveRoot.arg {n : β„•} {ΞΆ : β„‚} (h : IsPrimitiveRoot ΞΆ n) (hn : n β‰  0) :
βˆƒ (i : β„€), ΞΆ.arg = ↑i / ↑n * (2 * Real.pi) ∧ IsCoprime i ↑n ∧ i.natAbs < n