Documentation

TauCeti.Algebra.Module.ZLattice.Dual

The dual lattice in a real inner product space #

For a ℤ-submodule L of a real inner product space E, the dual lattice

L^∨ = {x ∈ E | ⟪x, y⟫ ∈ ℤ for all y ∈ L}

is Mathlib's BilinForm.dualSubmodule of the inner product innerₗ E, with ℤ as the ring of coefficients. This file names that submodule ZLattice.dual and develops the part of its theory that holds for a full lattice in a finite-dimensional space: the dual of a full lattice is again a full lattice (ZLattice.dual carries DiscreteTopology and IsZLattice instances), and taking the dual twice gives the lattice back (ZLattice.dual_dual).

Both facts come from the dual-basis description of Mathlib: the dual of the ℤ-span of an ℝ-basis b is the ℤ-span of the basis dual to b for the inner product (ZLattice.dual_span_basis), and a full lattice is the ℤ-span of an ℝ-basis. In particular the ℤ-span of an orthonormal basis is its own dual (ZLattice.dual_span_orthonormalBasis), the self-duality of ℤⁿ ⊆ ℝⁿ.

The dual is antitone, and it commutes with pulling a lattice back along a linear isometry equivalence (ZLattice.dual_comap), so every notion defined from it is an isometry invariant. Along a general continuous linear equivalence e of complete spaces the dual is pulled back along the adjoint of e⁻¹ instead (ZLattice.dual_comap_continuousLinearEquiv): the dual of A L is (A⁻¹)ᵀ L^∨, the transport of dual lattices under a linear change of variables.

This is the dual lattice entering Poisson summation over a lattice, and the integrality, evenness and unimodularity of a lattice in TauCeti/Algebra/Module/ZLattice/Integral.lean are defined from it.

Main definitions #

Notation #

Main statements #

noncomputable def ZLattice.dual {E : Type u} [NormedAddCommGroup E] [InnerProductSpace ℝ E] (L : Submodule ℤ E) :

The dual lattice of L : Submodule ℤ E: the vectors whose inner product with every vector of L is an integer. It is Mathlib's BilinForm.dualSubmodule of the inner product.

Instances For

    The dual lattice of L : Submodule ℤ E: the vectors whose inner product with every vector of L is an integer. It is Mathlib's BilinForm.dualSubmodule of the inner product.

    Instances For
      @[simp]
      theorem ZLattice.mem_dual {E : Type u} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {L : Submodule ℤ E} {x : E} :
      x ∈ dual L ↔ ∀ y ∈ L, ∃ (m : ℤ), inner ℝ x y = ↑m

      A vector lies in the dual lattice exactly when its inner product with every vector of L is an integer.

      theorem ZLattice.dual_anti {E : Type u} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {L M : Submodule ℤ E} (h : L ≤ M) :

      Taking duals reverses inclusions.

      L lies in the dual of M if and only if M lies in the dual of L: both say that L and M pair integrally.

      Every lattice is contained in the dual of its dual. Equality holds for a full lattice in a finite-dimensional space, dual_dual.

      The dual of the ℤ-span of an ℝ-basis is the ℤ-span of the dual basis for the inner product.

      The ℤ-span of an orthonormal basis is discrete, as the ℤ-span of the underlying basis b.toBasis is.

      The ℤ-span of an orthonormal basis is a full lattice, a copy of ℤⁿ ⊆ ℝⁿ.

      An orthonormal basis b is a ℤ-basis of its ℤ-span ℤ b.

      Instances For
        @[simp]

        The i-th vector of the ℤ-basis basisSpanOrthonormalBasis b of ℤ b is b i.

        @[simp]

        The ℤ-span of an orthonormal basis is its own dual.

        theorem ZLattice.dual_span_singleton {c : ℝ} (hc : c ≠ 0) :

        The dual of the rank-one lattice c ℤ ⊆ ℝ (c ≠ 0) is c⁻¹ ℤ.

        When c² is irrational, the rank-one lattice c ℤ ⊆ ℝ meets its dual c⁻¹ ℤ only at 0.

        @[simp]

        The dual commutes with pulling a lattice back along a linear isometry equivalence.

        A linear isometry equivalence e : F ≃ₗᵢ[ℝ] E identifies the dual of the pullback of L with the dual of L.

        Instances For
          @[simp]

          Applying dualComapEquiv L e applies e to the underlying vector.

          @[simp]

          Applying (dualComapEquiv L e).symm applies e.symm to the underlying vector.

          @[simp]

          The dual of the pullback of a lattice along a continuous linear equivalence e is the pullback of the dual along the adjoint of e⁻¹. Read through images, the dual of A L is (A⁻¹)ᵀ L^∨ for a linear automorphism A.

          @[simp]

          The dual of the dual of a full lattice in a finite-dimensional space is the lattice.