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
ScaledLattice(L,n) : Lat, RngIntElt -> Lat
Example Lat_LatticeCreate (H66E1)
Lattices from Linear Codes
Lattice(C, "A") : Code -> Lat
Lattice(C, "B") : Code -> Lat
Example Lat_Code (H66E2)
Lattices from Algebraic Number Fields
MinkowskiLattice(O) : RngOrd -> Lat, Map
MinkowskiLattice(I) : RngOrdIdl -> Lat, Map
MinkowskiSpace(K) : FldNum -> KModTup, Map
Example Lat_OrderLattice (H66E3)
Special Lattices
Lattice(X, n) : MonStgElt, RngIntElt -> Lat
Creation of Lattice Elements
L . i : Lat, RngIntElt -> LatElt
L ! Q : Lat, [ RngElt ] -> LatElt
CoordinatesToElement(L, C) : Lat, [ RngIntElt ] -> LatElt
L ! 0 : Lat, RngIntElt -> LatElt
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
Predicates and Boolean Operations
v in L : LatElt, Lat -> BoolElt
v eq w : LatElt, LatElt -> BoolElt
v ne w : LatElt, LatElt -> BoolElt
IsZero(v) : LatElt -> BoolElt
Access Operations
ElementToSequence(v) : LatElt -> [ RngElt ]
Coordinates(v) : LatElt -> [ RngIntElt ]
Coordinates(L, v) : LatElt -> [ RngIntElt ]
CoordinateVector(v) : LatElt -> LatElt
CoordinateVector(L, v) : LatElt -> LatElt
Example Lat_LatticeFunctions (H66E4)
Associated Structures
AmbientSpace(L) : Lat -> ModTupFld, Map
CoordinateSpace(L) : Lat -> ModTupFld, Map
Category(L) : Lat -> Cat
Attributes of Lattices
Dimension(L) : Lat -> RngIntElt
Degree(L) : Lat -> RngIntElt
Content(L) : Lat -> RngElt
Determinant(L) : Lat -> RngElt
GramMatrix(L) : Lat -> AlgMatElt
GramMatrix(X) : ModMatRngElt : -> AlgMatElt
InnerProductMatrix(L) : Lat -> AlgMatElt
Basis(L) : Lat -> [ FldReElt ]
BasisMatrix(L) : Lat -> ModMatRngElt
QuadraticForm(L) : Lat -> RngMPolElt
Predicates and Booleans on Lattices
L eq M : Lat, Lat -> BoolElt
L ne M : Lat, Lat -> BoolElt
IsExact(L) : Lat -> BoolElt
IsIntegral(L) : Lat -> BoolElt
IsEven(L) : Lat -> BoolElt
Base Ring and Base Change
BaseRing(L) : Lat -> Rng
CoordinateRing(L) : Lat -> RngInt
ChangeRing(L, S) : Lat, Rng -> Lat, Map
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
L / s : Lat, RngElt -> Lat
quo< L | S > : Lat, List -> GrpAb, Map
L / S : Lat, Lat -> GrpAb, Map
Index(L, S): Lat, Lat -> RngInt
Example Lat_SubSuperQuo (H66E5)
Standard Constructions of New Lattices
Dual(L) : Lat -> Lat
DualBasisLattice(L) : Lat -> Lat
DualQuotient(L) : Lat -> GrpAb
L + M : Lat, Lat -> Lat
L meet M : Lat, Lat -> Lat
DirectSum(L, M) : Lat, Lat -> Lat
OrthogonalDecomposition(L) : Lat -> [Lat]
TensorProduct(L, M) : Lat, Lat -> Lat
ExteriorSquare(L) : Lat -> Lat
SymmetricSquare(L) : Lat -> Lat
PureLattice(L) : Lat -> Lat
Reduction of Matrices and Lattices
LLL Reduction
Example Lat_LLLUsage (H66E6)
LLL(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
BasisReduction(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
LLLGram(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
GramReduction(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
IsotropicLLLGram(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt
LLLBasisMatrix(L) : Lat -> ModMatElt, AlgMatElt
LLLGramMatrix(L) : Lat -> AlgMatElt, AlgMatElt
LLL(L) : Lat -> Lat, AlgMatElt
SetVerbose("LLL", v) : MonStgElt, RngIntElt ->
Example Lat_LLLXGCD (H66E7)
Pair Reduction
PairReduce(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt
PairReduceGram(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
PairReduce(L) : Lat -> Lat, AlgMatElt
Seysen Reduction
Seysen(X) : ModMatRngElt -> ModMatRngElt, AlgMatElt
SeysenGram(F) : ModMatRngElt -> ModMatRngElt, AlgMatElt, RngIntElt
Seysen(L) : Lat -> Lat, AlgMatElt
Example Lat_Seysen (H66E8)
Minima and Element Enumeration
Minimum, Density and Kissing Number
Minimum(L) : Lat -> RngElt
CentreDensity(L) : Lat -> FldReElt
Density(L) : Lat -> FldReElt
KissingNumber(L) : Lat -> RngElt
Example Lat_Leech (H66E9)
Shortest and Closest Vectors
ShortestVectors(L) : Lat -> [ LatElt ], RngElt
ShortestVectorsMatrix(L) : Lat -> ModMatRngElt
ClosestVectors(L, w) : Lat, ModTupRngElt -> [ LatElt ], RngElt
ClosestVectorsMatrix(L, w) : Lat, ModTupRngElt -> ModMatRngElt, RngElt
Example Lat_Closest (H66E10)
Short and Close Vectors
ShortVectors(L, u) : Lat, RngElt -> [ <LatElt, RngElt> ]
ShortVectorsMatrix(L, u) : Lat, RngElt -> ModMatRngElt
CloseVectors(L, w, u) : Lat, ModTupRngElt, RngElt -> [ <LatElt, RngElt> ]
CloseVectorsMatrix(L, w, u) : Lat, ModTupRngElt, RngElt -> ModMatRngElt
Example Lat_Knapsack (H66E11)
Example Lat_SingularElements (H66E12)
Short and Close Vector Processes
ShortVectorsProcess(L, u) : Lat, RngElt -> LatEnumProc
CloseVectorsProcess(L, w, u) : Lat, ModTupRngElt, RngElt -> LatEnumProc
NextVector(P) : LatEnumProc -> LatElt, RngElt
IsEmpty(P) : LatEnumProc -> BoolElt
Successive Minima and Theta Series
SuccessiveMinima(L) : Lat, RngIntElt -> [ RngIntElt ], [ LatElt ]
ThetaSeries(L, n) : Lat, RngIntElt -> RngSerElt
Example Lat_ThetaSeries (H66E13)
Voronoi Cells, Holes and Covering Radius
VoronoiCell(L) : Lat -> [ ModTupFldElt ], SetEnum , [ ModTupFldElt ]
VoronoiGraph(L) : Lat -> GrphUnd
Holes(L) : Lat -> [ ModTupFldElt ]
DeepHoles(L) : Lat -> [ ModTupFldElt ]
CoveringRadius(L) : Lat -> FldRatElt
Example Lat_Voronoi (H66E14)
Orthogonalization
Orthogonalize(M) : MtrxSpcElt -> MtrxSpcElt, AlgMatElt, RngIntElt
Diagonalization(F) : MtrxSpcElt -> MtrxSpcElt, AlgMatElt, RngIntElt
Orthogonalize(L) : Lat -> Lat, AlgMatElt
Orthonormalize(M, K) : MtrxSpcElt, Fld -> AlgMatElt
Orthonormalize(L) : Lat -> AlgMatElt
Example Lat_Orthogonalize (H66E15)
Testing Matrices for Definiteness
IsPositiveDefinite(F) : ModMatRngElt -> BoolElt
IsPositiveSemiDefinite(F) : ModMatRngElt -> BoolElt
IsNegativeDefinite(F) : ModMatRngElt -> BoolElt
IsNegativeSemiDefinite(F) : ModMatRngElt -> BoolElt
Automorphism Group and Isometry Testing
AutomorphismGroup(L) : Lat -> GrpMat
AutomorphismGroup(L, F) : Lat, [ AlgMatElt ] -> GrpMat
AutomorphismGroup(F) : [ AlgMatElt ] -> GrpMat
Example Lat_AutoAction (H66E16)
Example Lat_AutoStabilizers (H66E17)
Example Lat_AutoDepth (H66E18)
IsIsometric(L, M) : Lat, Lat -> BoolElt, AlgMatElt
IsIsometric(L, F_1, M, F()_2) : Lat, [ AlgMatElt ], Lat, [ AlgMatElt ] -> BoolElt, AlgMatElt
IsIsometric(F_1, F()_2) : [ AlgMatElt ], [ AlgMatElt ] -> BoolElt, AlgMatElt
Example Lat_Isom (H66E19)
Genus Constructions
Genus(L) : Lat -> SymGen
SpinorGenus(L) : Lat -> SymGen
SpinorGenera(G) : SymGen -> [ SymGen ]
Invariants of Genera and Spinor Genera
Representative(G) : SymGen -> Lat
IsSpinorGenus(G) : SymGen -> BoolElt
IsGenus(G) : SymGen -> BoolElt
Determinant(G) : SymGen -> Lat
LocalGenera(G) : SymGen -> Lat
Representative(G) : SymGen -> Lat
G1 eq G2 : SymGen, SymGen -> BoolElt
# G : SymGen -> RngIntElt
SpinorCharacters(G) : SymGen -> [ GrpDrchElt ]
SpinorGenerators(G) : SymGen -> [ RngIntElt ]
AutomorphousClasses(L,p) : Lat, RngIntElt -> RngIntElt
IsSpinorNorm(G,p) : SymGen, RngIntElt -> RngIntElt
Invariants of p-adic Genera
Prime(G) : SymGenLoc -> RngIntElt
Representative(G) : SymGenLoc -> Lat
Determinant(G) : SymGenLoc -> RngIntElt
Dimension(G) : SymGenLoc -> RngIntElt
G1 eq G2 : SymGenLoc, SymGenLoc -> BoolElt
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 ]
AdjacencyMatrix(G,p) : SymGen, RngIntElt -> AlgMatElt
Example Lat_Neighbour (H66E20)
Example Lat_Genus (H66E21)
Attributes of Lattices
L`Minimum : Lat -> RngIntElt
Creation of G-Lattices
Lattice(G) : GrpMat -> Lat
LatticeWithBasis(G, B) : GrpMat, ModMatRngElt -> Lat
LatticeWithBasis(G, B, M) : GrpMat, ModMatRngElt, AlgMatElt -> Lat
LatticeWithGram(G, F) : GrpMat, AlgMatElt -> Lat
Operations on G-Lattices
IsGLattice(L) : Lat -> GrpMat
Group(L) : Lat -> GrpMat
NumberOfActionGenerators(L) : Lat -> RngIntElt
ActionGenerator(L, i) : Lat, RngIntElt -> GrpMat
NaturalGroup(L) : Lat -> GrpMat
NaturalActionGenerator(L, i) : Lat, RngIntElt -> GrpMat
Related Operations on Matrix Groups
BravaisGroup(G) : GrpMat -> GrpMat
IntegralGroup(G) : GrpMat -> GrpMat, AlgMatElt
Invariant Forms
InvariantForms(G) : GrpMat -> [ AlgMatElt ]
InvariantForms(G, n) : GrpMat, RngIntElt -> [ AlgMatElt ]
SymmetricForms(G) : GrpMat -> [ AlgMatElt ]
SymmetricForms(G, n) : GrpMat, RngIntElt -> [ AlgMatElt ]
AntisymmetricForms(G) : GrpMat -> [ AlgMatElt ]
AntisymmetricForms(G, n) : GrpMat, RngIntElt -> [ AlgMatElt ]
NumberOfInvariantForms(G) : GrpMat -> RngIntElt, RngIntElt
NumberOfSymmetricForms(G) : GrpMat -> RngIntElt
NumberOfAntisymmetricForms(G) : GrpMat -> RngIntElt
PositiveDefiniteForm(G) : GrpMat -> AlgMatElt
Example Lat_PositiveDefiniteForm (H66E22)
Endomorphisms
EndomorphismRing(G) : GrpMat -> AlgMat
Endomorphisms(G, n) : GrpMat, RngIntElt -> [ AlgMatElt ]
DimensionOfEndomorphismRing(G) : GrpMat -> RngIntElt
CentreOfEndomorphismRing(G) : GrpMat -> AlgMat
CentralEndomorphisms(G, n) : GrpMat, RngIntElt -> [ AlgMatElt ]
DimensionOfCentreOfEndomorphismRing(G) : GrpMat -> RngIntElt
G-invariant Sublattices
Sublattices(G, p) : GrpMat, RngIntElt -> [ AlgMatElt ]
Sublattices(G, Q) : GrpMat, [ RngIntElt ] -> [ AlgMatElt ]
Sublattices(G) : GrpMat -> [ AlgMatElt ]
Example Lat_Sublattices (H66E23)
Creating the Database
LatticeDatabase() : -> DB
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 (H66E24)
Accessing the Database
Lattice(D, i: parameters): DB, RngIntElt -> Lattice
LatticeData(D, i): DB, RngIntElt -> Rec