PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_lapack_dsterf (f08jf)
Purpose
nag_lapack_dsterf (f08jf) computes all the eigenvalues of a real symmetric tridiagonal matrix.
Syntax
[
d,
e,
info] = nag_lapack_dsterf(
d,
e, 'n',
n)
Description
nag_lapack_dsterf (f08jf) computes all the eigenvalues of a real symmetric tridiagonal matrix, using a square-root-free variant of the algorithm.
The function uses an explicit shift, and, like
nag_lapack_dsteqr (f08je), switches between the
and
variants in order to handle graded matrices effectively (see
Greenbaum and Dongarra (1980)).
References
Greenbaum A and Dongarra J J (1980) Experiments with QR/QL methods for the symmetric triangular eigenproblem
LAPACK Working Note No. 17 (Technical Report CS-89-92) University of Tennessee, Knoxville
http://www.netlib.org/lapack/lawnspdf/lawn17.pdf
Parlett B N (1998) The Symmetric Eigenvalue Problem SIAM, Philadelphia
Parameters
Compulsory Input Parameters
- 1:
– double array
-
The dimension of the array
d
must be at least
The diagonal elements of the tridiagonal matrix .
- 2:
– double array
-
The dimension of the array
e
must be at least
The off-diagonal elements of the tridiagonal matrix .
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the first dimension of the array
d and the second dimension of the array
d. (An error is raised if these dimensions are not equal.)
, the order of the matrix .
Constraint:
.
Output Parameters
- 1:
– double array
-
The dimension of the array
d will be
The
eigenvalues in ascending order, unless
(in which case see
Error Indicators and Warnings).
- 2:
– double array
-
The dimension of the array
e will be
- 3:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Cases prefixed with W are classified as warnings and
do not generate an error of type NAG:error_n. See nag_issue_warnings.
-
If , parameter had an illegal value on entry. The parameters are numbered as follows:
1:
n, 2:
d, 3:
e, 4:
info.
- W
-
The algorithm has failed to find all the eigenvalues after a total of
iterations. If
, then on exit
elements of
e have not converged to zero.
Accuracy
The computed eigenvalues are exact for a nearby matrix
, where
and
is the
machine precision.
If
is an exact eigenvalue and
is the corresponding computed value, then
where
is a modestly increasing function of
.
Further Comments
The total number of floating-point operations is typically about , but depends on how rapidly the algorithm converges. The operations are all performed in scalar mode.
There is no complex analogue of this function.
Example
This example computes all the eigenvalues of the symmetric tridiagonal matrix
, where
Open in the MATLAB editor:
f08jf_example
function f08jf_example
fprintf('f08jf example results\n\n');
n = 4;
d = [-6.99; 7.92; 2.34; 0.32];
e = [-0.44; -2.63; -1.18];
[w, ~, info] = f08jf( ...
d, e);
disp('Eigenvalues');
disp(w');
f08jf example results
Eigenvalues
-7.0037 -0.4059 2.0028 8.9968
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015