Documentation

Mathlib.Algebra.Module.ZLattice.Covolume

Covolume of ℤ-lattices #

Let E be a finite-dimensional real vector space.

Let L be a ℤ-lattice L defined as a discrete ℤ-submodule of E that spans E over ℝ.

Main definitions and results #

Naming convention #

Some results are true in the case where the ambient finite-dimensional real vector space is the pi-space ι → ℝ and in the case where it is an InnerProductSpace. We use the following convention: the plain name is for the pi case, for e.g. volume_image_eq_volume_div_covolume. For the same result in the InnerProductSpace case, we add a prime, for e.g. volume_image_eq_volume_div_covolume'. When the same result exists in the general case, we had two primes, e.g. covolume.tendsto_card_div_pow''.

noncomputable def ZLattice.covolume {E : Type u_1} [NormedAddCommGroup E] [MeasurableSpace E] (L : Submodule ℤ E) (μ : MeasureTheory.Measure E := by volume_tac) :

The covolume of a ℤ-lattice is the volume of some fundamental domain; see ZLattice.covolume_eq_volume for the proof that the volume does not depend on the choice of the fundamental domain.

Equations
Instances For

    Let L₁ be a sub-ℤ-lattice of L₂. Then the index of L₁ inside L₂ is equal to covolume L₁ / covolume L₂.

    A more general version of covolume_div_covolume_eq_relIndex; see the Naming conventions section in the introduction.

    A version of ZLattice.covolume.tendsto_card_div_pow for the general case; see the Naming convention section in the introduction.

    theorem ZLattice.covolume.tendsto_card_le_div'' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {L : Submodule ℤ E} [DiscreteTopology ↥L] [IsZLattice ℝ L] {ι : Type u_2} [Fintype ι] (b : Module.Basis ι ℤ ↥L) [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [Nonempty ι] {X : Set E} (hX : ∀ ⦃x : E⦄ ⦃r : ℝ⦄, x ∈ X → 0 < r → r • x ∈ X) {F : E → ℝ} (h₁ : ∀ (x : E) ⦃r : ℝ⦄, 0 ≤ r → F (r • x) = r ^ Fintype.card ι * F x) (h₂ : Bornology.IsBounded {x : E | x ∈ X ∧ F x ≤ 1}) (h₃ : MeasurableSet {x : E | x ∈ X ∧ F x ≤ 1}) (h₄ : MeasureTheory.volume (frontier (⇑(Module.Basis.ofZLatticeBasis ℝ L b).equivFun '' {x : E | x ∈ X ∧ F x ≤ 1})) = 0) :
    Filter.Tendsto (fun (c : ℝ) => ↑(Nat.card ↑({x : E | x ∈ X ∧ F x ≤ c} ∩ ↑L)) / c) Filter.atTop (nhds (MeasureTheory.volume.real (⇑(Module.Basis.ofZLatticeBasis ℝ L b).equivFun '' {x : E | x ∈ X ∧ F x ≤ 1})))

    A version of ZLattice.covolume.tendsto_card_le_div for the general case; see the Naming conventions section in the introduction.

    theorem ZLattice.covolume.tendsto_card_div_pow {ι : Type u_1} [Fintype ι] (L : Submodule ℤ (ι → ℝ)) [DiscreteTopology ↥L] [IsZLattice ℝ L] (b : Module.Basis ι ℤ ↥L) {s : Set (ι → ℝ)} (hs₁ : Bornology.IsBounded s) (hs₂ : MeasurableSet s) (hs₃ : MeasureTheory.volume (frontier s) = 0) :
    theorem ZLattice.covolume.tendsto_card_le_div {ι : Type u_1} [Fintype ι] (L : Submodule ℤ (ι → ℝ)) [DiscreteTopology ↥L] [IsZLattice ℝ L] {X : Set (ι → ℝ)} (hX : ∀ ⦃x : ι → ℝ⦄ ⦃r : ℝ⦄, x ∈ X → 0 < r → r • x ∈ X) {F : (ι → ℝ) → ℝ} (h₁ : ∀ (x : ι → ℝ) ⦃r : ℝ⦄, 0 ≤ r → F (r • x) = r ^ Fintype.card ι * F x) (h₂ : Bornology.IsBounded {x : ι → ℝ | x ∈ X ∧ F x ≤ 1}) (h₃ : MeasurableSet {x : ι → ℝ | x ∈ X ∧ F x ≤ 1}) (h₄ : MeasureTheory.volume (frontier {x : ι → ℝ | x ∈ X ∧ F x ≤ 1}) = 0) [Nonempty ι] :
    Filter.Tendsto (fun (c : ℝ) => ↑(Nat.card ↑({x : ι → ℝ | x ∈ X ∧ F x ≤ c} ∩ ↑L)) / c) Filter.atTop (nhds (MeasureTheory.volume.real {x : ι → ℝ | x ∈ X ∧ F x ≤ 1} / covolume L MeasureTheory.volume))

    A version of ZLattice.covolume.tendsto_card_div_pow for the InnerProductSpace case; see the Naming convention section in the introduction.

    theorem ZLattice.covolume.tendsto_card_le_div' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] [Nontrivial E] {X : Set E} {F : E → ℝ} (hX : ∀ ⦃x : E⦄ ⦃r : ℝ⦄, x ∈ X → 0 < r → r • x ∈ X) (h₁ : ∀ (x : E) ⦃r : ℝ⦄, 0 ≤ r → F (r • x) = r ^ Module.finrank ℝ E * F x) (h₂ : Bornology.IsBounded {x : E | x ∈ X ∧ F x ≤ 1}) (h₃ : MeasurableSet {x : E | x ∈ X ∧ F x ≤ 1}) (h₄ : MeasureTheory.volume (frontier {x : E | x ∈ X ∧ F x ≤ 1}) = 0) :
    Filter.Tendsto (fun (c : ℝ) => ↑(Nat.card ↑({x : E | x ∈ X ∧ F x ≤ c} ∩ ↑L)) / c) Filter.atTop (nhds (MeasureTheory.volume.real {x : E | x ∈ X ∧ F x ≤ 1} / covolume L MeasureTheory.volume))

    A version of ZLattice.covolume.tendsto_card_le_div for the InnerProductSpace case; see the Naming convention section in the introduction.