[ top | up ]

Spectral Decomposition of a Matrix

Syntax

eigen(x, symmetric=all(x==t(x)), only.values=FALSE)
eigen.rs(x, only.values=FALSE)
eigen.rg(x, only.values=FALSE)

Arguments

x a matrix whose spectral decomposition is to be computed.
symmetric if TRUE, the matrix is assumed to be symmetric and only its lower triangle is used.
only.values if TRUE, only the eigenvalues are computed and returned, otherwise both eigenvalues and eigenvectors are returned.

Description

These functions provide an interface to the EISPACK routines RS and RG. The functions eigen.rs and eigen.rg provide versions of the decomposition for the symmetric and general cases. They provide a slight performance advantage by skipping the symmetry test of eigen.

Value

The spectral decomposition of x is returned as components of a list. If the eigenvalues are all real the list contains components; values, a vector containing the eigenvalues of x and vectors, a matrix whose columns contain the eigenvectors of x.

If some of the eigenvalues are complex, the list contains additional components; values.im and vectors.im, which respectively contain the imaginary parts of the eigenvalues and eigenvectors of x.

References

Smith, B. T, J. M. Boyle, J. J. Dongarra, B. S. Garbow, Y. Ikebe, V. Klema, C. B. Moler (1976). Matrix Eigensystems Routines - EISPACK Guide. Springer-Verlag Lecture Notes in Computer Science.

See Also

svd, qr.