※ 引述《brooky (未夠班)》之銘言:
: ※ 引述《yabt (痴心絕對)》之銘言:
: : I have used "lm" to do the same job as yours, and the coefficients are
: : identical to those from SVD.
: : I suppose that your "d_minus" is the "d" component in the ouput of SVD,
: : and there might be some problem in your code.
: Thanks for your reply.
: I use "d_minus" to save "1/d" where d is the component get from SVD.
: I need "1/d" because I want to use it for calculating "x^-1"
: x ^-1 = v %*% w^-1 %*% t(u)
Yeah, I know what you are doing.
Sorry for using the symbols incorrectly in the example code I gave.
What I mean is, while assigning the inverse of "d_minus" to itself,
your code might bring some behaviors that are not what you expect.
The following code may explain what I want to say:
d <- SVD$d
d_minus <- numeric()
d_minus[d > 1e-07] <- 1 / d[d > 1e-07]
d_minus[d <= 1e-07] <- 0
Hope this would bring some help. :)