Talk:Lenstra–Lenstra–Lovász lattice basis reduction algorithm

message: * 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)
replies: text:  There are likely thousands of papers which talk about "lattice reduction"; it's a commonly accepted term.  I think an appropriate title for the article is "Lenstra–Lenstra–Lovász lattice reduction".  Note that there is a Wikipedia article titled "lattice reduction". The current long title looks ridiculous. Sanpitch (talk) 00:39, 15 February 2020 (UTC)
thread_title: Requested move

message: 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 \{ (x_i) \mid x_i \sim x_j \mod 2 \forall i,j \}. It has n linearly independent vectors of length 1, yet its last successive minimum \lambda_n = \sqrt{n} > 1 (once the dimension n is >= 5). 131.234.72.252 (talk) 13:52, 16 June 2008 (UTC)
thread_title: 2nd shortest not equal 2nd successive minimum

message: 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)
thread_title:  Description of the algorithm 

message: 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)
replies: text: 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)
replies: text: 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)
thread_title:  Lattice algorithms in general 

message: I've re-written the LLL pseudo-code for this page. Should it be swapped in?
 INPUT
     a lattice basis \mathbf{b}_0,\mathbf{b}_1,\ldots,\mathbf{b}_n \in \Z^m
     a parameter \delta with \tfrac{1}{4} < \delta < 1, most commonly \delta = \tfrac{3}{4} 
 PROCEDURE
     \mathbf{B^\ast} \gets {\rm GramSchmidt}(\{\mathbf{b}_0,\ldots,\mathbf{b}_n \}) = \{ \mathbf{b}_0^\ast,\ldots,\mathbf{b}_n^\ast \};  and do not normalize
     \mu_{i,j} \gets \frac{\langle \mathbf{b}_i, \mathbf{b}_j^\ast\rangle}{\langle \mathbf{b}_j^\ast,\mathbf{b}_j^\ast \rangle};   using the most current values of \mathbf{b}_i and \mathbf{b}_j^\ast
     k \gets 1;
     while k \leq n do
         for j from k-1 to 0 do
             if |\mu_{k,j}|>\tfrac{1}{2} then
                 \mathbf{b}_k \gets \mathbf{b}_k - \lfloor \mu_{k,j} \rfloor \mathbf{b}_j;
                Update \mathbf{B^\ast} and the related \mu_{i,j}'s as needed.
                (The naive method is to recompoute \mathbf{B^\ast} whenever \mathbf{b}_i changes:
                 \mathbf{B^\ast} \gets {\rm GramSchmidt}(\{\mathbf{b}_0,\ldots,\mathbf{b}_n \}) = \{ \mathbf{b}_0^\ast,\ldots,\mathbf{b}_n^\ast \};)
             end if
         end for
         if \langle \mathbf{b}_k^\ast, \mathbf{b}_k^\ast \rangle \geq \left( \delta - \mu_{k,k-1}^2\right)\langle \mathbf{b}_{k-1}^\ast, \mathbf{b}_{k-1}^\ast \rangle then
             k \gets k+1;
         else
             Swap \mathbf{b}_k and  \mathbf{b}_{k-1};
             Update \mathbf{B^\ast} and the related \mu_{i,j}'s as needed.
             k \gets \max(k-1,1);
         end if
     end while
     return \mathbf{B^\ast} the LLL reduced basis of \{b_0,\ldots,b_n\}
EDIT by Logannc11: 
First of all, not really sure how I'm supposed to talk with you. This is the only article I've edit it. 
That said, I have three things: 
# Your revision of the swap step is misleading. 'Swap b_k and b_{k-1}' explicitly states that both change as opposed to the normal notation of b_k = b_{k-1}, which your use of swap seems to indicate. (FIXED). This was a silly mistake by me, I wrote (b_k, k_{k-1}) \gets (b_{k-1}, b_{k}) then undid it
# You're missing an 'output' section which, while obvious to some, should be there for completeness. And, lets face it, implementing a new algorithm can sometimes fry the brain, so the explicitness can be good. They might, for some reason, suppose that it is {b*...}. Shouldn't the algorithm return b*? EDIT: The orthogonalization of b is not necessarily the same lattice. This is why we do b_k = b_k - etc rather than use the orthogonalization. That is why we return b.
# The rest of the changes are largely aesthetic. I've seen algorithms displayed both ways and I am hesitant to say either is inherently superior. Do you feel that your edit improves on something in particular?  
— Preceding unsigned comment added by Logannc11 (talk • contribs) 07:04, 20 May 2015 (UTC)
thread_title: Update Pseudocode Formatting

message: The German version is better and shorter than this one.  I propose to delete most of what we have, and to replace it with a translation of the German version. Before I do that, I'll wait a while to see if there is agreement on this.   MvH (talk) 15:00, 31 October 2015 (UTC)
replies: text: Yes, please. This article needs help. (I assume you mean a hand-written translation, though; machine translations are not good enough.) —David Eppstein (talk) 17:54, 31 October 2015 (UTC)
thread_title:  Propose to delete most of the page 

message: The "Applications" section appears to me to be more useful than the overly-verbose  "Example" section; I swapped them.  I guess the example should be deleted, with the reference to the place it came from kept; I'll do that in a future edit. Sanpitch (talk) 01:12, 16 January 2020 (UTC)
thread_title:  Put "Applications" ahead of "Example"