|
NAG[f02ecc] NAG[nag_real_eigensystem_sel] - Computes selected eigenvalues and eigenvectors of a real general matrix
|
|
Calling Sequence
f02ecc(crit, a, wl, wu, m, w, v, 'n'=n, 'tda'=tda, 'mest'=mest, 'tdv'=tdv, 'fail'=fail)
nag_real_eigensystem_sel(. . .)
Parameters
|
crit - String;
|
|
|
On entry: indicates the criterion for selecting eigenvalues:
|
|
if , then eigenvalues are selected according to their moduli: .
|
|
if , then eigenvalues are selected according to their real parts: .
|
|
Constraint: "Nag_Select_Modulus" or "Nag_Select_RealPart". .
|
|
|
a - Matrix(1..n, 1..tda, datatype=float[8], order=C_order);
|
|
|
On exit: a contains the Hessenberg form of the balanced input matrix (see Section [Further Comments]).
|
|
|
wl - float;
wu - float;
|
|
|
On entry: and , the lower and upper bounds on the criterion for the selected eigenvalues.
|
|
Constraint: . .
|
|
|
m - assignable;
|
|
|
Note: On exit the variable m will have a value of type integer.
|
|
On exit: , the number of eigenvalues actually selected.
|
|
|
w - Vector(1.. , datatype=complex[8]);
|
|
|
Note: the dimension, dim, of the array w must be at least .
|
|
On exit: the first m elements of w hold the values of the selected eigenvalues; elements from the index m to contain the other eigenvalues. Complex conjugate pairs of eigenvalues are stored in consecutive elements of the array, with the eigenvalue having the positive imaginary part first.
|
|
|
v - Matrix(1..n, 1..tdv, datatype=complex[8], order=C_order);
|
|
|
|
'n'=n - integer; (optional)
|
|
|
Default value: the first dimension of the arrays a, w, v and the second dimension of the arrays a, w, vthe array a.
|
|
On entry: , the order of the matrix .
|
|
Constraint: . .
|
|
|
'tda'=tda - integer; (optional)
|
|
|
On entry: the second dimension of the array a as declared in the function from which nag_real_eigensystem_sel (f02ecc) is called.
|
|
Constraint: . .
|
|
|
'mest'=mest - integer; (optional)
|
|
|
Default value: the second dimension of the array v.
|
|
On entry: mest must be an upper bound on , the number of eigenvalues and eigenvectors selected. No eigenvectors are computed if .
|
|
Constraint: . .
|
|
|
'tdv'=tdv - integer; (optional)
|
|
|
On entry: the second dimension of the array v as declared in the function from which nag_real_eigensystem_sel (f02ecc) is called.
|
|
Constraint: . .
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_real_eigensystem_sel (f02ecc) computes selected eigenvalues and eigenvectors of a real general matrix.
|
|
Error Indicators and Warnings
|
|
"NE_2_REAL_ARG_LE"
On entry, while . These arguments must satisfy .
"NE_ALLOC_FAIL"
Dynamic memory allocation failed.
"NE_BAD_PARAM"
On entry, argument crit had an illegal value.
"NE_EIGVEC"
Inverse iteration failed to compute all the specified eigenvectors. If an eigenvector failed to converge, the corresponding column of v is set to zero.
"NE_INT_ARG_LT"
On entry, n must not be less than 0: .
"NE_QR_FAIL"
The QR algorithm failed to compute all the eigenvalues. No eigenvectors have been computed.
"NE_REQD_EIGVAL"
There are more than mest eigenvalues in the specified range. The actual number of eigenvalues in the range is returned in m. No eigenvectors have been computed.
Rerun with the second dimension of .
|
|
|
Examples
|
|
>
|
crit := "Nag_Select_Modulus":
n := 4:
tda := 4:
wl := 0.2:
wu := 0.5:
mest := 3:
tdv := 3:
a := Matrix([[0.35, 0.45, -0.14, -0.17], [0.09, 0.07000000000000001, -0.54, 0.35], [-0.44, -0.33, -0.03, 0.17], [0.25, -0.32, -0.13, 0.11]], datatype=float[8], order='C_order'):
w := Vector(4, datatype=complex[8]):
v := Matrix(4, 3, datatype=complex[8], order='C_order'):
NAG:-f02ecc(crit, a, wl, wu, m, w, v, 'n' = n, 'tda' = tda, 'mest' = mest, 'tdv' = tdv):
|
|
|