Integral symmetric lattices #
An integral symmetric lattice in a rational vector space consists of a full finitely generated
ℤ-submodule together with a symmetric ℚ-bilinear form whose values on the lattice are
integers. The integrality condition is expressed using Mathlib's
LinearMap.BilinForm.dualSubmodule: the carrier is contained in its dual submodule.
The form restricts to a canonical ℤ-bilinear form on the carrier. Conversely, a finite
ℚ-basis and an integral symmetric Gram matrix construct an integral lattice.
References #
TauCetiRoadmap/IntegralLattices/README.mdTauCetiRoadmap/IntegralLattices/Suggested.lean
Main definitions #
TauCeti.IntegralLattice: an integral symmetric lattice in a rational vector space.TauCeti.IntegralLattice.IsNondegenerate: the nondegeneracy mixin for an integral lattice.TauCeti.IntegralLattice.form_mem_one: the rational form takes integer values on lattice vectors.TauCeti.IntegralLattice.le_dualSubmodule_of_le_carrier: every submodule of the carrier is integral for the lattice form.TauCeti.IntegralLattice.rationalBasis: the ambientℚ-basis extending a chosenℤ-basis of the carrier.TauCeti.IntegralLattice.integralForm: the inducedℤ-bilinear form on the carrier.TauCeti.IntegralLattice.ofSubmodule: constructor from a full submodule, symmetric form, and integrality proof.TauCeti.IntegralLattice.ofBasis: the lattice spanned by a basis on which a given form is integral.TauCeti.IntegralLattice.ofBasis.basis: the canonical carrier basis induced by a rational basis.TauCeti.IntegralLattice.ofGramMatrix: the lattice and form determined by an integral symmetric Gram matrix.TauCeti.IntegralLattice.ofGramMatrix.basis: the canonical carrier basis induced by a rational basis.
An integral symmetric lattice in a rational vector space.
The field le_dual says exactly that the form takes integer values on pairs of vectors in
carrier.
The full
ℤ-submodule underlying the lattice.- form : LinearMap.BilinForm ℚ V
The rational symmetric bilinear form on the ambient vector space.
- isLattice : Submodule.IsLattice ℚ self.carrier
The carrier is finitely generated and spans the ambient rational vector space.
The rational bilinear form is symmetric.
Every vector of the carrier lies in its dual submodule.
Instances For
The carrier of an integral lattice is a Mathlib lattice.
An integral lattice coerces to the type of its vectors.
Equations
- TauCeti.IntegralLattice.instCoeSortType = { coe := fun (L : TauCeti.IntegralLattice V) => ↥L.carrier }
An integral lattice coerces to its rational bilinear form.
Equations
- TauCeti.IntegralLattice.instCoeFunForallForallRat = { coe := fun (L : TauCeti.IntegralLattice V) (x y : V) => (L.form x) y }
The flipped rational bilinear form of an integral lattice equals the form itself.
The value of the rational form on lattice vectors is integral.
Every ambient submodule contained in the carrier is integral for the lattice form.
The chosen ℤ-basis of an integral lattice extends to a ℚ-basis of the ambient space.
Equations
Instances For
The ambient rational vector space of an integral lattice is finite-dimensional.
The ℤ-finrank of the carrier of an integral lattice equals the ℚ-finrank of the ambient
space.
Two integral lattices are equal if their carriers and rational forms are equal.
An integral lattice is nondegenerate when its ambient rational bilinear form is
nondegenerate. This is a mixin rather than a field of IntegralLattice, so degenerate lattices
remain objects of the same type.
- nondegenerate : L.form.Nondegenerate
The rational bilinear form has trivial kernel.
Instances
The ambient form of a nondegenerate integral lattice is nondegenerate.
The integral bilinear form induced on the carrier.
This is the integral-valued restriction of L.form, obtained from Mathlib's canonical pairing
between a submodule and its dual submodule.
Equations
Instances For
The integral form recovers the rational form after coercion to ℚ.
The induced integral form is symmetric.
Construct an integral lattice from a full submodule, a symmetric rational bilinear form, and an integrality proof.
Equations
- TauCeti.IntegralLattice.ofSubmodule S B hB hle = { carrier := S, form := B, isLattice := hS, isSymm := hB, le_dual := hle }
Instances For
The ℤ-span of a finite rational basis is a Mathlib lattice.
A symmetric rational form that is integral on basis vectors defines an integral lattice.
The carrier is the ℤ-span of the basis. Bilinearity propagates the integral-value hypothesis
from basis vectors to their integral span.
Equations
- TauCeti.IntegralLattice.ofBasis b B hB hint = { carrier := Submodule.span ℤ (Set.range ⇑b), form := B, isLattice := ⋯, isSymm := hB, le_dual := ⋯ }
Instances For
The canonical carrier basis of ofBasis b B hB hint induced by b.
Equations
- TauCeti.IntegralLattice.ofBasis.basis b B hB hint = Module.Basis.restrictScalars ℤ b
Instances For
Construct an integral lattice from a finite rational basis and an integral symmetric Gram matrix.
Equations
- TauCeti.IntegralLattice.ofGramMatrix b G hG = TauCeti.IntegralLattice.ofBasis b ((Matrix.toBilin b) (G.map ⇑(algebraMap ℤ ℚ))) ⋯ ⋯
Instances For
The canonical carrier basis of ofGramMatrix b G hG induced by b.
Equations
Instances For
Evaluating the induced integral form of ofGramMatrix on embedded basis vectors recovers
the corresponding entry of the Gram matrix.