On Mar 2, 2011, at 4:32 PM, Ted Dunning wrote: > Uh... it has been some time since I read Funk's blog entry on this nor have I > read the code you reference, but isn't it typical for such incremental > solvers to put the singular values with U or V? Suppose that we really get > matrices X and Y instead of the orthonormal matrices U and V such that > Maybe someone else can chime in here. I was under the impression that d1 = d2 = sqrt(s) in this incremental approach, but this is pretty new to me. > (U d1) (V d2)^T = X Y^T > > where d = d1 d2 is the diagonal matrix with the singular values. To get d > back, we just do this: > > d1 = sqrt(X^T X) > d2 = sqrt(Y^T Y) > d = d1 d2
Cool, okay. I see this now. Thanks a lot Ted. I am curious to see how this plays out for my problem! Chris > > Similarly, if we really do get a singular decomposition, we can use the > original matrix to compute the singular values: > > A = U d V^T > > d = U^T A V > > > On Wed, Mar 2, 2011 at 3:52 PM, Chris Schilling <[email protected]> wrote: > 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 <[email protected]> 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? >> > >
