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 n
th roots of unity. If there is a primitive n
th 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 #
Polynomial.degree_cyclotomic
: The degree ofcyclotomic n
istotient n
.Polynomial.prod_cyclotomic_eq_X_pow_sub_one
:X ^ n - 1 = ∏ (cyclotomic i)
, wherei
dividesn
.Polynomial.cyclotomic_eq_prod_X_pow_sub_one_pow_moebius
: The Möbius inversion formula forcyclotomic n R
over an abstract fraction field forR[X]
.
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 n
th 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 unique_int_coeff_of_cycl
, with R = ℂ
,
to get a polynomial with integer coefficients and then we map it to R[X]
, for any ring R
.
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 = Finset.prod (primitiveRoots n R) fun (μ : R) => Polynomial.X - Polynomial.C μ
Instances For
The zeroth modified cyclotomic polyomial is 1
.
The first modified cyclotomic polyomial is X - 1
.
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 n
th 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 - 1
splits.
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.properDivisors k, cyclotomic' i K)
.
If there is a primitive n
-th root of unity in K
, then cyclotomic' n K
comes from a
monic 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 = if h : n = 0 then 1 else Polynomial.map (Int.castRingHom R) (Exists.choose ⋯)
Instances For
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
.
cyclotomic n
is monic.
cyclotomic n
is primitive.
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
.
If p
is prime, then cyclotomic p R = ∑ i in range p, X ^ i
.
cyclotomic n R
can be expressed as a product in a fraction field of R[X]
using Möbius inversion.
We have
cyclotomic n R = (X ^ k - 1) /ₘ (∏ i in Nat.properDivisors k, cyclotomic i K)
.
If m
is a proper divisor of n
, then X ^ m - 1
divides
∏ i in Nat.properDivisors n, cyclotomic i R
.
If there is a primitive n
-th root of unity in K
, then
cyclotomic n K = ∏ μ in primitiveRoots n K, (X - C μ)
. In particular,
cyclotomic n K = cyclotomic' n K
If p ^ k
is a prime power, then
cyclotomic (p ^ (n + 1)) R = ∑ i in range p, (X ^ (p ^ n)) ^ i
.
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
.