Dirichlet Characters #
Let R
be a commutative monoid with zero. A Dirichlet character χ
of level n
over R
is a
multiplicative character from ZMod n
to R
sending non-units to 0. We then obtain some properties
of toUnitHom χ
, the restriction of χ
to a group homomorphism (ZMod n)ˣ →* Rˣ
.
Main definitions:
DirichletCharacter
: The type representing a Dirichlet character.changeLevel
: Extend the Dirichlet character χ of leveln
to levelm
, wheren
dividesm
.conductor
: The conductor of a Dirichlet character.IsPrimitive
: If the level is equal to the conductor.
Tags #
dirichlet character, multiplicative character
Definitions #
The type of Dirichlet characters of level n
.
Equations
- DirichletCharacter R n = MulChar (ZMod n) R
Instances For
Changing levels #
A function that modifies the level of a Dirichlet character to some multiple of its original level.
Equations
- DirichletCharacter.changeLevel hm = { toFun := fun (ψ : DirichletCharacter R n) => MulChar.ofUnitHom ((MulChar.toUnitHom ψ).comp (ZMod.unitsMap hm)), map_one' := ⋯, map_mul' := ⋯ }
Instances For
The changeLevel
map is injective (except in the degenerate case m = 0
).
χ
of level n
factors through a Dirichlet character χ₀
of level d
if d ∣ n
and
χ₀ = χ ∘ (ZMod n → ZMod d)
.
Equations
- χ.FactorsThrough d = ∃ (h : d ∣ n) (χ₀ : DirichletCharacter R d), χ = (DirichletCharacter.changeLevel h) χ₀
Instances For
The fact that d
divides n
when χ
factors through a Dirichlet character at level d
The Dirichlet character at level d
through which χ
factors
Equations
- h.χ₀ = Classical.choose ⋯
Instances For
The fact that χ
factors through χ₀
of level d
The character of level d
through which χ
factors is uniquely determined.
A Dirichlet character χ
factors through d | n
iff its associated unit-group hom is trivial
on the kernel of ZMod.unitsMap
.
Edge cases #
Equations
- ⋯ = ⋯
Equations
- DirichletCharacter.instUniqueOfNatNat = Unique.mk' (DirichletCharacter R 1)
The conductor #
The set of natural numbers d
such that χ
factors through a character of level d
.
Instances For
The minimum natural number level n
through which χ
factors.
Instances For
The conductor of the trivial character is 1.
A character is primitive if its level is equal to its conductor.
Instances For
Alias of DirichletCharacter.IsPrimitive
.
A character is primitive if its level is equal to its conductor.
Instances For
The primitive character associated to a Dirichlet character.
Equations
- χ.primitiveCharacter = Classical.choose ⋯
Instances For
Dirichlet character associated to multiplication of Dirichlet characters, after changing both levels to the same
Equations
- χ₁.mul χ₂ = (DirichletCharacter.changeLevel ⋯) χ₁ * (DirichletCharacter.changeLevel ⋯) χ₂
Instances For
Primitive character associated to multiplication of Dirichlet characters, after changing both levels to the same
Equations
- χ₁.primitive_mul χ₂ = (χ₁.mul χ₂).primitiveCharacter
Instances For
A Dirichlet character is odd if its value at -1 is -1.
Instances For
A Dirichlet character is even if its value at -1 is 1.