The qr step that I am talking about is, indeed, QR decomposition and would typically be implemented with a sequential local implementation of Gram-Schmidt.
The win in the outline that I gave was that I was proposing decomposing independent blocks of the A Omega product rather than the whole thing at once. This block decomposition *is* parallelizable, but it isn't really a QR decomposition of the entire matrix. It does, however, provide an orthonormal basis of A Omega. Since we don't care about the R part of the decomposition anyway, that seems good enough. (let me know if there is somewhere that I could describe the process better to make clear that I am suggesting decomposition of indepdendent blocks) On Sun, Apr 11, 2010 at 9:55 PM, Dmitriy Lyubimov <dlie...@gmail.com> wrote: > > > On Sun, Apr 11, 2010 at 6:49 AM, Ted Dunning <ted.dunn...@gmail.com>wrote: > >> I am working out the details of a fully scalable MR implementation of the >> stochastic decomposition and would appreciate some reviews. >> >> See https://issues.apache.org/jira/browse/MAHOUT-376 for details. >> > > > The first step feels a little different from our previous discussion. I > remember asking questions like how we get the Q and you seem to have implied > we just take AOmega instead of orthonormalizing it (i was wondering where > that step would go). > > For reference, i am attaching summary of our previous discussion which i > took liberty of slightly reworking. ( i wanted to test it out using Pig but > still did not quite manage to squeeze it into my schedule). > > Could you please elaborate on qr() proceduer there? If you mean QR > decompostion, then Q is commonly thought of as a result of Gramm-Schmidt > procedure which is iterative (and hence kinda tough to do without > considering other rows of AOmega) > > >