Lattices
- Introduction
- Presentation of Lattices
- Creation of Lattices
- Elementary Creation of Lattices
Lattice(X, M): ModMatRngElt, AlgMatElt → Lat
Lattice(n, Q, M): RngIntElt, [ RngElt ], AlgMatElt → Lat
Lattice(S, M): ModTupRng, AlgMatElt → Lat
Lattice(X): ModMatRngElt → Lat
Lattice(n, Q): RngIntElt, [ RngElt ] → Lat
Lattice(S): ModTupRng → Lat
LatticeWithBasis(B, M): ModMatRngElt, AlgMatElt → Lat
LatticeWithBasis(n, Q, M): RngIntElt, [ RngElt ], AlgMatElt → Lat
LatticeWithBasis(S, M): ModTupRng, AlgMatElt → Lat
LatticeWithBasis(B): ModMatRngElt → Lat
LatticeWithBasis(n, Q): RngIntElt, [ RngElt ] → Lat
LatticeWithBasis(S): ModTupRng → Lat
LatticeWithGram(F): AlgMatElt → Lat
LatticeWithGram(n, Q): RngIntElt, [RngElt] → Lat
StandardLattice(n): RngIntElt → Lat
CoordinateLattice(L): Lat → Lat
Module(L): Lat → Lat
ZLattice(L): Lat → Lat
ScaledLattice(L, n): Lat, RngIntElt → Lat
ScaledLattice(L, n): Lat, FldRatElt → 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: Lattice Create
- Lattices from Linear Codes
- Lattices from Algebraic Number Fields
- Special Lattices
- Lattice Elements
- Creation of Lattice Elements
L . i: Lat, RngIntElt → LatElt
L ! Q: Lat, [ RngElt ] → LatElt
elt<L | Q>: Lat, [ RngElt ] → LatElt
CoordinatesToElement(L, C): Lat, [ RngIntElt ] → LatElt
Coordelt(L, C): Lat, [ RngIntElt ] → LatElt
CoordinatesToElement(L, C): Lat, Mtrx → LatElt
Coordelt(L, C): Lat, Mtrx → LatElt
L ! 0: Lat, RngIntElt → LatElt
Zero(L): Lat → LatElt
- Operations on Lattice Elements
- v: LatElt → LatElt
v + w: LatElt, LatElt → LatElt
v - w: LatElt, LatElt → LatElt
v * s: LatElt, RngIntElt → .
s * v: RngIntElt, LatElt → .
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
v * T: LatElt, ModMatRngElt → LatElt
v * T: LatElt, GrpMatElt → LatElt
InnerProduct(v, w): LatElt, LatElt → RngElt
(v, w)
Norm(v): LatElt → RngElt
Length(v, K): LatElt, Fld → FldReElt
Length(v): LatElt → 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
T * L: ModMatRng, Lat → Lat
s * L: RngElt, Lat → Lat
L * s: Lat, RngElt → Lat
J * L: RngInt, Lat → Lat
J * L: RngIntFracIdl, 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: Sub Super Quo
- 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: dual
L + M: Lat, Lat → Lat
L meet M: Lat, Lat → Lat
DirectSum(L, M): Lat, Lat → Lat
OrthogonalSum(L, M): Lat, Lat → Lat
OrthogonalDecomposition(L): Lat → [Lat]
OrthogonalDecomposition(L, F): Lat, [Mtrx] → [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: LLL Usage
LLL(X): ModMatRngElt → ModMatRngElt, AlgMatElt, RngIntElt
LLL(X): AlgMatElt → AlgMatElt, AlgMatElt, RngIntElt
BasisReduction(X): ModMatRngElt → ModMatRngElt, AlgMatElt, RngIntElt
BasisReduction(X): AlgMatElt → AlgMatElt, AlgMatElt, RngIntElt
LLLGram(F): ModMatRngElt → ModMatRngElt, AlgMatElt, RngIntElt
LLLGram(F): AlgMatElt → AlgMatElt, 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: LLLXGCD
- 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
ShortestVectors(L): Lat → [ LatElt ]
ShortestVectorsMatrix(L): Lat → ModMatRngElt
ShortestVector(L): Lat → LatElt
ClosestVectors(L, w): Lat, ModTupRngElt → [ LatElt ], RngElt
ClosestVectors(L, w): Lat, LatElt → [ LatElt ], RngElt
ClosestVectorsMatrix(L, w): Lat, ModTupRngElt → ModMatRngElt, RngElt
ClosestVectorsMatrix(L, w): Lat, LatElt → ModMatRngElt, RngElt
ClosestVector(L, w): Lat, ModTupRngElt → LatElt
ClosestVector(L, w): Lat, LatElt → LatElt
Example: Closest
- Short and Close Vectors
ShortVectors(L, u): Lat, RngElt → [ <LatElt, RngElt> ]
ShortVectors(L, l, u): Lat, RngElt, RngElt → [ <LatElt, RngElt> ]
ShortVectorsMatrix(L, u): Lat, RngElt → ModMatRngElt
ShortVectorsMatrix(L, l, u): Lat, RngElt, RngElt → ModMatRngElt
ShortVector(L, u): Lat, RngElt → LatElt
ShortVector(L, l, u): Lat, RngElt, RngElt → LatElt
CloseVectors(L, w, u): Lat, ModTupRngElt, RngElt → [ <LatElt, RngElt> ]
CloseVectors(L, w, l, u): Lat, ModTupRngElt, RngElt, RngElt → [ <LatElt, RngElt> ]
CloseVectors(L, w, u): Lat, LatElt, RngElt → [ <LatElt, RngElt> ]
CloseVectors(L, w, l, u): Lat, LatElt, RngElt, RngElt → [ <LatElt, RngElt> ]
CloseVectorsMatrix(L, w, u): Lat, ModTupRngElt, RngElt → ModMatRngElt
CloseVectorsMatrix(L, w, l, u): Lat, ModTupRngElt, RngElt, RngElt → ModMatRngElt
CloseVectorsMatrix(L, w, u): Lat, LatElt, RngElt → ModMatRngElt
CloseVectorsMatrix(L, l, u): Lat, LatElt, RngElt, RngElt → ModMatRngElt
CloseVector(L, w, u): Lat, ModTupRngElt, RngElt → LatElt
CloseVector(L, w, l, u): Lat, ModTupRngElt, RngElt, RngElt → LatElt
CloseVector(L, w, u): Lat, LatElt, RngElt → LatElt
CloseVector(L, w, l, u): Lat, LatElt, RngElt, RngElt → LatElt
Example: Knapsack
Example: Singular Elements
- Short and Close Vector Processes
ShortVectorsProcess(L, u): Lat, RngElt → LatEnumProc
ShortVectorsProcess(L, l, u): Lat, RngElt, RngElt → LatEnumProc
CloseVectorsProcess(L, w, u): Lat, ModTupRngElt, RngElt → LatEnumProc
CloseVectorsProcess(L, w, l, u): Lat, ModTupRngElt, RngElt, RngElt → LatEnumProc
CloseVectorsProcess(L, w, u): Lat, LatElt, RngElt → LatEnumProc
CloseVectorsProcess(L, w, l, u): Lat, LatElt, RngElt, RngElt → LatEnumProc
NextVector(P): LatEnumProc → LatElt, RngElt
IsEmpty(P): LatEnumProc → BoolElt
- 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): MtrxSpcElt → MtrxSpcElt, AlgMatElt, RngIntElt
OrthogonalizeGram(F, a): MtrxSpcElt, FldAut → MtrxSpcElt, AlgMatElt, RngIntElt
Orthogonalize(L): Lat → Lat, AlgMatElt
Orthonormalize(M, K): MtrxSpcElt, Fld → AlgMatElt
Cholesky(M, K): MtrxSpcElt, Fld → AlgMatElt
Orthonormalize(M): MtrxSpcElt → AlgMatElt
Cholesky(M): MtrxSpcElt → AlgMatElt
Orthonormalize(L, K): Lat, FldRe → AlgMatElt
Cholesky(L, K): Lat, FldRe → AlgMatElt
Orthonormalize(L): Lat → AlgMatElt
Cholesky(L): Lat → AlgMatElt
Example: Orthogonalize
- Testing Matrices for Definiteness
- Genera and Spinor Genera
- Genus Constructions
Genus(L): Lat → SymGen
Genus(G): SymGen → 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
JordanDecomposition(L, P): Lat, RngInt → 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
Neighbor(L, v, p): Lat, LatElt, RngIntElt → Lat
Neighbours(L, p): Lat, RngIntElt → Lat
Neighbors(L, p): Lat, RngIntElt → Lat
NeighbourClosure(L, p): Lat, RngIntElt → Lat
NeighborClosure(L, p): Lat, RngIntElt → Lat
GenusRepresentatives(L): Lat → [ Lat ], Assoc
SpinorRepresentatives(L): Lat → [ Lat ], Assoc
Representatives(G): SymGen → [ Lat ], Assoc
Representatives(G): SymGen → [ LatNF ], Assoc
PositiveDefiniteQuadraticLattices(n, d): RngIntElt, RngIntElt → [ [ Lat ] ]
TernaryQuadraticLattices(d): RngIntElt → [ [ Lat ] ]
QuaternaryQuadraticLattices(d): RngIntElt → [ [ Lat ] ]
QuinaryQuadraticLattices(d): RngIntElt → [ [ Lat ] ]
AdjacencyMatrix(G, p): SymGen, RngIntElt → AlgMatElt
Example: Neighbour
Example: Genus
- Attributes of Lattices
- Database of Lattices
- Creating the Database
- Database Information
# D: DB → RngIntElt
NumberOfLattices(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: Latdb Names
- Accessing the Database
Lattice(D, i: parameters): DB, RngIntElt → Lattice
Lattice(D, d, i: parameters): DB, RngIntElt, RngIntElt → Lattice
Lattice(D, N: parameters): DB, MonStgElt → Lattice
Lattice(D, N, i: parameters): DB, MonStgElt, RngIntElt → Lattice
LatticeData(D, i): DB, RngIntElt → Rec
LatticeData(D, d, i): DB, RngIntElt, RngIntElt → Rec
LatticeData(D, N): DB, MonStgElt → Rec
LatticeData(D, N, i): DB, MonStgElt, RngIntElt → Rec
Example: latdb
- Hermitian Lattices