DGHUET

Reducing a real 2-by-2 or 4-by-4 block (anti-)diagonal skew-Hamiltonian/Hamiltonian pencil to
generalized Schur form and moving eigenvalues with negative real parts to the top (unfactored version)

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

Purpose

     To compute orthogonal matrices Q1 and Q2 for a real 2-by-2 or
     4-by-4 regular pencil

                   ( A11  0  )     (  0  B12 )
       aA - bB = a (         ) - b (         ),                     (1)
                   (  0  A22 )     ( B21  0  )

     such that Q2' A Q1 is upper triangular, Q2' B Q1 is upper quasi-
     triangular, and the eigenvalues with negative real parts (if there
     are any) are allocated on the top. The notation M' denotes the
     transpose of the matrix M. The submatrices A11, A22, and B12 are
     upper triangular. If B21 is 2-by-2, then all the other blocks are
                                    -1        -1
     nonsingular and the product A11   B12 A22   B21 has a pair of
     complex conjugate eigenvalues.
Specification
      SUBROUTINE DGHUET( N, PREC, A, LDA, B, LDB, Q1, LDQ1, Q2, LDQ2,
     $                   DWORK, LDWORK, INFO )
C
C     .. Scalar Arguments ..
      INTEGER            INFO, LDA, LDB, LDQ1, LDQ2, LDWORK, N
      DOUBLE PRECISION   PREC
C
C     .. Array Arguments ..
      DOUBLE PRECISION   A( LDA, * ), B( LDB, * ), DWORK( * ),
     $                   Q1( LDQ1, * ), Q2( LDQ2, * )
Arguments

Input/Output Parameters

     N       (input) INTEGER
             The order of the input pencil, N = 2 or N = 4.

     PREC    (input) DOUBLE PRECISION
             The machine precision, (relative machine precision)*base.
             See the LAPACK Library routine DLAMCH.

     A       (input/output) DOUBLE PRECISION array, dimension (LDA, N)
             On entry, the leading N-by-N part of this array must
             contain the matrix A of the pencil aA - bB.
             If N = 2, the diagonal elements only are referenced.
             On exit, if N = 4, the leading N-by-N part of this array
             contains the transformed upper triangular matrix of the
             generalized real Schur form of the pencil aA - bB.
             If N = 2, this array is unchanged on exit.

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

     B       (input/output) DOUBLE PRECISION array, dimension (LDB, N)
             On entry, the leading N-by-N part of this array must
             contain the matrix B of the pencil aA - bB.
             If N = 2, the anti-diagonal elements only are referenced.
             On exit, if N = 4, the leading N-by-N part of this array
             contains the transformed real Schur matrix of the
             generalized real Schur form of the pencil aA - bB.
             If N = 2, this array is unchanged on exit.

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

     Q1      (output) DOUBLE PRECISION array, dimension (LDQ1, N)
             The leading N-by-N part of this array contains the first
             orthogonal transformation matrix.

     LDQ1    INTEGER
             The leading dimension of the array Q1.  LDQ1 >= N.

     Q2      (output) DOUBLE PRECISION array, dimension (LDQ2, N)
             The leading N-by-N part of this array contains the second
             orthogonal transformation matrix.

     LDQ2    INTEGER
             The leading dimension of the array Q2.  LDQ2 >= N.
Workspace
     DWORK   DOUBLE PRECISION array, dimension (LDWORK)
             If N = 2, then DWORK is not referenced.

     LDWORK  INTEGER
             The dimension of the array DWORK.
             If N = 4, then LDWORK >= 63. For good performance LDWORK
             should be generally larger.
             If N = 2, then LDWORK >= 0.
Error Indicator
     INFO    INTEGER
             = 0: succesful exit;
             = 1: the QZ iteration failed in the LAPACK routine DGGES;
             = 2: another error occured during execution of DGGES.
Method
     The algorithm uses orthogonal transformations as described on page
     29 in [2].
References
     [1] Benner, P., Byers, R., Mehrmann, V. and Xu, H.
         Numerical computation of deflating subspaces of skew-
         Hamiltonian/Hamiltonian pencils.
         SIAM J. Matrix Anal. Appl., 24 (1), pp. 165-190, 2002.

     [2] Benner, P., Byers, R., Losse, P., Mehrmann, V. and Xu, H.
         Numerical Solution of Real Skew-Hamiltonian/Hamiltonian
         Eigenproblems.
         Tech. Rep., Technical University Chemnitz, Germany,
         Nov. 2007.
Numerical Aspects
     
     The algorithm is numerically backward stable
Further Comments
   
     None.
Example

Program Text

     None.
Program Data
     None.
Program Results
     None.

Return to index