ZGHFEX

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 ZGHFEX( A, LDA, B, LDB, D, LDD, CO1, SI1, CO2, SI2,
     $                   CO3, SI3 )
C
C     .. Scalar Arguments ..
      INTEGER            LDA, LDB, LDD
      DOUBLE PRECISION   CO1, CO2, CO3
      COMPLEX*16         SI1, SI2, SI3
C
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 index