Documentation

TauCeti.NumberTheory.Height.MahlerMeasure

The Mahler measure of an algebraic number #

For an element x of a field of characteristic zero, the Mahler measure M(x) is the Mahler measure of its primitive minimal polynomial F_x ∈ ℤ[X], mapped to ℂ[X]. For algebraic x of degree d with conjugates x⁽¹⁾, …, x⁽ᵈ⁾ ∈ ℂ this is M(x) = a₀ ∏ᵢ max(1, |x⁽ⁱ⁾|): the positive integer leading coefficient a₀ of F_x times the product of max(1, |x⁽ⁱ⁾|) over the conjugates. Keeping the leading coefficient gives M(p/q) = max(|p|, q) for a rational number in lowest terms. For transcendental x the value is 1.

The definition needs no complex embedding of the ambient field: only the polynomial F_x is mapped to ℂ. Consequently M(x) is constant on conjugacy classes and invariant under field embeddings. Together with the naive and absolute heights, the Mahler measure is one of the classical size functions on algebraic numbers used in Liouville- and Roth-type approximation estimates and in Northcott finiteness.

Main definitions #

Main results #

References #

noncomputable def TauCeti.mahlerMeasure {F : Type u_1} [Field F] [CharZero F] (x : F) :

The Mahler measure M(x) of x: the Mahler measure of its primitive minimal polynomial F_x, mapped to ℂ[X]. For algebraic x this is a₀ ∏ max(1, |x⁽ⁱ⁾|) over the complex conjugates of x (mahlerMeasure_eq_leadingCoeff_mul_prod); for transcendental x it is 1.

Instances For

    The Mahler measure of x is the Mahler measure of F_x mapped to ℂ[X].

    theorem TauCeti.mahlerMeasure_eq_of_minpoly_eq {F : Type u_1} [Field F] [CharZero F] {F' : Type u_2} [Field F'] [CharZero F'] {x : F} {y : F'} (h : minpoly ℚ x = minpoly ℚ y) :

    The Mahler measure depends only on minpoly ℚ x: conjugates, possibly lying in different fields, have equal Mahler measure.

    @[simp]
    theorem TauCeti.mahlerMeasure_map {F : Type u_1} [Field F] [CharZero F] {F' : Type u_2} [Field F'] [CharZero F'] (f : F →+* F') (x : F) :

    Field embeddings preserve the Mahler measure.

    @[simp]

    Transcendental elements have Mahler measure 1.

    The Mahler measure of x is a₀ ∏ max(1, |z|), the product running over the complex roots z of minpoly ℚ x counted with multiplicity, where a₀ is the leading coefficient of F_x. For transcendental x both sides are 1.

    The leading coefficient a₀ of F_x is at most the Mahler measure of x.

    theorem TauCeti.one_le_mahlerMeasure {F : Type u_1} [Field F] [CharZero F] (x : F) :

    The Mahler measure of every element is at least 1.

    @[simp]
    theorem TauCeti.mahlerMeasure_ratCast {F : Type u_1} [Field F] [CharZero F] (q : ℚ) :
    mahlerMeasure ↑q = max ↑q.num.natAbs ↑q.den

    The Mahler measure of a rational number q is the maximum of the absolute value of its numerator and its denominator, independently of the field containing q.

    On rational numbers the Mahler measure is the multiplicative Weil height.

    @[simp]

    The Mahler measure of 0 is 1.

    @[simp]

    The Mahler measure of 1 is 1.

    theorem TauCeti.mahlerMeasure_eq_one_iff {F : Type u_1} [Field F] [CharZero F] {x : F} (hx : IsAlgebraic ℚ x) :
    mahlerMeasure x = 1 ↔ x = 0 ∨ ∃ (n : ℕ), 0 < n ∧ x ^ n = 1

    Kronecker's theorem. An algebraic element has Mahler measure 1 exactly when it is zero or a root of unity.

    Northcott's theorem for the Mahler measure. In a field of characteristic zero, there are only finitely many algebraic elements of degree at most d and Mahler measure at most B.

    Examples #