Hi, Ted, Now I understand the problem. Thank you for the explanation. It's very helpful. I appreciate it.
Cindy On Mon, Aug 10, 2009 at 3:58 PM, Ted Harding <ted.hard...@manchester.ac.uk>wrote: > 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 ------------------------------ > [[alternative HTML version deleted]] ______________________________________________ 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.