Documentation

TauCeti.NumberTheory.NumberField.Global.HeckeCharacter.FiniteOrder

Finite-order Hecke characters #

A finite-order Hecke character is locally constant: its kernel is an open subgroup of the idele class group. Every open subgroup of the idele class group contains a ray subgroup (exists_raySubgroup_le_of_isOpen), and a Hecke character trivial on raySubgroup ๐”ช is the pullback of a ray class character of ๐”ช (HeckeCharacter.mem_range_ofRayClassCharacter_iff). Together with the finiteness of the ray class groups this proves that, for a Hecke character, the following are equivalent: it has finite order, its kernel is open, and it is the pullback of a ray class character of some modulus. The finite-order Hecke characters are therefore exactly the characters of the ray class groups, which is why the ray class L-functions exhaust the Hecke L-functions of finite-order characters.

Main results #

References #

theorem TauCeti.GlobalNumberFields.HeckeCharacter.isOpen_ker_of_isFiniteOrder {K : Type u_1} [Field K] [NumberField K] {ฯ‡ : HeckeCharacter K} (hฯ‡ : ฯ‡.IsFiniteOrder) :
IsOpen โ†‘(โ†‘ฯ‡).ker

A finite-order Hecke character has open kernel, and is therefore locally constant.

theorem TauCeti.GlobalNumberFields.HeckeCharacter.isOpen_ker_ofRayClassCharacter {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} (ฮท : RayClassCharacter ๐”ช) :
IsOpen โ†‘(โ†‘((ofRayClassCharacter ๐”ช) ฮท)).ker

A Hecke character pulled back from a ray class character has open kernel.

theorem TauCeti.GlobalNumberFields.HeckeCharacter.exists_ofRayClassCharacter_eq_of_isOpen_ker {K : Type u_1} [Field K] [NumberField K] {ฯ‡ : HeckeCharacter K} (hฯ‡ : IsOpen โ†‘(โ†‘ฯ‡).ker) :
โˆƒ (๐”ช : Modulus K) (ฮท : RayClassCharacter ๐”ช), (ofRayClassCharacter ๐”ช) ฮท = ฯ‡

A Hecke character with open kernel is the pullback of a ray class character of some modulus ๐”ช. Together with isOpen_ker_ofRayClassCharacter this identifies the Hecke characters with open kernel with the ray class characters of all moduli.

theorem TauCeti.GlobalNumberFields.HeckeCharacter.isFiniteOrder_iff_exists_rayClassCharacter {K : Type u_1} [Field K] [NumberField K] (ฯ‡ : HeckeCharacter K) :
ฯ‡.IsFiniteOrder โ†” โˆƒ (๐”ช : Modulus K) (ฮท : RayClassCharacter ๐”ช), (ofRayClassCharacter ๐”ช) ฮท = ฯ‡

Finite-order Hecke characters are exactly the ray class characters: a Hecke character has finite order exactly when it is the pullback of a ray class character of some modulus.

A Hecke character has finite order exactly when its kernel is open.

noncomputable def TauCeti.GlobalNumberFields.HeckeCharacter.rayClassCharacterAt {K : Type u_1} [Field K] [NumberField K] (ฯ‡ : HeckeCharacter K) (๐”ช : Modulus K) (hฯ‡ : ฯ‡ โˆˆ (ofRayClassCharacter ๐”ช).range) :

The unique ray class character of ๐”ช whose pullback is ฯ‡, given that ฯ‡ comes from RayClassGroup ๐”ช.

Instances For
    @[simp]
    theorem TauCeti.GlobalNumberFields.HeckeCharacter.ofRayClassCharacter_rayClassCharacterAt {K : Type u_1} [Field K] [NumberField K] (ฯ‡ : HeckeCharacter K) (๐”ช : Modulus K) (hฯ‡ : ฯ‡ โˆˆ (ofRayClassCharacter ๐”ช).range) :
    (ofRayClassCharacter ๐”ช) (ฯ‡.rayClassCharacterAt ๐”ช hฯ‡) = ฯ‡

    Pulling the representing ray class character back to the idele class group recovers the original Hecke character.

    theorem TauCeti.GlobalNumberFields.HeckeCharacter.rayClassCharacterAt_eq_iff {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} {ฯ‡ : HeckeCharacter K} (hฯ‡ : ฯ‡ โˆˆ (ofRayClassCharacter ๐”ช).range) {ฮท : RayClassCharacter ๐”ช} :
    ฯ‡.rayClassCharacterAt ๐”ช hฯ‡ = ฮท โ†” (ofRayClassCharacter ๐”ช) ฮท = ฯ‡

    The representing ray class character is characterized by its pullback to the idele class group.

    @[simp]
    theorem TauCeti.GlobalNumberFields.HeckeCharacter.rayClassCharacterAt_ofRayClassCharacter {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} (ฮท : RayClassCharacter ๐”ช) :
    ((ofRayClassCharacter ๐”ช) ฮท).rayClassCharacterAt ๐”ช โ‹ฏ = ฮท

    Extracting the representative of a Hecke character already presented by a ray class character returns that character.

    theorem TauCeti.GlobalNumberFields.HeckeCharacter.rayClassCharacterAt_of_dvd {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) (ฯ‡ : HeckeCharacter K) (hฯ‡ : ฯ‡ โˆˆ (ofRayClassCharacter ๐”ช).range) :
    ฯ‡.rayClassCharacterAt ๐”ซ โ‹ฏ = (RayClassCharacter.induced h) (ฯ‡.rayClassCharacterAt ๐”ช hฯ‡)

    On increasing the modulus, the representative of a Hecke character is obtained by inducing its representative at the smaller modulus.

    theorem TauCeti.GlobalNumberFields.HeckeCharacter.rayClassCharacterAt_mul {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} {ฯ‡ ฯˆ : HeckeCharacter K} (hฯ‡ : ฯ‡ โˆˆ (ofRayClassCharacter ๐”ช).range) (hฯˆ : ฯˆ โˆˆ (ofRayClassCharacter ๐”ช).range) :
    (ฯ‡ * ฯˆ).rayClassCharacterAt ๐”ช โ‹ฏ = ฯ‡.rayClassCharacterAt ๐”ช hฯ‡ * ฯˆ.rayClassCharacterAt ๐”ช hฯˆ

    At a fixed modulus, the representative of a product is the product of the representatives.