Documentation

Mathlib.NumberTheory.NumberField.Units.Regulator

Regulator of a number field #

We define and prove basic results about the regulator of a number field K.

Main definitions and results #

Tags #

number field, units, regulator

noncomputable def NumberField.Units.equivFinRank (K : Type u_1) [Field K] [NumberField K] :

An equiv between Fin (rank K), used to index the family of units, and {w // w ≠ wā‚€} the index of the logSpace.

Instances For
    @[reducible, inline]
    abbrev NumberField.Units.IsMaxRank {K : Type u_1} [Field K] [NumberField K] (u : Fin (rank K) → (RingOfIntegers K)Ė£) :

    A family of units is of maximal rank if its image by logEmbedding is linearly independent over ā„.

    Instances For
      noncomputable def NumberField.Units.basisOfIsMaxRank {K : Type u_1} [Field K] [NumberField K] {u : Fin (rank K) → (RingOfIntegers K)Ė£} (hu : IsMaxRank u) :

      The images by logEmbedding of a family of units of maximal rank form a basis of logSpace K.

      Instances For
        @[simp]
        theorem NumberField.Units.basisOfIsMaxRank_apply {K : Type u_1} [Field K] [NumberField K] {u : Fin (rank K) → (RingOfIntegers K)Ė£} (hu : IsMaxRank u) (i : Fin (rank K)) :

        A family of units is of maximal rank iff the index of the subgroup it generates has finite index.

        noncomputable def NumberField.Units.regOfFamily {K : Type u_1} [Field K] [NumberField K] (u : Fin (rank K) → (RingOfIntegers K)Ė£) :

        The regulator of a family of units of K.

        Instances For
          theorem NumberField.Units.regOfFamily_ne_zero {K : Type u_1} [Field K] [NumberField K] {u : Fin (rank K) → (RingOfIntegers K)Ė£} (hu : IsMaxRank u) :
          regOfFamily u ≠ 0
          theorem NumberField.Units.abs_det_eq_abs_det {K : Type u_1} [Field K] [NumberField K] (u : Fin (rank K) → (RingOfIntegers K)Ė£) {w₁ wā‚‚ : InfinitePlace K} (e₁ : { w : InfinitePlace K // w ≠ w₁ } ā‰ƒ Fin (rank K)) (eā‚‚ : { w : InfinitePlace K // w ≠ wā‚‚ } ā‰ƒ Fin (rank K)) :
          |(Matrix.of fun (i w : { w : InfinitePlace K // w ≠ w₁ }) => ↑(↑w).mult * Real.log (↑w ((algebraMap (RingOfIntegers K) K) ↑(u (e₁ i))))).det| = |(Matrix.of fun (i w : { w : InfinitePlace K // w ≠ wā‚‚ }) => ↑(↑w).mult * Real.log (↑w ((algebraMap (RingOfIntegers K) K) ↑(u (eā‚‚ i))))).det|

          Let u : Fin (rank K) → (š“ž K)Ė£ be a family of units and let w₁ and wā‚‚ be two infinite places. Then, the two square matrices with entries (mult w * log w (u i))_i where w ≠ w_j for j = 1, 2 have the same determinant in absolute value.

          theorem NumberField.Units.regOfFamily_eq_det {K : Type u_1} [Field K] [NumberField K] (u : Fin (rank K) → (RingOfIntegers K)Ė£) (w' : InfinitePlace K) (e : { w : InfinitePlace K // w ≠ w' } ā‰ƒ Fin (rank K)) :
          regOfFamily u = |(Matrix.of fun (i w : { w : InfinitePlace K // w ≠ w' }) => ↑(↑w).mult * Real.log (↑w ((algebraMap (RingOfIntegers K) K) ↑(u (e i))))).det|

          For any infinite place w', the regulator of the family u is equal to the absolute value of the determinant of the matrix with entries (mult w * log w (u i))_i for w ≠ w'.

          theorem NumberField.Units.finrank_mul_regOfFamily_eq_det {K : Type u_1} [Field K] [NumberField K] (u : Fin (rank K) → (RingOfIntegers K)Ė£) (w' : InfinitePlace K) (e : { w : InfinitePlace K // w ≠ w' } ā‰ƒ Fin (rank K)) :
          ↑(Module.finrank ā„š K) * regOfFamily u = |(Matrix.of fun (i w : InfinitePlace K) => if h : i = w' then ↑w.mult else ↑w.mult * Real.log (w ((algebraMap (RingOfIntegers K) K) ↑(u (e ⟨i, h⟩))))).det|

          The degree of K times the regulator of the family u is equal to the absolute value of the determinant of the matrix whose columns are (mult w * log w (fundSystem K i))_i, w and the column (mult w)_w.

          noncomputable def NumberField.Units.regulator (K : Type u_1) [Field K] [NumberField K] :

          The regulator of a number field K.

          Instances For
            theorem NumberField.Units.regulator_eq_det (K : Type u_1) [Field K] [NumberField K] (w' : InfinitePlace K) (e : { w : InfinitePlace K // w ≠ w' } ā‰ƒ Fin (rank K)) :
            regulator K = |(Matrix.of fun (i w : { w : InfinitePlace K // w ≠ w' }) => ↑(↑w).mult * Real.log (↑w ((algebraMap (RingOfIntegers K) K) ↑(fundSystem K (e i))))).det|

            For any infinite place w', the regulator is equal to the absolute value of the determinant of the matrix with entries (mult w * log w (fundSystem K i))_i for w ≠ w'.

            theorem NumberField.Units.finrank_mul_regulator_eq_det (K : Type u_1) [Field K] [NumberField K] (w' : InfinitePlace K) (e : { w : InfinitePlace K // w ≠ w' } ā‰ƒ Fin (rank K)) :
            ↑(Module.finrank ā„š K) * regulator K = |(Matrix.of fun (i w : InfinitePlace K) => if h : i = w' then ↑w.mult else ↑w.mult * Real.log (w ((algebraMap (RingOfIntegers K) K) ↑(fundSystem K (e ⟨i, h⟩))))).det|

            The degree of K times the regulator of K is equal to the absolute value of the determinant of the matrix whose columns are (mult w * log w (fundSystem K i))_i, w and the column (mult w)_w.

            Let u and v be two families of units. Assume that the subgroup U generated by u and torsion K is contained in the subgroup V generated by v and torsion K. Then the ratio regOfFamily u / regOfFamily v is equal to the index of U inside V.

            Let u be a family of units. Then the ratio regOfFamily u / regulator K is equal to the index of the subgroup generated by u and torsion K inside the group of units of K.