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.
TODO #
- add
lemma unitsMap_surjective {n m : ℕ} (h : n ∣ m) (hm : m ≠ 0) : Function.Surjective (unitsMap h)
and then
andlemma changeLevel_injective {d : ℕ} (h : d ∣ n) (hn : n ≠ 0) : Function.Injective (changeLevel (R := R) h)
lemma changeLevel_one_iff {d : ℕ} {χ : DirichletCharacter R n} {χ' : DirichletCharacter R d} (hdn : d ∣ n) (hn : n ≠ 0) (h : χ = changeLevel hdn χ') : χ = 1 ↔ χ' = 1
Tags #
dirichlet character, multiplicative character
The type of Dirichlet characters of level n
.
Equations
- DirichletCharacter R n = MulChar (ZMod n) R
Instances For
A function that modifies the level of a Dirichlet character to some multiple of its original level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
χ
of level n
factors through a Dirichlet character χ₀
of level d
if d ∣ n
and
χ₀ = χ ∘ (ZMod n → ZMod d)
.
Equations
- DirichletCharacter.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
- DirichletCharacter.FactorsThrough.χ₀ χ h = Classical.choose (_ : ∃ (χ₀ : DirichletCharacter R d), χ = (DirichletCharacter.changeLevel (_ : d ∣ n)) χ₀)
Instances For
The fact that χ
factors through χ₀
of level d
Equations
- (_ : Subsingleton (DirichletCharacter R 1)) = (_ : Subsingleton (DirichletCharacter R 1))
Equations
- DirichletCharacter.instInhabitedDirichletCharacter = { default := 1 }
Equations
- DirichletCharacter.instUniqueDirichletCharacterOfNatNatInstOfNatNat = Unique.mk' (DirichletCharacter R 1)
The set of natural numbers for which a Dirichlet character is periodic.
Equations
- DirichletCharacter.conductorSet χ = {x : ℕ | DirichletCharacter.FactorsThrough χ x}
Instances For
The minimum natural number n
for which a Dirichlet character is periodic.
The Dirichlet character χ
can then alternatively be reformulated on ℤ/nℤ
.
Equations
Instances For
A character is primitive if its level is equal to its conductor.
Equations
Instances For
The primitive character associated to a Dirichlet character.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dirichlet character associated to multiplication of Dirichlet characters, after changing both levels to the same
Equations
- DirichletCharacter.mul χ₁ χ₂ = (DirichletCharacter.changeLevel (_ : n ∣ Nat.lcm n m)) χ₁ * (DirichletCharacter.changeLevel (_ : m ∣ Nat.lcm n m)) χ₂
Instances For
Primitive character associated to multiplication of Dirichlet characters, after changing both levels to the same
Equations
Instances For
A Dirichlet character is odd if its value at -1 is -1.
Equations
- DirichletCharacter.Odd ψ = (ψ (-1) = -1)
Instances For
A Dirichlet character is even if its value at -1 is 1.
Equations
- DirichletCharacter.Even ψ = (ψ (-1) = 1)