Documentation

TauCeti.NumberTheory.Height.NumberField

Relative and absolute heights in extensions of number fields #

The multiplicative height Height.mulHeight x of a tuple x over a number field K is relative to K: it is computed from the places of K. This file compares it across fields.

For an extension of number fields L / K and a finite tuple x over K, H_L(x) = H_K(x) ^ [L : K], including the zero tuple, where both sides are 1. Consequently a ring isomorphism of number fields preserves relative heights, and the absolute height NumberField.absMulHeight₁ x, which Mathlib defines through the number field ℚ(x), may be computed in any number field K containing x as H_K(x) ^ (1 / [K : ℚ]). Elements of possibly different characteristic-zero fields with the same rational minimal polynomial have the same absolute height; in particular the absolute height is invariant under field embeddings.

For a nonzero tuple of algebraic integers the finite places contribute at most one to the height, so archimedean bounds on the coordinates bound the height.

Main results #

References #

theorem NumberField.mulHeight_mul_absNorm_span_range {K : Type u_1} [Field K] [NumberField K] {ι : Type u_3} [Finite ι] (y : ι → RingOfIntegers K) :
(Height.mulHeight fun (i : ι) => ↑(y i)) * ↑(Ideal.absNorm (Ideal.span (Set.range y))) = ∏ v : InfinitePlace K, (⨆ (i : ι), v ↑(y i)) ^ v.mult

For a tuple y of algebraic integers, the multiplicative height times the absolute norm of the ideal generated by the coordinates is the archimedean part of the height. For the zero tuple both sides are 0.

theorem NumberField.finprod_iSup_finitePlace_le_one {K : Type u_1} [Field K] [NumberField K] {ι : Type u_3} (y : ι → RingOfIntegers K) :
∏ᶠ (v : FinitePlace K), ⨆ (i : ι), v ↑(y i) ≤ 1

For a tuple of algebraic integers, the finite part of the multiplicative height is at most one.

theorem NumberField.mulHeight_le_pow_finrank_of_forall_le {K : Type u_1} [Field K] [NumberField K] {ι : Type u_3} {y : ι → RingOfIntegers K} (hy : y ≠ 0) {c : ℝ} (hc : ∀ (i : ι) (w : InfinitePlace K), w ↑(y i) ≤ c) :
(Height.mulHeight fun (i : ι) => ↑(y i)) ≤ c ^ Module.finrank ℚ K

A nonzero tuple of algebraic integers whose coordinates have absolute value at most c at every infinite place has multiplicative height at most c ^ [K : ℚ].

