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