This screen provides a terse summary of the new features installed in Magma for release version V2.3 (January 30, 1998).
A lattice in Magma is a Z-module contained in R^n with some additional structure, in particular an inner product. The basic information for a lattice is a basis, given by a sequence of vectors in R^n, and an inner product (cdot,cdot) given by a positive definite matrix M such that (v,w) = v M w^tr.
Central to the lattice machinery in Magma is a highly optimized LLL algorithm. The LLL algorithm takes a basis of a lattice and returns a new basis of the lattice which is em LLL-reduced which usually means that the vectors of the new basis have small norms. The Magma LLL algorithm is based on the FP-LLL algorithm of Schnorr and Euchner and the de Weger integral algorithm but includes various optimizations, with particular attention to different kinds of input matrices.
All timings given below are for a Sun 200Mhz UltraSPARC 2.
Several interesting lattices are directly accessible inside Magma using standard constructions, e.g., root lattices and preimages of linear codes. For each lattice, a LLL-reduced basis for the lattice is computed and stored internally when necessary and subsequently used for many operations. This gives maximum efficiency for the operations, yet all the operations are presented using the external (``user'') basis of the lattice.
Magma includes a highly optimized algorithm for enumerating all vectors of a lattice of a given norm. This algorithm is used for computing the minimum, the shortest vectors, short vectors in a given range, and vectors close to or closest to a given vector (possibly) outside the lattice. As an example, the 98280 (normalized) shortest vectors of the Leech lattice Lambda_24 are constructed in 6.8 seconds. The genus of the 12-dimensional Coxeter-Todd lattice K_12 is enumerated in 16 seconds and has 16 classes of lattices and mass 4649359/4213820620800 approx 0.000001103359.
The LLL algorithm can operate on either a basis matrix or a Gram matrix (and will use the Gram method even if given a basis matrix and it is deemed appropriate) and can be controlled by many parameters (delta constant, exact de Weger integral method or Schnorr-Euchner floating point method, step and time limits, selection of methods, etc.). The LLL algorithm can reduce matrices with very large entries as well as matrices having large sizes (e.g., number of rows well over 500).
The computation of the automorphism group of a lattice and the testing of lattices for isometry is performed using the AUTO and ISOM programs of Bernd Souvignier. The automorphism group Co_0 of the 24-dimensional Leech lattice Lambda_24 is found in 175 seconds.
The lattice machinery has been developed by Bernd Souvignier and Allan Steel.
A finite-dimensional Lie algebra L over a field K is presented in terms of a basis for a K-vector space V together with a set of structure constants defining the multiplication of these basis elements.
The major structural machinery for Lie algebras has been implemented for Magma by Willem de Graaf and is based on his ELIAS package originally written in GAP.
Features: