- Introduction
- Presentation of Lattices
- Creation of Lattices
- Elementary Creation of Lattices
- Lattice(X, M) : ModMatRngElt, AlgMatElt -> Lat
- Lattice(X) : ModMatRngElt -> Lat
- LatticeWithBasis(B, M) : ModMatRngElt, AlgMatElt -> Lat
- LatticeWithBasis(B) : ModMatRngElt -> Lat
- LatticeWithGram(F) : AlgMatElt -> Lat
- StandardLattice(n) : RngIntElt -> Lat
- CoordinateLattice(L) : Lat -> Lat
- Module(L) : Lat -> Lat
- ScaledLattice(L, n) : Lat, RngIntElt -> Lat
- TernaryQuadraticLattice(d) : RngIntElt -> Lat
- QuaternaryLatticeOfPrimeDiscriminant(p) : RngIntElt -> Lat
- QuinaryLatticeOfPrimeDiscriminant(p) : RngIntElt -> Lat
- QuadraticLattice(n, d) : RngIntElt, RngIntElt -> Lat
- RandomLattice(n, M) : RngIntElt, RngIntElt -> Lat
- Example Lat_LatticeCreate (H31E1)
- Lattices from Linear Codes
- Lattices from Algebraic Number Fields
- Special Lattices
- Lattice Elements
- Creation of Lattice Elements
- Operations on Lattice Elements
- - v : LatElt -> LatElt
- v + w : LatElt, LatElt -> LatElt
- v - w : LatElt, LatElt -> LatElt
- v * s : LatElt, RngIntElt -> .
- v / s : LatElt, RngIntElt -> .
- v div d : LatElt, RngIntElt -> LatElt
- v +:= w : LatElt, LatElt ->
- v -:= w : LatElt, LatElt ->
- v *:= n : LatElt, RngIntElt ->
- v * T : LatElt, AlgMatElt -> LatElt
- InnerProduct(v, w) : LatElt, LatElt -> RngElt
- Norm(v) : LatElt -> RngElt
- Length(v, K) : LatElt, Fld -> FldReElt
- Support(v) : LatElt -> SetEnum
- Predicates and Boolean Operations
- Access Operations
- Properties of Lattices
- Construction of New Lattices
- Sub- and Superlattices and Quotients
- sub<L | S> : Lat, List -> Lat
- ext< L | S > : Lat, List -> Lat
- T * L : AlgMatElt, Lat -> Lat
- s * L : RngElt, Lat -> Lat
- J * L : RngInt, Lat -> Lat
- L / s : Lat, RngElt -> Lat
- quo< L | S > : Lat, List -> GrpAb, Map
- L / S : Lat, Lat -> GrpAb, Map
- ElementaryDivisors(A, B) : Lat, Lat -> [ RngIntFracIdl ]
- Discriminant(A, B) : Lat, Lat -> RngIntFracIdl
- Index(L, S): Lat, Lat -> RngInt
- Example Lat_SubSuperQuo (H31E5)
- Standard Constructions of New Lattices
- Dual(L) : Lat -> Lat
- PartialDual(L, n) : Lat, RngIntElt -> Lat
- DualBasisLattice(L) : Lat -> Lat
- DualQuotient(L) : Lat -> GrpAb, Lat, Map
- EvenSublattice(L) : Lat -> Lat, Map
- Example Lat_dual (H31E6)
- L + M : Lat, Lat -> Lat
- L meet M : Lat, Lat -> Lat
- DirectSum(L, M) : Lat, Lat -> Lat
- OrthogonalDecomposition(L) : Lat -> [Lat]
- OrthogonalDecomposition(F) : [Mtrx] -> [* Mtrx *], [* [Mtrx] *]
- TensorProduct(L, M) : Lat, Lat -> Lat
- ExteriorSquare(L) : Lat -> Lat
- SymmetricSquare(L) : Lat -> Lat
- PureLattice(L) : Lat -> Lat
- IntegralBasisLattice(L) : Lat -> Lat, RngIntElt
- Reduction of Matrices and Lattices
- LLL Reduction
- Example Lat_LLLUsage (H31E7)
- LLL(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
- BasisReduction(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
- LLLGram(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
- LLLBasisMatrix(L) : Lat -> ModMatElt, AlgMatElt
- LLLGramMatrix(L) : Lat -> AlgMatElt, AlgMatElt
- LLL(L) : Lat -> Lat, AlgMatElt
- BasisReduction(L) : Lat -> Lat, AlgMatElt
- SetVerbose("LLL", v) : MonStgElt, RngIntElt ->
- Example Lat_LLLXGCD (H31E8)
- Pair Reduction
- Seysen Reduction
- HKZ Reduction
- BKZ Reduction
- Minkowski Reduction
- Greedy Reduction
- Recovering a Short Basis from Short Lattice Vectors
- Minima and Element Enumeration
- Minimum, Density and Kissing Number
- Shortest and Closest Vectors
- Short and Close Vectors
- ShortVectors(L, u) : Lat, RngElt -> [ <LatElt, RngElt> ]
- ShortVectorsMatrix(L, u) : Lat, RngElt -> ModMatRngElt
- ShortVector(L, u) : Lat, RngElt -> LatElt
- CloseVectors(L, w, u) : Lat, ModTupRngElt, RngElt -> [ <LatElt, RngElt> ]
- CloseVectorsMatrix(L, w, u) : Lat, ModTupRngElt, RngElt -> ModMatRngElt
- CloseVector(L, w, u) : Lat, ModTupRngElt, RngElt -> LatElt
- Example Lat_Knapsack (H31E14)
- Example Lat_SingularElements (H31E15)
- Short and Close Vector Processes
- Successive Minima and Theta Series
- Lattice Enumeration Utilities
- Theta Series as Modular Forms
- Voronoi Cells, Holes and Covering Radius
- Orthogonalization
- Orthogonalize(M) : MtrxSpcElt -> MtrxSpcElt, AlgMatElt, RngIntElt
- Orthogonalization(F) : MtrxSpcElt -> MtrxSpcElt, AlgMatElt, RngIntElt
- OrthogonalizeGram(F, a) : MtrxSpcElt, FldAut -> MtrxSpcElt, AlgMatElt, RngIntElt
- Orthogonalize(L) : Lat -> Lat, AlgMatElt
- Orthonormalize(M, K) : MtrxSpcElt, Fld -> AlgMatElt
- Orthonormalize(L, K) : Lat, FldRe -> AlgMatElt
- Example Lat_Orthogonalize (H31E20)
- Testing Matrices for Definiteness
- Genera and Spinor Genera
- Genus Constructions
- Genus(L) : Lat -> SymGen
- Genera(r, s, d) : RngIntElt, RngIntElt, RngIntElt -> [ SymGen ]
- SpinorGenus(L) : Lat -> SymGen
- SpinorGenera(G) : SymGen -> [ SymGen ]
- Genus(r, s, d, S) : RngIntElt, RngIntElt, RngIntElt, [ SymGenLoc ] -> SymGen
- Local Genus Constructions
- LocalGenus(L, p) : Lat, RngIntElt -> SymGenLoc
- LocalGenus(A, p) : AlgMatElt[RngInt], RngIntElt -> SymGenLoc
- CanonicalLocalGenus(G) : SymGenLoc -> SymGenLoc
- LocalGenus(p, v, r, d) : RngIntElt, [ RngIntElt ], [ RngIntElt ], [ RngElt ] -> SymGenLoc
- LocalGenera(n, d, p) : RngIntElt, RngIntElt, RngIntElt -> [ SymGenLoc ]
- pAdicDiagonalization(L, p) : Lat, RngIntElt -> Lat
- JordanDecomposition(L, p) : Lat, RngIntElt -> List, List, SeqEnum
- pAdicJordanDecomposition(L, p) : Lat, RngIntElt -> AlgMatElt, AlgMatElt
- LocalModification(L, G, p) : Lat, AlgMatElt[RngInt], RngIntElt -> Lat
- Invariants of Genera and Spinor Genera
- Invariants of p-adic Genera
- Neighbour Relations and Graphs
- Neighbour(L, v, p) : Lat, LatElt, RngIntElt -> Lat
- Neighbours(L, p) : Lat, RngIntElt -> Lat
- NeighbourClosure(L, p) : Lat, RngIntElt -> Lat
- GenusRepresentatives(L) : Lat -> [ Lat ], Assoc
- PositiveDefiniteQuadraticLattices(n, d) : RngIntElt, RngIntElt -> [ [ Lat ] ]
- AdjacencyMatrix(G, p) : SymGen, RngIntElt -> AlgMatElt
- Example Lat_Neighbour (H31E21)
- Example Lat_Genus (H31E22)
- Attributes of Lattices
- Database of Lattices
- Creating the Database
- Database Information
- # D: DB -> RngIntElt
- LargestDimension(D): DB -> RngIntElt
- NumberOfLattices(D, d): DB, RngIntElt -> RngIntElt
- NumberOfLattices(D, N): DB, MonStgElt -> RngIntElt
- LatticeName(D, i): DB, RngIntElt -> MonStgElt, RngIntElt
- LatticeName(D, d, i): DB, RngIntElt, RngIntElt -> RecMonStgElt, RngIntElt
- LatticeName(D, N): DB, MonStgElt -> RecMonStgElt, RngIntElt
- LatticeName(D, N, i): DB, MonStgElt, RngIntElt -> RecMonStgElt, RngIntElt
- Example Lat_latdb-names (H31E23)
- Accessing the Database
- Hermitian Lattices
- Bibliography
V2.29, 21 October 2025