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 eg. volume_image_eq_volume_div_covolume. For the same result in the InnerProductSpace case, we add a prime, for eg. volume_image_eq_volume_div_covolume'. When the same result exists in the general case, we had two primes, eg. covolume.tendsto_card_div_pow''.

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
    theorem ZLattice.covolume_eq_det_mul_measure {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] [MeasurableSpace E] [BorelSpace E] (L : Submodule E) [DiscreteTopology L] [IsZLattice L] (μ : MeasureTheory.Measure E := by volume_tac) [MeasureTheory.Measure.IsAddHaarMeasure μ] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (b : Basis ι L) (b₀ : Basis ι E) :
    ZLattice.covolume L μ = |b₀.det (Subtype.val b)| * (μ (ZSpan.fundamentalDomain b₀)).toReal
    theorem ZLattice.covolume_eq_det {ι : Type u_2} [Fintype ι] [DecidableEq ι] (L : Submodule (ι)) [DiscreteTopology L] [IsZLattice L] (b : Basis ι L) :
    ZLattice.covolume L MeasureTheory.volume = |(Matrix.of (Subtype.val b)).det|
    theorem ZLattice.covolume_eq_det_inv {ι : Type u_2} [Fintype ι] [DecidableEq ι] (L : Submodule (ι)) [DiscreteTopology L] [IsZLattice L] (b : Basis ι L) :
    ZLattice.covolume L MeasureTheory.volume = |(LinearEquiv.det (Basis.ofZLatticeBasis L b).equivFun)|⁻¹
    theorem ZLattice.volume_image_eq_volume_div_covolume {ι : Type u_2} [Fintype ι] [DecidableEq ι] (L : Submodule (ι)) [DiscreteTopology L] [IsZLattice L] (b : Basis ι L) {s : Set (ι)} :
    MeasureTheory.volume ((Basis.ofZLatticeBasis L b).equivFun '' s) = MeasureTheory.volume s / ENNReal.ofReal (ZLattice.covolume L MeasureTheory.volume)
    theorem ZLattice.volume_image_eq_volume_div_covolume' {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] [FiniteDimensional E] [MeasurableSpace E] [BorelSpace E] (L : Submodule E) [DiscreteTopology L] [IsZLattice L] {ι : Type u_3} [Fintype ι] (b : Basis ι L) {s : Set E} (hs : MeasureTheory.NullMeasurableSet s MeasureTheory.volume) :
    MeasureTheory.volume ((Basis.ofZLatticeBasis L b).equivFun '' s) = MeasureTheory.volume s / ENNReal.ofReal (ZLattice.covolume L MeasureTheory.volume)

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

    theorem ZLattice.covolume.tendsto_card_div_pow'' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {L : Submodule E} [DiscreteTopology L] [IsZLattice L] {ι : Type u_2} [Fintype ι] (b : Basis ι L) [FiniteDimensional E] [MeasurableSpace E] [BorelSpace E] {s : Set E} (hs₁ : Bornology.IsBounded s) (hs₂ : MeasurableSet s) (hs₃ : MeasureTheory.volume (frontier ((Basis.ofZLatticeBasis L b).equivFun '' s)) = 0) :
    Filter.Tendsto (fun (n : ) => (Nat.card (s (↑n)⁻¹ L)) / n ^ Fintype.card ι) Filter.atTop (nhds (MeasureTheory.volume ((Basis.ofZLatticeBasis L b).equivFun '' s)).toReal)

    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 : Basis ι L) [FiniteDimensional E] [MeasurableSpace E] [BorelSpace E] [Nonempty ι] {X : Set E} (hX : ∀ ⦃x : E⦄ ⦃r : ⦄, x X0 < rr x X) {F : E} (h₁ : ∀ (x : E) ⦃r : ⦄, 0 rF (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 ((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 ((Basis.ofZLatticeBasis L b).equivFun '' {x : E | x X F x 1})).toReal)

    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 : Basis ι L) {s : Set (ι)} (hs₁ : Bornology.IsBounded s) (hs₂ : MeasurableSet s) (hs₃ : MeasureTheory.volume (frontier s) = 0) :
    Filter.Tendsto (fun (n : ) => (Nat.card (s (↑n)⁻¹ L)) / n ^ Fintype.card ι) Filter.atTop (nhds ((MeasureTheory.volume s).toReal / ZLattice.covolume L MeasureTheory.volume))
    theorem ZLattice.covolume.tendsto_card_le_div {ι : Type u_1} [Fintype ι] (L : Submodule (ι)) [DiscreteTopology L] [IsZLattice L] {X : Set (ι)} (hX : ∀ ⦃x : ι⦄ ⦃r : ⦄, x X0 < rr x X) {F : (ι)} (h₁ : ∀ (x : ι) ⦃r : ⦄, 0 rF (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 {x : ι | x X F x 1}).toReal / ZLattice.covolume L MeasureTheory.volume))
    theorem ZLattice.covolume.tendsto_card_div_pow' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [FiniteDimensional E] [MeasurableSpace E] [BorelSpace E] (L : Submodule E) [DiscreteTopology L] [IsZLattice L] {s : Set E} (hs₁ : Bornology.IsBounded s) (hs₂ : MeasurableSet s) (hs₃ : MeasureTheory.volume (frontier s) = 0) :
    Filter.Tendsto (fun (n : ) => (Nat.card (s (↑n)⁻¹ L)) / n ^ Module.finrank E) Filter.atTop (nhds ((MeasureTheory.volume s).toReal / ZLattice.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 X0 < rr x X) (h₁ : ∀ (x : E) ⦃r : ⦄, 0 rF (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 {x : E | x X F x 1}).toReal / ZLattice.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.