I'm trying to test if a correlation matrix is positive semidefinite. My understanding is that a matrix is positive semidefinite if it is Hermitian and all its eigenvalues are positive. The values in my correlation matrix are real and the layout means that it is symmetric. This seems to satisfy the Hermitian criterion so I figure that my real challenge is to check if the eigenvalues are all positive.
I've tried to use eigen(base) to determine the eigenvalues. The results don't indicate any problems, but I thought I'd cross check the syntax by assessing the eigen values of the following simple 3 x 3 matrix: row 1) 2,1,1 row 2) 1,3,2 row 3) -1,1,2 The eigenvalues for this matrix are: 1,2 and 4. I have confirmed this using the following site: http://www.akiti.ca/Eig3Solv.html However, when I run my code in R (see below), I get different answers. What gives? #test std 3 x 3: setwd("S:/790/Actuarial/Computing and VBA/R development/ Eigenvalues") testmatrix<-data.frame(read.csv("threeBythree.csv",header=FALSE)) testmatrix #check that the matrix drawn in is correct nrow(testmatrix) ncol(testmatrix) #calculate the eigenvalues eigen(testmatrix,symmetric = TRUE,only.value=TRUE) ______________________________________________ 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.