[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Properties of Lattices

Properties of Lattices

The following functions provide access to properties of lattices. Note that other invariants of a lattice, e.g., minimum, kissing number, and Theta series are described in subsequent sections.

Dimension(L) : Lat -> RngIntElt
Rank(L) : Lat -> RngIntElt
Return the rank of the lattice L, which equals the number of basis elements in L. Note that the rank of the lattice may be smaller than its degree n, which is the dimension of the real space R^n in which L is defined.
Degree(L) : Lat -> RngIntElt
Return the degree of the lattice L, which is the dimension n of the real space R^n in which L is defined.
IsIntegral(L) : Lat -> BoolElt
Return true if and only if L is an integral lattice, i.e., if and only if (v, w) in Z for all v, w in L.
IsEven(L) : Lat -> BoolElt
Return true if and only if L is an even lattice, i.e., if and only if L is integral and (v, v) in 2Z for all v in L.
Basis(L) : Lat -> [ FldReElt ]
Basis(L) : Lat -> [ FldRatElt ]
Basis(L) : Lat -> [ RngIntElt ]
Return the basis of the lattice L as a sequence [b_1, ..., b_m] of elements of L.
BasisMatrix(L) : Lat -> ModMatRngElt
Return the m x n matrix having the basis elements of L as rows, where m is the rank and n the degree of L. The coefficient ring of the matrix is the same as the base ring of L.
BaseRing(L) : Lat -> Rng
CoefficientRing(L) : Lat -> Rng
Return the base ring of L, which is the ring over which the elements of L are represented. Note that lattices are always Z-modules even if the base ring is not Z; the base ring R is just defined to be the smallest ring over which the basis and inner product matrices can be represented. See the section on presentation of lattices at the beginning of the chapter for further discussion.
CoordinateRing(L) : Lat -> RngInt
Return the ring of coordinate coefficients for the lattice L. This currently will always return the integer ring Z.
GramMatrix(L) : Lat -> AlgMatElt
Return the Gram matrix for the lattice L of rank m, which is the m x m matrix F=BMB^(tr), where B is the basis matrix of L and M is the inner product matrix of L. Thus the (i, j)-th entry of F equals the inner product of the basis vectors b_i and b_j of L.
GramMatrix(X) : ModMatRngElt : -> AlgMatElt
Given a matrix X, return XX^(tr). Note that this function will take half the time as would be taken for the invocation X*Transpose(X) since the symmetry of the result is taken advantage of.
Determinant(L) : Lat -> RngElt
Return the determinant of the lattice L, which is defined to be the determinant of the Gram matrix F of L. For a full lattice the square root of Determinant(L) is the volume of a fundamental parallelotope of the lattice.
Index(L, S): Lat, Lat -> RngInt
Given a lattice L and a sublattice S of L, return the index of S in L. This is the cardinality of the quotient L/S. If the index is infinite, zero is returned.
InnerProductMatrix(L) : Lat -> AlgMatElt
Return the inner product matrix M of the lattice L, which is an n x n matrix, where n is the degree of L. If L has the standard Euclidean product, M is the identity matrix.
ZSpace(L) : Lat -> ModTupRng, RngIntElt
Given an exact lattice L (over Z or Q), return the R-space M over Z and minimal integer denominator d such that L = M/d. The basis of M will equal the basis of L multiplied by d.
QSpace(L) : Lat -> ModTupFld
Given an exact lattice L (over Z or Q), return the R-space (vector space) V over Q which is spanned by the basis of L. Note that V is thus a Q-module while L is a Z-module.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]