Cyclotomic polynomials. #
For n : ℕ and an integral domain R, we define a modified version of the n-th cyclotomic
polynomial with coefficients in R, denoted cyclotomic' n R, as ∏ (X - μ), where μ varies
over the primitive nth roots of unity. If there is a primitive nth root of unity in R then
this the standard definition. We then define the standard cyclotomic polynomial cyclotomic n R
with coefficients in any ring R.
Main definition #
cyclotomic n R: then-th cyclotomic polynomial with coefficients inR.
Main results #
int_coeff_of_cycl: If there is a primitiven-th root of unity inK, thencyclotomic' n Kcomes from a polynomial with integer coefficients.deg_of_cyclotomic: The degree ofcyclotomic nistotient n.prod_cyclotomic_eq_X_pow_sub_one:X ^ n - 1 = ∏ (cyclotomic i), whereidividesn.cyclotomic_eq_prod_X_pow_sub_one_pow_moebius: The Möbius inversion formula forcyclotomic n Rover an abstract fraction field forpolynomial R.cyclotomic.irreducible:cyclotomic n ℤis irreducible.
Implementation details #
Our definition of cyclotomic' n R makes sense in any integral domain R, but the interesting
results hold if there is a primitive n-th root of unity in R. In particular, our definition is
not the standard one unless there is a primitive nth root of unity in R. For example,
cyclotomic' 3 ℤ = 1, since there are no primitive cube roots of unity in ℤ. The main example is
R = ℂ, we decided to work in general since the difficulties are essentially the same.
To get the standard cyclotomic polynomials, we use int_coeff_of_cycl, with R = ℂ, to get a
polynomial with integer coefficients and then we map it to polynomial R, for any ring R.
To prove cyclotomic.irreducible, the irreducibility of cyclotomic n ℤ, we show in
minpoly_primitive_root_eq_cyclotomic that cyclotomic n ℤ is the minimal polynomial of
any n-th primitive root of unity μ : K, where K is a field of characteristic 0.
The modified n-th cyclotomic polynomial with coefficients in R, it is the usual cyclotomic
polynomial if there is a primitive n-th root of unity in R.
Equations
- polynomial.cyclotomic' n R = ∏ (μ : R) in primitive_roots n R, (polynomial.X - ⇑polynomial.C μ)
The zeroth modified cyclotomic polyomial is 1.
The first modified cyclotomic polyomial is X - 1.
The second modified cyclotomic polyomial is X + 1 if the characteristic of R is not 2.
cyclotomic' n R is monic.
cyclotomic' n R is different from 0.
The natural degree of cyclotomic' n R is totient n if there is a primitive root of
unity in R.
The degree of cyclotomic' n R is totient n if there is a primitive root of unity in R.
The roots of cyclotomic' n R are the primitive n-th roots of unity.
If there is a primitive nth root of unity in K, then X ^ n - 1 = ∏ (X - μ), where μ
varies over the n-th roots of unity.
cyclotomic' n K splits.
If there is a primitive n-th root of unity in K, then X ^ n - 1splits.
If there is a primitive n-th root of unity in K, then
∏ i in nat.divisors n, cyclotomic' i K = X ^ n - 1.
If there is a primitive n-th root of unity in K, then
cyclotomic' n K = (X ^ k - 1) /ₘ (∏ i in nat.proper_divisors k, cyclotomic' i K).
If there is a primitive n-th root of unity in K, then cyclotomic' n K comes from a
polynomial with integer coefficients.
If K is of characteristic 0 and there is a primitive n-th root of unity in K,
then cyclotomic n K comes from a unique polynomial with integer coefficients.
The n-th cyclotomic polynomial with coefficients in R.
Equations
- polynomial.cyclotomic n R = dite (n = 0) (λ (h : n = 0), 1) (λ (h : ¬n = 0), polynomial.map (int.cast_ring_hom R) (classical.some _))
cyclotomic n R comes from cyclotomic n ℤ.
The definition of cyclotomic n R commutes with any ring homomorphism.
The zeroth cyclotomic polyomial is 1.
The first cyclotomic polyomial is X - 1.
The second cyclotomic polyomial is X + 1.
cyclotomic n is monic.
cyclotomic n R is different from 0.
The degree of cyclotomic n is totient n.
The natural degree of cyclotomic n is totient n.
The degree of cyclotomic n R is positive.
∏ i in nat.divisors n, cyclotomic i R = X ^ n - 1.
cyclotomic n R can be expressed as a product in a fraction field of polynomial R
using Möbius inversion.
We have
cyclotomic n R = (X ^ k - 1) /ₘ (∏ i in nat.proper_divisors k, cyclotomic i K).
If m is a proper divisor of n, then X ^ m - 1 divides
∏ i in nat.proper_divisors n, cyclotomic i R.
If there is a primitive n-th root of unity in K, then
cyclotomic n K = ∏ μ in primitive_roots n R, (X - C μ). In particular,
cyclotomic n K = cyclotomic' n K
Any n-th primitive root of unity is a root of cyclotomic n ℤ.
If p is prime, then cyclotomic p R = geom_sum X p.
The constant term of cyclotomic n R is 1 if 2 ≤ n.
If (a : ℕ) is a root of cyclotomic n (zmod p), where p is a prime, then a and p are
coprime.
If (a : ℕ) is a root of cyclotomic n (zmod p), then the multiplicative order of a modulo
p divides n.
If (a : ℕ) is a root of cyclotomic n (zmod p), where p is a prime that does not divide
n, then the multiplicative order of a modulo p is exactly n.
The minimal polynomial of a primitive n-th root of unity μ divides cyclotomic n ℤ.
cyclotomic n ℤ is the minimal polynomial of a primitive n-th root of unity μ.
cyclotomic n ℤ is irreducible.