A matrix over ZZ determines a lattice: this is the ZZ-module generated by the columns. It also determines a generating set. See the book: [H. Cohen, ...] for the definition and the basic algorithms for computing LLL bases.

LLL bases have nice theoretical properties, but the main benefit of LLL bases is that the entries of the resulting matrix often have dramatically small size, even smaller than theory would imply.

This package implements the following functions.

- Symbols
- BKZ -- compute BKZ reduced basis instead of an LLL reduced basis
- CohenEngine -- use the original Macaulay2 LLL algorithm
- CohenTopLevel -- use the Macaulay2 language LLL algorithm
`fpLLL`(missing documentation)- Givens -- use Givens rotations instead of Gram-Schmidt during LLL
`Hermite`(missing documentation)- NTL -- use the all-integer LLL strategy from NTL library
- RealFP -- use double precision real numbers
- RealQP -- use quadruple precision real numbers
- RealQP1 -- use a combination of double precision and quad precision real numbers
- RealRR -- use arbitrary precision real numbers
- RealXD -- use extended exponent real numbers
- Threshold -- the LLL threshold, in interval (1/4,1]

- LLL -- compute an LLL basis

`kernelLLL`(missing documentation)- gcdLLL -- compute the gcd of integers, and small multipliers
`hermite`(missing documentation)

`gramm`(missing documentation)- isLLL -- is a basis an LLL basis?