eigen(x, ...) eigen.default(x, symmetric = all(x==t(x)), only.values = F)
If y <- eigen(x) and x is symmetric, then up to numerical error x == y$vectors %*% diag(y$values) %*% t(y$vectors) in case x is real and . x == y$vectors %*% diag(y$values) %*% t(Conj(y$vectors)) in case x is complex.
In the case of a non-symmetric real matrix, the eigenvalues and eigenvectors may be complex.
The EXAMPLES section shows a function that uses eigen to compute determinants.
Mardia, K. V., Kent, J. T. and Bibby, J. M. (1979). Multivariate Analysis. Academic Press, London.
Smith, B. T., Boyle, J. M., Dongarra, J. J., et al. (1976). Lecture Notes in Computer Science, Vol. 6, 2nd Edition. Eigensystem Routines - EISPACK Guide. Springer-Verlag, New York.
Thisted, R. A. (1988). Elements of Statistical Computing. Chapman and Hall, New York.
amat <- matrix(c(19,8,11,2,18,17,15,19,10), nrow = 3) eigen(amat)pprcom <- eigen(cov.mve(x)) # robust principal components
amp;# compute determinant using eigenvalues:
det <- function(x) prod(eigen(x)$values)