[Next][Prev] [Right] [Left] [Up] [Index] [Root]

LATTICES

 
Acknowledgements
 
Introduction
 
Presentation of Lattices
 
Creation of Lattices
      Elementary Creation of Lattices
      Lattices from Linear Codes
      Lattices from Algebraic Number Fields
      Special Lattices
 
Lattice Elements
      Creation of Lattice Elements
      Operations on Lattice Elements
      Predicates and Boolean Operations
      Access Operations
 
Properties of Lattices
      Associated Structures
      Attributes of Lattices
      Predicates and Booleans on Lattices
      Base Ring and Base Change
 
Construction of New Lattices
      Sub- and Superlattices and Quotients
      Standard Constructions of New Lattices
 
Reduction of Matrices and Lattices
      LLL Reduction
      Pair Reduction
      Seysen Reduction
 
Minima and Element Enumeration
      Minimum, Density and Kissing Number
      Shortest and Closest Vectors
      Short and Close Vectors
      Short and Close Vector Processes
      Successive Minima and Theta Series
 
Voronoi Cells, Holes and Covering Radius
 
Orthogonalization
 
Testing Matrices for Definiteness
 
Automorphism Group and Isometry Testing
 
Genera and Spinor Genera
      Genus Constructions
      Invariants of Genera and Spinor Genera
      Invariants of p-adic Genera
      Neighbour Relations and Graphs
 
Attributes of Lattices
 
Lattices from Matrix Groups
      Creation of G-Lattices
      Operations on G-Lattices
      Related Operations on Matrix Groups
      Invariant Forms
      Endomorphisms
      G-invariant Sublattices
 
Database of Lattices
      Creating the Database
      Database Information
      Accessing the Database
 
Bibliography







DETAILS

 
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
            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

 
Lattice Elements

      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)

 
Properties of Lattices

      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

 
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
            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)

 
Genera and Spinor Genera

      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

 
Lattices from Matrix Groups

      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)

 
Database of Lattices

      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

 
Bibliography