Mahler measure of complex polynomials #
In this file we define the Mahler measure of a polynomial over ℂ[X] and prove some basic
properties.
Main definitions #
Polynomial.logMahlerMeasure p: the logarithmic Mahler measure of a polynomialpdefined as(2 * π)⁻¹ * ∫ x ∈ (0, 2 * π), log ‖p (e ^ (i * x))‖.Polynomial.mahlerMeasure p: the (exponential) Mahler measure of a polynomialp, which is equal toe ^ p.logMahlerMeasureifpis nonzero, and0otherwise.
Main results #
Polynomial.mahlerMeasure_mul: the Mahler measure of the product of two polynomials is the product of their Mahler measures.
The logarithmic Mahler measure of a polynomial p defined as
(2 * π)⁻¹ * ∫ x ∈ (0, 2 * π), log ‖p (e ^ (i * x))‖
Equations
- p.logMahlerMeasure = Real.circleAverage (fun (x : ℂ) => Real.log ‖Polynomial.eval x p‖) 0 1
Instances For
@[simp]
@[simp]
The Mahler measure of a polynomial p defined as e ^ (logMahlerMeasure p) if p is nonzero
and 0 otherwise
Equations
- p.mahlerMeasure = if p ≠ 0 then Real.exp p.logMahlerMeasure else 0
Instances For
@[simp]
theorem
Polynomial.intervalIntegrable_mahlerMeasure
(p : Polynomial ℂ)
:
IntervalIntegrable (fun (x : ℝ) => Real.log ‖eval (circleMap 0 1 x) p‖) MeasureTheory.volume 0 (2 * Real.pi)
The Mahler measure of the product of two polynomials is the product of their Mahler measures
@[simp]
theorem
Polynomial.logMahlerMeasure_mul_eq_add_logMahelerMeasure
{p q : Polynomial ℂ}
(hpq : p * q ≠ 0)
: