|
NAG[f02gcc] NAG[nag_complex_eigensystem_sel] - Computes selected eigenvalues and eigenvectors of a complex general matrix
|
|
Calling Sequence
f02gcc(crit, a, wl, wu, m, w, v, 'n'=n, 'tda'=tda, 'mest'=mest, 'tdv'=tdv, 'fail'=fail)
nag_complex_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=complex[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 selected eigenvalues; elements from the index m to contain the other eigenvalues.
|
|
|
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_complex_eigensystem_sel (f02gcc) 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_complex_eigensystem_sel (f02gcc) is called.
|
|
Constraint: . .
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_complex_eigensystem_sel (f02gcc) computes selected eigenvalues and eigenvectors of a complex general matrix.
|
|
Description
|
|
nag_complex_eigensystem_sel (f02gcc) computes selected eigenvalues and the corresponding right eigenvectors of a complex general matrix :
Eigenvalues may be selected either by modulus, satisfying:
or by real part, satisfying:
|
|
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 := -5.5:
wu := 5.5:
mest := 3:
tdv := 3:
a := Matrix([[-3.97 -5.04*I , -4.11 +3.7*I , -0.34 +1.01*I , 1.29 -0.86*I ], [0.34 -1.5*I , 1.52 -0.43*I , 1.88 -5.38*I , 3.36 +0.65*I ], [3.31 -3.85*I , 2.5 +3.45*I , 0.88 -1.08*I , 0.64 -1.48*I ], [-1.1 +0.82*I , 1.81 -1.59*I , 3.25 +1.33*I , 1.57 -3.44*I ]], datatype=complex[8], order='C_order'):
w := Vector(4, datatype=complex[8]):
v := Matrix(4, 3, datatype=complex[8], order='C_order'):
NAG:-f02gcc(crit, a, wl, wu, m, w, v, 'n' = n, 'tda' = tda, 'mest' = mest, 'tdv' = tdv):
|

|
|