The following functions provide access to the elementary attributes and properties of lattices. Other attributes and invariants of a lattice, e.g., successive minimum, kissing number, and theta series are described in subsequent sections.
The ambient rational or real vector space in which the lattice L embeds, followed by the embedding map.
The ambient vector space of the coordinate lattice, i.e., the vector space of dimension equal to the rank of the lattice L, with inner product matrix equal to the Gram matrix of L. The embedding map is returned as the second return value.
Returns the category Lat of lattices.
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 Rn in which L is defined.
Return the degree of the lattice L, which is the dimension n of the real space Rn in which L is defined.
Return the degree of the lattice element v, which the degree of the lattice to which it belongs.
Given an exact lattice L, return the largest rational number c such that (u, v) ∈cZ for all u, v ∈L.
Given an integral lattice L, return the smallest integer k such that k (v, v) ∈2Z for all v in the dual of L.
Returns the determinant of the lattice L, which is defined to be the determinant of the Gram matrix F of L. For a full rank lattice the square root of Determinant(L) is the volume of a fundamental parallelotope of the lattice.
Return the Gram matrix for the lattice L of rank m, which is the m x m matrix F=BMBtr, 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 bi and bj of L.
Given a matrix X, return XXtr. 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.
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.
Return the basis of the lattice L as a sequence [b1, ..., bm] of elements of L.
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.
Given an exact lattice L, return the common denominator of the entries of the current basis of L.
The quadratic form of the lattice L as a multivariate polynomial.
Given lattices L and M, return true if and only if the lattices are subsets of one another.
The logical negation of eq.
Return true if and only if L is a sublattice of M, i.e., both L and M are lattices, and L is a subset of M.
Return true if and only if L is an exact lattice, i.e., the coefficient ring of L is Z or Q and (v, w) ∈Q for all v, w ∈L.
Return true if and only if L is an integral lattice, i.e., if and only if (v, w) ∈Z for all v, w ∈L.
Return true if and only if L is an even lattice, i.e., if and only if L is integral and (v, v) ∈2Z for all v ∈L.
Return the base ring of the lattice 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.
Return the ring of coordinate coefficients for the lattice L. This currently will always return the integer ring Z.
Given a lattice L, return the lattice L' obtained from coercing the entries of the basis and of the matrix for the inner product into the ring S, together with the homomorphism from L to L'. This will result in an error if any of the entries is not coercible into S. This function is only really useful for moving between real fields of varying precision (it is unnecessary and ineffectual to change a lattice from Z to Q; see the section on presentation of lattices).