On 10-Aug-09 22:36:03, cindy Guo wrote: > Hi, Ted, > Thanks for the sample code. It is exactly what I want. But can > I ask another question? The matrix for which I want the negative > square root is a covariance matrix. I suppose it should be positive > definite, so I can do 1/sqrt(V) as you wrote. But the covariance > matrix I got in R using the function cov has a lot of negative > eigenvalues, like -5.338634e-17, so 1/sqrt(V) generates NA's. Can > you tell what's the problem here. > > Thanks, > Cindy
Cindy, If that -5.338634e-17 is typical of the "lot of negative eigenvalues", then what you are seeing is the result of R's attempt to calculate zero eigenvalues, but defeated by the inevitable rounding errors. In other words, your covariance matrix is singular, and the variables involved are not linearly independent. The only thing that is guaranteed about a covariance matrix is that it is positive semi-definite (not positive definite); in other words all eigenvalues are positive or zero (mathematically). For example, if Y=X, var(X) = var(Y) = 1, then cov(X,Y) = 1 1 1 1 which is singular (eigenvalues = 2, 0). The result of attempting to compute them is subject to rounding errors, which (for zero eigenvalues) can be slightly negative. So the covariance matrix in your case would not have an inverse, still less a negative square root! The basic problem is that you have luinear dependence between the variables. To make progress, you would need to find a maximal linearly independent set (or possibly find the principal components with nozero weights). Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 10-Aug-09 Time: 23:58:00 ------------------------------ XFMail ------------------------------ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.