Purpose
To compute the eigenvalues of a product of matrices, T = T_1*T_2*...*T_p, where T_1 is an upper quasi-triangular matrix and T_2, ..., T_p are upper triangular matrices.Specification
SUBROUTINE MB03WX( N, P, T, LDT1, LDT2, WR, WI, INFO )
C .. Scalar Arguments ..
INTEGER INFO, LDT1, LDT2, N, P
C .. Array Arguments ..
DOUBLE PRECISION T( LDT1, LDT2, * ), WI( * ), WR( * )
Arguments
Input/Output Parameters
N (input) INTEGER
The order of the matrix T. N >= 0.
P (input) INTEGER
The number of matrices in the product T_1*T_2*...*T_p.
P >= 1.
T (input) DOUBLE PRECISION array, dimension (LDT1,LDT2,P)
The leading N-by-N part of T(*,*,1) must contain the upper
quasi-triangular matrix T_1 and the leading N-by-N part of
T(*,*,j) for j > 1 must contain the upper-triangular
matrix T_j, j = 2, ..., p.
The elements below the subdiagonal of T(*,*,1) and below
the diagonal of T(*,*,j), j = 2, ..., p, are not
referenced.
LDT1 INTEGER
The first leading dimension of the array T.
LDT1 >= max(1,N).
LDT2 INTEGER
The second leading dimension of the array T.
LDT2 >= max(1,N).
WR, WI (output) DOUBLE PRECISION arrays, dimension (N)
The real and imaginary parts, respectively, of the
eigenvalues of T. The eigenvalues are stored in the same
order as on the diagonal of T_1. If T(i:i+1,i:i+1,1) is a
2-by-2 diagonal block with complex conjugated eigenvalues
then WI(i) > 0 and WI(i+1) = -WI(i).
Error Indicator
INFO INTEGER
= 0: successful exit;
< 0: if INFO = -i, the i-th argument had an illegal
value.
Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None