## 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