@[simp]
theorem NumberField.mulHeight_algebraMap {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [NumberField K] [NumberField L] {ι : Type u_3} [Finite ι] (x : ι → K) :

Relative heights in an extension. For an extension of number fields L / K and a finite tuple x over K, the multiplicative height of x over L is its height over K raised to the degree [L : K].

@[simp]
theorem NumberField.logHeight_algebraMap {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [NumberField K] [NumberField L] {ι : Type u_3} [Finite ι] (x : ι → K) :

The logarithmic height of a tuple over L / K is [L : K] times its height over K.

@[simp]

The multiplicative height of x ∈ K over L / K is its height over K raised to the degree [L : K].

@[simp]

The logarithmic height of x ∈ K over L / K is [L : K] times its height over K.

The multiplicative height of a positive natural number n over a number field K is n ^ [K : ℚ]. Relative heights are not invariant under extension: over ℚ(i) the height of 2 is 4.

The logarithmic height of a natural number n over a number field K is [K : ℚ] * log n; both sides are 0 for n = 0.

@[simp]
theorem NumberField.mulHeight_ringEquiv {K : Type u_1} [Field K] [NumberField K] {ι : Type u_3} [Finite ι] {K' : Type u_4} [Field K'] [NumberField K'] (e : K ≃+* K') (x : ι → K) :

A ring isomorphism of number fields preserves the multiplicative height of tuples.

@[simp]
theorem NumberField.mulHeight₁_ringEquiv {K : Type u_1} [Field K] [NumberField K] {K' : Type u_4} [Field K'] [NumberField K'] (e : K ≃+* K') (x : K) :

A ring isomorphism of number fields preserves the multiplicative height of elements.

@[simp]
theorem NumberField.logHeight_ringEquiv {K : Type u_1} [Field K] [NumberField K] {ι : Type u_3} [Finite ι] {K' : Type u_4} [Field K'] [NumberField K'] (e : K ≃+* K') (x : ι → K) :

A ring isomorphism of number fields preserves the logarithmic height of tuples.

@[simp]
theorem NumberField.logHeight₁_ringEquiv {K : Type u_1} [Field K] [NumberField K] {K' : Type u_4} [Field K'] [NumberField K'] (e : K ≃+* K') (x : K) :

A ring isomorphism of number fields preserves the logarithmic height of elements.

The absolute height of an element x of a number field K is its height relative to K raised to the power 1 / [K : ℚ].

The absolute logarithmic height of an element x of a number field K is its logarithmic height relative to K divided by [K : ℚ].

theorem NumberField.absMulHeight₁_eq_of_minpoly_eq {F : Type u_4} {F' : Type u_5} [Field F] [CharZero F] [Field F'] [CharZero F'] {x : F} {y : F'} (h : minpoly ℚ x = minpoly ℚ y) :

Elements of characteristic-zero fields with the same minimal polynomial over ℚ have the same absolute height. This includes transcendental elements, whose minimal polynomial is 0 and whose absolute height is the junk value 1.

theorem NumberField.absLogHeight₁_eq_of_minpoly_eq {F : Type u_4} {F' : Type u_5} [Field F] [CharZero F] [Field F'] [CharZero F'] {x : F} {y : F'} (h : minpoly ℚ x = minpoly ℚ y) :

Elements of characteristic-zero fields with the same minimal polynomial over ℚ have the same absolute logarithmic height.

@[simp]
theorem NumberField.absMulHeight₁_map {F : Type u_4} {F' : Type u_5} [Field F] [CharZero F] [Field F'] [CharZero F'] (f : F →+* F') (x : F) :

The absolute height is invariant under ring homomorphisms of characteristic-zero fields.

@[simp]
theorem NumberField.absLogHeight₁_map {F : Type u_4} {F' : Type u_5} [Field F] [CharZero F] [Field F'] [CharZero F'] (f : F →+* F') (x : F) :

The absolute logarithmic height is invariant under ring homomorphisms of characteristic-zero fields.

@[simp]

The absolute height of a rational number in a characteristic-zero field is its height over ℚ.

@[simp]

The absolute logarithmic height of a rational number in a characteristic-zero field is its logarithmic height over ℚ.

@[simp]

The absolute height of 0 is 1.

@[simp]

The absolute logarithmic height of 0 is 0.

@[simp]

The absolute height of 1 is 1.

@[simp]

The absolute logarithmic height of 1 is 0.

theorem NumberField.absMulHeight₁_natCast {F : Type u_4} [Field F] [CharZero F] (n : ℕ) [NeZero n] :
absMulHeight₁ ↑n = ↑n

The absolute height of a positive natural number n is n.

The absolute logarithmic height of a natural number n is log n; both sides are 0 for n = 0.

theorem NumberField.absMulHeight₁_pow {F : Type u_4} [Field F] [CharZero F] (x : F) (n : ℕ) :

The absolute height of a power is the power of the absolute height. This includes transcendental elements, whose positive powers are transcendental and all have the junk height 1.

theorem NumberField.absLogHeight₁_pow {F : Type u_4} [Field F] [CharZero F] (x : F) (n : ℕ) :

The absolute logarithmic height of x ^ n is n times that of x.

@[simp]

The absolute height of x⁻¹ is the absolute height of x. This includes x = 0, where 0⁻¹ = 0, and transcendental elements, whose inverses are transcendental.

@[simp]

The absolute logarithmic height of x⁻¹ is the absolute logarithmic height of x.