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.
>

Reply via email to