# mahout-user mailing list archives

##### Site index · List index
Message view
Top
From Chris Schilling <ch...@cellixis.com>
Subject Re: SVD with PlustAnonUserDataModel
Date Wed, 02 Mar 2011 23:52:11 GMT
```Hey Ted,

I finally had time to get back to this.  This is definitely bringing back some memories :)
I hope you have room for (hopefully) one more question.

So, I have been studying Simon Funk's incremental SVD approach (this is implemented in ExpectationMaximizationSVDFactorizer).
In this method, the singular values are folded in to the left and right matrices:

A = U * sqrt(d) * sqrt(d) * VT = U' * V'T

So, in this case, inverse(V'T) = V * d^-1/2

Whatever the case, my question is the same:  given U' and V'T, I am failing to see an elegant
(i.e. trivial) solution to extracting the singular values.  I was hoping you could help me
out.

Thanks again,
Chris

On Feb 25, 2011, at 2:29 PM, Ted Dunning wrote:

> Yes.  That affects things.  The key is that inverse(diag(d_1 ... d_n)) = diag(1/d_1 ...
1/d_n)
>
> that means that inverse(D V') = V inverse(D).  If you have X' = DV' you need to compute
inverse(X') = X D^-2
>
> On Fri, Feb 25, 2011 at 1:25 PM, Chris Schilling <chris@cellixis.com> wrote:
> One more linear algebra question.  So, does this still hold when the diag(d) matrix is
multiplied through the right hand side?  Is that an affect I should worry about when trying
to compute u?
>

```
Mime
• Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message