|
NAG[f08jkc] NAG[nag_dstein] - Selected eigenvectors of real symmetric tridiagonal matrix by inverse iteration, storing eigenvectors in real array
|
|
Calling Sequence
f08jkc(d, e, w, iblock, isplit, z, ifailv, 'n'=n, 'm'=m, 'fail'=fail)
nag_dstein(. . .)
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 .
|
|
|
w - Vector(1..dim, datatype=float[8]);
|
|
|
Note: the dimension, dim, of the array w must be at least .
|
|
|
iblock - Vector(1..dim, datatype=integer[kernelopts('wordsize')/8]);
|
|
|
Note: the dimension, dim, of the array iblock must be at least .
|
|
Constraint: , for . .
|
|
|
isplit - Vector(1..dim, datatype=integer[kernelopts('wordsize')/8]);
|
|
|
Note: the dimension, dim, of the array isplit must be at least .
|
|
|
z - Matrix(1..dim1, 1..dim2, datatype=float[8], order=order);
|
|
|
Note: this array may be supplied in Fortran_order or C_order , as specified by order. All array parameters must use a consistent order.
|
|
|
ifailv - Vector(1..dim, datatype=integer[kernelopts('wordsize')/8]);
|
|
|
Note: the dimension, dim, of the array ifailv must be at least .
|
|
On exit: if , the first elements of ifailv contain the indices of any eigenvectors which have failed to converge. The rest of the first m elements of ifailv are set to 0.
|
|
|
'n'=n - integer; (optional)
|
|
|
Default value: the dimension of the array d.
|
|
On entry: , the order of the matrix .
|
|
Constraint: . .
|
|
|
'm'=m - integer; (optional)
|
|
|
Default value: the second dimension of the array z.
|
|
On entry: , the number of eigenvectors to be returned.
|
|
Constraint: . .
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_dstein (f08jkc) computes the eigenvectors of a real symmetric tridiagonal matrix corresponding to specified eigenvalues, by inverse iteration.
|
|
Error Indicators and Warnings
|
|
"NE_ALLOC_FAIL"
Dynamic memory allocation failed.
"NE_BAD_PARAM"
On entry, argument had an illegal value.
"NE_CONSTRAINT"
On entry, , , . Constraint: if , , for .
"NE_CONVERGENCE"
eigenvectors (as indicated by argument ifailv) each failed to converge in 5 iterations. The current iterate after 5 iterations is stored in the corresponding column of z.
"NE_INT"
On entry, . Constraint: .
On entry, . Constraint: .
"NE_INT_2"
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
|
|
Each computed eigenvector is the exact eigenvector of a nearby matrix , such that
where is the machine precision. Hence the residual is small:
However, a set of eigenvectors computed by this function may not be orthogonal to so high a degree of accuracy as those computed by f08jec (nag_dsteqr).
|
|
|
Examples
|
|
>
|
n := 4:
m := 2:
d := Vector([2.07, 1.474093708197552, -0.6491595075457839, -1.694934200651768], datatype=float[8]):
e := Vector([-5.825753170191817, 2.624045178795587, 0.9162727563219193], datatype=float[8]):
w := Vector([-5.003353145492033, -1.998704574808668, 0, 0], datatype=float[8]):
iblock := Vector([1, 1, 0, 0], datatype=integer[kernelopts('wordsize')/8]):
isplit := Vector([4, 0, 0, 0], datatype=integer[kernelopts('wordsize')/8]):
z := Matrix(4, 2, datatype=float[8]):
ifailv := Vector(2, datatype=integer[kernelopts('wordsize')/8]):
NAG:-f08jkc(d, e, w, iblock, isplit, z, ifailv, 'n' = n, 'm' = m):
|
|
|
See Also
|
|
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Jessup E and Ipsen I C F (1992) Improving the accuracy of inverse iteration SIAM J. Sci. Statist. Comput. 13 550–572
f08 Chapter Introduction.
NAG Toolbox Overview.
NAG Web Site.
|
|