Finding the shortest vectors in a lattice

A is an m × n matrix of integers with nonzero first and second rows.
ℒ is the lattice spanned by the rows of A in ℤn.
The MLLL algorithm is performed on A to give a lattice basis B.

Algorithm (2.8) on page 465 of the Fincke-Pohst algorithm: Improved methods for calculating vectors of short length in a lattice, including a complexity analysis, Math. Comp., vol. 44, no. 170, pp. 463-471, 1985, is performed on this basis to find all vectors X in ℒ with ||X||2 ≤ C, where C is the minimum length squared of the rows of B.

The matrix can be entered either (i) as a string of mn integers separated by spaces, or
(ii) cut and pasted from a text file, with entries separated by spaces and each row ended by a newline:

Enter m (2 ≤ m ≤ 25):
Enter n (2 ≤ n ≤ 25):
Enter the m × n matrix entries :

Last modified 18th October 2011
Return to main page