eigen.Hermitian(x, vectors=T, lower=T, value.range=<see below>, index.range=<see below>, tol=<see below>, tune=<see below>, workspace=<see below>)
x
should
be used for the computations. The default is to select the lower triangle.
(min(value.range), max(value.range)]
will be found.
The default is to find all eigenvalues.
[a,b]
of
width less than or equal to
tol + .Machine$double.eps * max(abs(a),abs(b))
.
If
tol
is non-positive, then the value
tol * .Machine$double.eps * T1
,
where
T1
is the one norm of the tridiagonal reduction of
x
, is used.
The default is to use the latter definition of
tol
.
NB
,
NBMIN
, and
NX
as described under
.laenv
.
"values"
and
"vectors"
.
If the entire eigenvalue decomposition is requested,
then the result is an object of class
c("eigen.Hermitian","decomp")
.
Workspace information and a copy of the call to
eigen.Hermitian
are included
as attributes.
Based on the functions dsyevx and zheevx from LAPACK (Anderson et al. 1994).
At most one of the parameters
value.range
and
index.range
may be specified
in any call.
Parameters in
tune
may affect performance and workspace requirements,
but the optimal settings are both machine and problem dependent.
Users may want to experiment with
tune
(see Anderson et al., p. 72-74) to
obtain improved performance.
The optimal workspace is sometimes computed incorrectly. A bug report has been sent to the Lapack maintainers. Anderson, E., et al. (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.
n <- 5 x <- Matrix( rnorm(n*n), nrow = n, ncol = n) x[row(x) < col(x)] <- t(x)[row(x) < col(x)] # x is a real symmetric matrix class(x) <- Matrix.class(x) eigen(x) # eigenvalue decomposition of x