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