This is pretty exciting! Thanks Dmitriy.
On Wed, Jul 3, 2013 at 10:12 PM, Dmitriy Lyubimov <dlie...@gmail.com> wrote: > Excellent! > > so I guess SSVD can be divorced from apache-math solver then. > > Actually it all shaping up surprisingly well, with scala DSL for both > in-core and mahout DRMS and spark solvers. I haven't been able to pay as > much attention to this as i hoped due to being pretty sick last month. But > even with very few time, I think DRM+DSL drivers and in-core scala DSL for > this might earn much easier acceptance for in-core and distributed linear > algebra in Mahout. Not to mention memory-cached DRM spark representation is > a door to iterative solvers. It's been coming together quite nicely and > in-core eigen decomposition makes it a really rounded offer. (i of course > was after eigen for the spark version of SSVD/PCA). > > I guess i will report back when i get basic Bagel-based primitives working > for DRMs. > > > On Wed, Jul 3, 2013 at 8:53 PM, Ted Dunning <ted.dunn...@gmail.com> wrote: > > > On Wed, Jul 3, 2013 at 6:25 PM, Dmitriy Lyubimov <dlie...@gmail.com> > > wrote: > > > > > On Wed, Jun 19, 2013 at 12:20 AM, Ted Dunning <ted.dunn...@gmail.com> > > > wrote: > > > > > > > > > > > As far as in-memory solvers, we have: > > > > > > > > 1) LR decomposition (tested and kinda fast) > > > > > > > > 2) Cholesky decomposition (tested) > > > > > > > > 3) SVD (tested) > > > > > > > > > > Ted, > > > so we don't have an eigensolver for the in-core Matrix? > > > > > > > Yes. We do. > > > > See org.apache.mahout.math.solver.EigenDecomposition > > > > Looking at the history, I am slightly surprised to see that I was the one > > who copied it from JAMA, replacing the Colt version and adding tests. > > > > > > > I understand that svd can be solved with an eigen decomposition but not > > the > > > other way around, right? > > > > > > > Well, the eigen decomposition of the normal matrix can give the SVD, but > > this is often not recommended due to poor conditioning. In fact, the > eigen > > decomposition of any positive definite matrix is the same as the SVD. > > > > Where eigen values are complex, it is common to decompose to a block > > diagonal form where real values are on the diagonal and complex > > eigen-values are represented as 2x2 blocks. Our decomposition does this. > > >