## MB03CZ

### Exchanging eigenvalues of a complex 2-by-2 upper triangular pencil (factored version)

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

Purpose

      To compute unitary matrices Q1, Q2, and Q3 for a complex 2-by-2
      regular pencil aAB - bD, with A, B, D upper triangular, such that
      Q3' A Q2, Q2' B Q1, Q3' D Q1 are still upper triangular, but the
      eigenvalues are in reversed order. The matrices Q1, Q2, and Q3 are
      represented by

           (  CO1  SI1  )       (  CO2  SI2  )       (  CO3  SI3  )
      Q1 = (            ), Q2 = (            ), Q3 = (            ).
           ( -SI1' CO1  )       ( -SI2' CO2  )       ( -SI3' CO3  )

      The notation M' denotes the conjugate transpose of the matrix M.

Specification

          SUBROUTINE MB03CZ( A, LDA, B, LDB, D, LDD, CO1, SI1, CO2, SI2,
         $                   CO3, SI3 )
    C     .. Scalar Arguments ..
          INTEGER            LDA, LDB, LDD
          DOUBLE PRECISION   CO1, CO2, CO3
          COMPLEX*16         SI1, SI2, SI3
    C     .. Array Arguments ..
          COMPLEX*16         A( LDA, * ), B( LDB, * ), D( LDD, * )

Arguments

Input/Output Parameters

      A       (input) COMPLEX*16 array, dimension (LDA, 2)
              On entry, the leading 2-by-2 upper triangular part of
              this array must contain the matrix A of the pencil.
              The (2,1) entry is not referenced.

      LDA     INTEGER
              The leading dimension of the array A.  LDA >= 2.

      B       (input) COMPLEX*16 array, dimension (LDB, 2)
              On entry, the leading 2-by-2 upper triangular part of
              this array must contain the matrix B of the pencil.
              The (2,1) entry is not referenced.

      LDB     INTEGER
              The leading dimension of the array B.  LDB >= 2.

      D       (input) COMPLEX*16 array, dimension (LDD, 2)
              On entry, the leading 2-by-2 upper triangular part of
              this array must contain the matrix D of the pencil.
              The (2,1) entry is not referenced.

      LDD     INTEGER
              The leading dimension of the array D.  LDD >= 2.

      CO1     (output) DOUBLE PRECISION
              The upper left element of the unitary matrix Q1.

      SI1     (output) COMPLEX*16
              The upper right element of the unitary matrix Q1.

      CO2     (output) DOUBLE PRECISION
              The upper left element of the unitary matrix Q2.

      SI2     (output) COMPLEX*16
              The upper right element of the unitary matrix Q2.

      CO3     (output) DOUBLE PRECISION
              The upper left element of the unitary matrix Q3.

      SI3     (output) COMPLEX*16
              The upper right element of the unitary matrix Q3.

Method

      The algorithm uses unitary transformations as described on page 37
      in [1].

References

      [1] Benner, P., Byers, R., Mehrmann, V. and Xu, H.
          Numerical Computation of Deflating Subspaces of Embedded
          Hamiltonian Pencils.
          Tech. Rep. SFB393/99-15, Technical University Chemnitz,
          Germany, June 1999.

Numerical Aspects

      The algorithm is numerically backward stable.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index