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