Documentation

TauCeti.NumberTheory.NumberField.Global.RayClass.Character.Basic

Ray class characters #

A ray class character of a modulus ๐”ช is a multiplicative character of its finite ray class group with values in the complex units. Composing with idealClass ๐”ช evaluates it on the nonzero integral ideals prime to the finite part of ๐”ช; the coprimality proof remains in the domain because idealClass ๐”ช is defined only on those ideals.

When ๐”ช โˆฃ ๐”ซ, pullback along the surjective transition classMap : Cl_๐”ซ โ†’ Cl_๐”ช induces a character of the larger modulus. These pullbacks are injective, compose along chains of moduli, and agree with the inclusion of integral ideals prime to the larger modulus. This is the finite character API used in ray-class counting and in the factorization of cyclotomic Galois characters.

Main definitions #

Main results #

References #

@[reducible, inline]
abbrev TauCeti.GlobalNumberFields.RayClassCharacter {K : Type u_1} [Field K] [NumberField K] (๐”ช : Modulus K) :
Type u_1

A ray class character of ๐”ช: a multiplicative character of RayClassGroup ๐”ช with values in the complex units.

Instances For
    noncomputable def TauCeti.GlobalNumberFields.RayClassCharacter.onIdeals {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} (ฯ‡ : RayClassCharacter ๐”ช) :

    Evaluate a ray class character on nonzero integral ideals prime to its modulus.

    The domain is integralIdealsPrimeTo ๐”ช, rather than all integral ideals, because an ideal meeting the finite part of the modulus has no ray class and hence no character value.

    Instances For
      @[simp]
      theorem TauCeti.GlobalNumberFields.RayClassCharacter.onIdeals_apply {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} (ฯ‡ : RayClassCharacter ๐”ช) (I : โ†ฅ(integralIdealsPrimeTo ๐”ช)) :
      ฯ‡.onIdeals I = ฯ‡ ((idealClass ๐”ช) I)

      Evaluating a ray class character on an ideal is evaluation at the ideal's ray class.

      theorem TauCeti.GlobalNumberFields.RayClassCharacter.ext {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} {ฯ‡ ฯˆ : RayClassCharacter ๐”ช} (h : โˆ€ (I : โ†ฅ(integralIdealsPrimeTo ๐”ช)), ฯ‡.onIdeals I = ฯˆ.onIdeals I) :
      ฯ‡ = ฯˆ

      A ray class character is determined by its values on integral ideals prime to the modulus.

      theorem TauCeti.GlobalNumberFields.RayClassCharacter.ext_iff {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} {ฯ‡ ฯˆ : RayClassCharacter ๐”ช} :
      ฯ‡ = ฯˆ โ†” โˆ€ (I : โ†ฅ(integralIdealsPrimeTo ๐”ช)), ฯ‡.onIdeals I = ฯˆ.onIdeals I
      noncomputable def TauCeti.GlobalNumberFields.RayClassCharacter.induced {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) :

      Pullback of ray class characters from a modulus ๐”ช to a multiple ๐”ซ of that modulus.

      Instances For
        @[simp]
        theorem TauCeti.GlobalNumberFields.RayClassCharacter.induced_apply {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) (ฯ‡ : RayClassCharacter ๐”ช) (c : RayClassGroup ๐”ซ) :
        ((induced h) ฯ‡) c = ฯ‡ ((classMap h) c)

        A character induced to a larger modulus is evaluated through the transition map.

        @[simp]
        theorem TauCeti.GlobalNumberFields.RayClassCharacter.induced_refl {K : Type u_1} [Field K] [NumberField K] {๐”ช : Modulus K} (ฯ‡ : RayClassCharacter ๐”ช) :
        (induced โ‹ฏ) ฯ‡ = ฯ‡

        Pullback along the identity change of modulus fixes every character.

        @[simp]
        theorem TauCeti.GlobalNumberFields.RayClassCharacter.induced_trans {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ ๐”ฌ : Modulus K} (hโ‚ : ๐”ช โˆฃ ๐”ซ) (hโ‚‚ : ๐”ซ โˆฃ ๐”ฌ) (ฯ‡ : RayClassCharacter ๐”ช) :
        (induced hโ‚‚) ((induced hโ‚) ฯ‡) = (induced โ‹ฏ) ฯ‡

        Pullback of ray class characters composes along a chain of moduli.

        theorem TauCeti.GlobalNumberFields.RayClassCharacter.induced_injective {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) :

        Increasing the modulus does not identify distinct ray class characters.

        @[simp]
        theorem TauCeti.GlobalNumberFields.RayClassCharacter.induced_eq_one_iff {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) (ฯ‡ : RayClassCharacter ๐”ช) :
        (induced h) ฯ‡ = 1 โ†” ฯ‡ = 1

        A character induced to a larger modulus is trivial exactly when the original character is trivial.

        theorem TauCeti.GlobalNumberFields.RayClassCharacter.onIdeals_induced {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) (ฯ‡ : RayClassCharacter ๐”ช) (I : โ†ฅ(integralIdealsPrimeTo ๐”ซ)) :

        Change of modulus commutes with evaluation on integral ideals: the induced character at an ideal prime to ๐”ซ is the original character at the same ideal viewed as prime to ๐”ช.

        theorem TauCeti.GlobalNumberFields.RayClassCharacter.exists_induced_eq_iff_of_finitePart_eq {K : Type u_1} [Field K] [NumberField K] {๐”ช ๐”ซ : Modulus K} (h : ๐”ช โˆฃ ๐”ซ) (hfin : ๐”ช.finitePart = ๐”ซ.finitePart) (ฮท : RayClassCharacter ๐”ซ) :
        (โˆƒ (ฯˆ : RayClassCharacter ๐”ช), (induced h) ฯˆ = ฮท) โ†” โˆ€ (s : โ†ฅ๐”ซ.infinitePart โ†’ โ„คหฃ), (โˆ€ (w : โ†ฅ๐”ซ.infinitePart), โ†‘w โˆˆ ๐”ช.infinitePart โ†’ s w = 1) โ†’ ฮท ((residueSignRayClass ๐”ซ) (1, s)) = 1

        Inducing from a modulus with the same finite part is a condition on sign classes. When ๐”ช โˆฃ ๐”ซ have the same finite part, a ray class character of ๐”ซ is induced from ๐”ช exactly when it is trivial on the classes residueSignRayClass ๐”ซ (1, s) of every pattern of signs s trivial at the real places of ๐”ช.