On Fri, 11 Jul 2003, ge yreyt wrote: > Dear R-users, > > I have one question about using SVD to get an inverse > matrix of covariance matrix > > Sometimes I met many singular values d are close to 0: > look this example
<snip> > most values of inverse matrix > will be huge. This must be not a good way. MOre > special case, if a single value is 0, then > we can not calculate inverse d based on 1/d. > > Therefore, my question is how I can calculate inverse > d (that is inverse diag(d) more efficiently??? > If singular values are zero the matrix doesn't have an inverse: that is, the equation Mx=b will have multiple solutions for any given b. It is possible to get a pseudoinverse, a matrix M that picks out one of the solutions. One way to do this is to set the diagonal to 1/d where d is not (nearly) zero and to 0 when d is (nearly) zero. One place to find a discussion of this is `Matrix Computations' by Golub and van Loan. -thomas ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help