|
NAG[f08jfc] NAG[nag_dsterf] - All eigenvalues of real symmetric tridiagonal matrix, root-free variant of or
|
|
Calling Sequence
f08jfc(d, e, 'n'=n, 'fail'=fail)
nag_dsterf(. . .)
Parameters
|
d - Vector(1..dim, datatype=float[8]);
|
|
|
Note: the dimension, dim, of the array d must be at least .
|
|
On entry: the diagonal elements of the tridiagonal matrix .
|
|
|
e - Vector(1..dim, datatype=float[8]);
|
|
|
Note: the dimension, dim, of the array e must be at least .
|
|
On entry: the off-diagonal elements of the tridiagonal matrix .
|
|
On exit: the array is overwritten.
|
|
|
'n'=n - integer; (optional)
|
|
|
Default value: the dimension of the array d.
|
|
On entry: , the order of the matrix .
|
|
Constraint: . .
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_dsterf (f08jfc) computes all the eigenvalues of a real symmetric tridiagonal matrix.
|
|
Description
|
|
nag_dsterf (f08jfc) 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 f08jec (nag_dsteqr), switches between the and variants in order to handle graded matrices effectively (see Greenbaum and Dongarra (1980)).
|
|
Error Indicators and Warnings
|
|
"NE_BAD_PARAM"
On entry, argument had an illegal value.
"NE_CONVERGENCE"
The algorithm has failed to find all the eigenvalues after a total of iterations; elements of e have not converged to zero.
"NE_INT"
On entry, . Constraint: .
"NE_INTERNAL_ERROR"
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please consult NAG for assistance.
|
|
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.
|
|
|
Examples
|
|
>
|
n := 4:
d := Vector([-6.99, 7.92, 2.34, 0.32], datatype=float[8]):
e := Vector([-0.44, -2.63, -1.18], datatype=float[8]):
NAG:-f08jfc(d, e, 'n' = n):
|
|
|
See Also
|
|
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
Parlett B N (1998) The Symmetric Eigenvalue Problem SIAM, Philadelphia
f08 Chapter Introduction.
NAG Toolbox Overview.
NAG Web Site.
|
|