Next: eigenvals()
Up: MacAnova Help File
Previous: edit()
Contents
Usage:
eigen(x [,maxit:N, nonconvok:T]), x a REAL symmetric matrix with no
MISSING values, integer N > 0
|
Keywords:
matrix algebra
eigen(x) computes an eigenvector/eigenvalue decomposition of the
REAL symmetric matrix x. The result is a structure with two REAL
components, 'values' and 'vectors'. It an error if x contains any
MISSING values.
Vector eigen(x)$values contains the eigenvalues in decreasing order
(eigen$values[i] >= eigen$values[i+1]). If all you need are the eigen-
values, use eigenvals(x).
The columns of square matrix eigen(x)$vectors are the eigenvectors of x
with eigen$vectors[,j] corresponding to eigen$values[j]. The eigen-
vectors are orthonormal, even when there are repeated eigenvalues.
From the properties of the eigenvalue/eigenvector decomposition of a
matrix,
eigen(x)$vectors %*% dmat(eigen(x)$values) %*% eigen(x)$vectors'
should be the same as x, except for rounding error.
Non-convergence
It is possible for the algorithm used by eigen() not to converge,
although it rarely happens. When it happens, the message
ERROR: algorithm to compute eigenvalues in eigen() did not converge
is printed. Keywords 'maxit' and 'nonconvok' may be helpful in this
situation.
eigen(x maxit:N), where N > 0 is an integer, computes the eigenvalues
and eigenvectors, but sets the maximum number of iterations in the
algorithm to N. The default value is 30. By using N > 30, this may
allow you to compute eigenvalues and vectors you can't otherwise
eigen(x [,maxit:N] ,nonconvok:T) does the same, except failure to
converge is not an error. When convergence does not occur, no message
printed and NULL is returned. You can use this in a macro to make it
possible to recover from failure to converge, perhaps by invoking
eigen() again using 'maxit' to increase the number of iterations.
Keyword phrases 'maxit:T' and 'nonconvok:T' may also be used on
eigenvals(), releigen() and releigenvals().
See also eigenvals(), trideigen(), releigen(), and releigenvals().
Gary Oehlert
2003-01-15