Heights of values of linear forms and of determinants #
The value ∑ i, a i * x i of a linear form and the determinant of a matrix are not homogeneous
of degree zero in their arguments: scaling the coefficient tuple a by c multiplies the value
by c but leaves the projective height Height.mulHeight a unchanged. So no bound on the height
of such a value in terms of projective heights can hold (Height.exists_not_mulHeight₁_det_le
records this for determinants). The bounds that do hold use the affine height
Height.mulHeightAff, whose local factor at a place v is max (⨆ i, v (x i)) 1.
The affine bounds come from one estimate, Height.mulHeight₁_sum_le_prod_mulHeightAff: if every
term of a finite sum is bounded, at every absolute value, by the product of the affine local factors
of a fixed family of tuples, then the height of the sum is at most #s ^ totalWeight K times the
product of the affine heights of the tuples. The factor #s is paid only at the archimedean
places; at the nonarchimedean places the ultrametric inequality makes it disappear. It is in turn
an instance of the local-to-global bound Height.mulHeight₁_le_pow_mul_prod_mulHeightAff: local
bounds by C times the affine local factors at the archimedean places, and by the affine local
factors alone at the nonarchimedean places, give the height bound with constant C ^ totalWeight K.
A scale-invariant alternative divides a product of coordinates by the linear-form value:
Height.mulHeight₁_mul_div_sum_mul_le bounds the height of a i * x j / ∑ k, a k * x k
by card ι ^ totalWeight K * H(a) * H(x). At a number-field place, this gives local Liouville
bounds comparing the product of the sup norms of a and x with the absolute value of the form.
At an infinite place both local quantities are raised to its multiplicity. The same global
constant is necessary even at a finite place, since the height still uses the infinite places.
These bounds compare local factors of Plücker coordinates with their projective height in
height estimates for subspaces.
Main results #
Height.mulHeight₁_sum_mul_le,Height.logHeight₁_sum_mul_le: the height of the value of a linear form is at mostNat.card ι ^ totalWeight K * (mulHeightAff a * mulHeightAff x).Height.exists_mulHeight₁_sum_mul_eq: overℚthe constantNat.card ι ^ totalWeight Kis attained, bya = x = 1, for every nonempty finiteι.Matrix.mulHeight₁_det_le,Matrix.logHeight₁_det_le: the height of a determinant is at most(Nat.card n)! ^ totalWeight Ktimes the product of the affine heights of the columns, by the Leibniz expansion;Matrix.mulHeight₁_det_le_mulHeightAff_powandMatrix.logHeight₁_det_le_logHeightAffbound it by the affine height of all the entries.Height.exists_not_mulHeight₁_det_le: the determinant is not bounded by any multiple of the projective height of the entries, already for1 × 1matrices overℚ.NumberField.InfinitePlace.iSup_mul_iSup_pow_mult_leandNumberField.FinitePlace.iSup_mul_iSup_le: local Liouville bounds for linear-form values.
Implementation notes #
The global step needs the finiteness of the multiplicative support of the nonarchimedean local
factors max (v x) 1 of Height.mulHeight₁, which Mathlib proves by the private
fun_prop lemma Height.hasFiniteMulSupport_max_nonarchAbsVal in
Mathlib/NumberTheory/Height/Basic.lean; it is reached by import all, as Mathlib's own
Mathlib/NumberTheory/Height/MvPolynomial.lean does. The affine counterpart is the public
Height.hasFiniteMulSupport_max_iSup_nonarchAbsVal.
References #
- E. Bombieri and W. Gubler, Heights in Diophantine Geometry, Cambridge University Press, 2006, §1.5 (Proposition 1.5.15), §1.6, and §7.5 (the local value estimates used in Lemma 7.5.21).
- The affine-height statements follow
ArithmeticHeights/LinearForm.leanandArithmeticHeights/Matrix.leanofrwst/Subspace-Theorems(commitad93117, Apache 2.0); the proofs here are local, term by term, and do not go through a tuple sum bound.
Local-to-global bound. Let y : κ → ι → K be a finite family of tuples and C ≥ 1. If
v z ≤ C * ∏ k, max (⨆ i, v (y k i)) 1 at every archimedean absolute value v and
v z ≤ ∏ k, max (⨆ i, v (y k i)) 1 at every nonarchimedean one, then the height of z is at
most C ^ totalWeight K times the product of the affine heights of the tuples y k.
Local-to-global bound for sums. Let y : κ → ι → K be a finite family of tuples, and let
every term t a, a ∈ s, of a nonempty finite sum satisfy v (t a) ≤ ∏ k, max (⨆ i, v (y k i)) 1
at every absolute value v. Then the height of the sum is at most #s ^ totalWeight K times the
product of the affine heights of the tuples y k.
The value of a linear form #
The height of the value of a linear form. The height of ∑ i, a i * x i is at most
Nat.card ι ^ totalWeight K times the product of the affine heights of the coefficient tuple a
and of the point x.
The heights on the right have to be affine: scaling a by c multiplies the value by c and
leaves the projective height mulHeight a unchanged. The constant is attained over ℚ
(Height.exists_mulHeight₁_sum_mul_eq).
The logarithmic form of Height.mulHeight₁_sum_mul_le. It needs no nonemptiness hypothesis,
thanks to the junk value log 0 = 0.
The constant of Height.mulHeight₁_sum_mul_le is sharp. Over ℚ, for every nonempty
finite ι, the tuples a = x = 1 have affine height 1 while the value ∑ i, a i * x i is
Nat.card ι, of height Nat.card ι = Nat.card ι ^ totalWeight ℚ.
The height of a product of two coordinates divided by the value of the corresponding
linear form is at most card ι ^ totalWeight K times the product of the projective heights.
The denominator may vanish, with division interpreted as totalized division.
Local Liouville bounds #
Local Liouville inequality for a linear form at an infinite place. The product of
the two local sup norms, raised to v.mult, is bounded by the local value of the form
raised to v.mult, times card ι ^ [K : ℚ] and the product of the projective heights.
The constant and the projective heights are not raised to v.mult.
Local Liouville inequality for a linear form at a finite place. The constant
card ι ^ [K : ℚ] remains present, since the global height still uses the infinite places.
The determinant #
The height of a determinant. The height of A.det is at most
(Nat.card n)! ^ totalWeight K times the product of the affine heights of the columns of A.
This is the Leibniz expansion: the determinant is a sum of (Nat.card n)! signed products, each
taking one entry from every column.
The heights of the columns have to be affine: A ↦ c • A fixes the projective height of the
entries and multiplies the determinant by c ^ Nat.card n (see
Height.exists_not_mulHeight₁_det_le).
The logarithmic form of Matrix.mulHeight₁_det_le.
The height of a determinant against the affine height of the tuple of all entries:
mulHeight₁ A.det ≤ (Nat.card n)! ^ totalWeight K * mulHeightAff (entries A) ^ Nat.card n.
The logarithmic form of Matrix.mulHeight₁_det_le_mulHeightAff_pow.
The determinant is not bounded by the projective height of the entries. For every
constant C some 1 × 1 matrix over ℚ violates mulHeight₁ A.det ≤ C * mulHeight (entries A):
a single entry has projective height 1, while the determinant is that entry. This is why
Matrix.mulHeight₁_det_le uses affine heights.