Interesting. I was just reading up on TSQR earlier this morning. I think that this might well be of interest, although less than I would have expected. For instance, here:
https://issues.apache.org/jira/browse/MAHOUT-376 In the attached documents you can see that where in the original stochastic projection version of SVD where QR is used to get a basis of the action of a random projects, that a construct that is the same as the first step in TSQR will suffice instead. This means that the approach taken in TSQR that converts the block-wise QR decompositions into a true decomposition is not needed (for SSVD). Similarly, I wonder if a block-wise decomposition might be just as useful in linear least-squares solutions. The idea is that with row permutation, back-substitution could be done block-wise with each step having an inner linear solution. This might be silly if it really just means that the secondary steps of TSQR are done implicitly. Regardless of all this, the best next step is for you to write a 2 paragraph proposed implementation as a bug report at http://issues.apache.org and then we talk a bit, you code a bit and we all review a bit. If this capability fits in reasonably and the code is good quality (together, we can make it so), then it shouldn't be hard to fit in. Having a TSQR might help our SSVD algorithm as well. On Sun, Jul 3, 2011 at 4:45 PM, David Gleich <[email protected]> wrote: > Hey Ted, > > I've been doing some work on doing QR factorizations in Map-Reduce. > > See https://github.com/dgleich/mrtsqr and > > http://www.cs.purdue.edu/homes/dgleich/publications/Constantine%202011%20-%20TSQR.pdf > > It seems like these would fit nicely into a few of the algorithms in > Mahout. If you think that'd be interesting, what do you think would > be the best way of working on it? > > Thanks, > David Gleich >
