Talk:Lenstra–Lenstra–Lovász lattice basis reduction algorithm
![]() | Mathematics Start‑class Mid‑priority | |||||||||
|
Update Pseudocode Formatting=
I've re-written the LLL pseudo-code for this page. Should it be swapped in? This sandbox is in the Talk namespace. Either move this page into your userspace, or remove the {{User sandbox}} template.
INPUT a lattice basis a parameter with , most commonly
PROCEDURE and do not normalize using the most current values of and while do for from to do if then Update and the related 's as needed. (The naive method is to recompoute whenever changes: ) end if end for if then else Swap and Update and the related 's as needed. end if end while
Requested move
- Lenstra-Lenstra-Lovász lattice reduction algorithm → Lenstra-Lenstra-Lovász lattice basis reduction algorithm … Rationale: The basis is reduced, not the lattice. … Please share your opinion at Talk:Lenstra-Lenstra-Lovász lattice reduction algorithm. Nuesken 17:24, 18 May 2006 (UTC)
2nd shortest not equal 2nd successive minimum
I attempted to clarify text related to some issues:
- There is not 'the' shortest vector, since there are always at least two of them
- One has to be very careful about stuff like "2nd shortest vectors", as such talk is often incorrect for dimension >= 5. For example, consider the parity lattice defined by . It has linearly independent vectors of length 1, yet its last successive minimum (once the dimension n is >= 5). 131.234.72.252 (talk) 13:52, 16 June 2008 (UTC)
- I apologize, what I wrote yesterday in a hurry is obviously incorrect. The parity lattice has a full set of linearly independent vectors of length 2 (not 1), and there are no shorter nonzero vectors in the lattice (for dimension >= 5). However, those vectors do not form a lattice basis, because the vectors of odd parity cannot be written as integer linear combinations of vectors of even parity. 89.245.87.65 (talk) 06:24, 17 June 2008 (UTC)
Description of the algorithm
It seems to me that a description of the actual algorithm (at least in high-level pseudocode) is needed in order for this article to be in accord with its title. —Preceding unsigned comment added by 84.97.180.156 (talk) 23:09, 22 November 2009 (UTC)
Lattice algorithms in general
I agree that more needs to be said about what the algorithm does. Moreover, I fail to see how a lattice, which is a partial ordering on a set of points, can have a basis in the first place.
Grandfather Gauss saw everything mathematical as embedded in some numerical space. As far as I kmow he only ever gave credit to another mathematician once in his lifetime - Bernhard Reimann.
He definitely did not expect the consequences of finite permutation groups (polynomials >=5) as outlined by Galois. But even to this day everyone embeds finite problems in larger spaces.
This simply is not discrete mathematics, and it addresses lattice traversal in a roundabout way. Reply: j.heyden@bigpond.com — Preceding unsigned comment added by 120.145.16.125 (talk) 08:41, 22 August 2011 (UTC)
- The lattices that are partial orderings are not the same things as the lattices described here, which are regularly spaced sets of points in a Euclidean space. The fact that two such unrelated mathematical objects have the same name is unfortunate but true. —David Eppstein (talk) 17:08, 22 August 2011 (UTC)
- The article's lead should be more explicit about the kind of lattice that is being talked about here. True, the word 'lattice' points to lattice (group), but I don't think that's sufficient. I've taken a stab. --Macrakis (talk) 23:44, 16 January 2015 (UTC)
Contradiction between algorithm description and example
There's a contradiction between the description of the algorithm and the example given. The description indicates the first loop is completed in its entirety before the reduction steps are executed for any basis vector. However, the example shows that the reduction condition is evaluated for the second basis vector before the third basis vector is ever initialized. It doesn't seem like the two steps are independent, so I would think that the order matters. Which is correct? --Prestidigitator (talk) 18:24, 4 February 2013 (UTC)
- I agree, I tried to walk through the example following the algorithm, and I came to the same conclusion. Moreover, I think the pseudocode for the algorithm lacks some rigour. E.g., after the Gram-Schmidt is performed and k is initialized to 2, the algorithm says to check if then execute subroutine RED(k, k-1). This seeams weird as i=n and j=n-1 after the end of the Gram-Schmidt orthogonalization, and it is my impression that, really, we should be looking at at this point. At least that is also what is done in the example, although that is done in the middle of the GS process.
- In the example, I also see something, which does not seem to be consistent. In step 6.1.i the vector b3 is reduced. OK, makes sense. Then the step 6.1.i is repeated with another (makes sense), where the reduction factor is found (OK), and then used to reduce (OK), but when the vectors are inserted, it is the original vector , and not the one, which was just reduced by five times above. I find that confusing. Is that not an error? --Slaunger (talk) 20:43, 29 January 2014 (UTC)