MB03WX

Eigenvalues of a product of matrices in periodic Schur form

[Specification] [Arguments] [Method] [References] [Comments] [Example]

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
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index