## SB04QU

### Constructing and solving a linear algebraic system whose coefficient matrix (stored compactly) has zeros below the third subdiagonal

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

Purpose

      To construct and solve a linear algebraic system of order 2*M
      whose coefficient matrix has zeros below the third subdiagonal,
      and zero elements on the third subdiagonal with even column
      indices. Such systems appear when solving discrete-time Sylvester
      equations using the Hessenberg-Schur method.

Specification

          SUBROUTINE SB04QU( N, M, IND, A, LDA, B, LDB, C, LDC, D, IPR,
         $                   INFO )
    C     .. Scalar Arguments ..
          INTEGER           INFO, IND, LDA, LDB, LDC, M, N
    C     .. Array Arguments ..
          INTEGER           IPR(*)
          DOUBLE PRECISION  A(LDA,*), B(LDB,*), C(LDC,*), D(*)

Arguments

Input/Output Parameters

      N       (input) INTEGER
              The order of the matrix B.  N >= 0.

      M       (input) INTEGER
              The order of the matrix A.  M >= 0.

      IND     (input) INTEGER
              IND and IND - 1 specify the indices of the columns in C
              to be computed.  IND > 1.

      A       (input) DOUBLE PRECISION array, dimension (LDA,M)
              The leading M-by-M part of this array must contain an
              upper Hessenberg matrix.

      LDA     INTEGER
              The leading dimension of array A.  LDA >= MAX(1,M).

      B       (input) DOUBLE PRECISION array, dimension (LDB,N)
              The leading N-by-N part of this array must contain a
              matrix in real Schur form.

      LDB     INTEGER
              The leading dimension of array B.  LDB >= MAX(1,N).

      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
              On entry, the leading M-by-N part of this array must
              contain the coefficient matrix C of the equation.
              On exit, the leading M-by-N part of this array contains
              the matrix C with columns IND-1 and IND updated.

      LDC     INTEGER
              The leading dimension of array C.  LDC >= MAX(1,M).

Workspace

      D       DOUBLE PRECISION array, dimension (2*M*M+8*M)

      IPR     INTEGER array, dimension (4*M)

Error Indicator

      INFO    INTEGER
              = 0:  successful exit;
              > 0:  if INFO = IND, a singular matrix was encountered.

Method

      A special linear algebraic system of order 2*M, whose coefficient
      matrix has zeros below the third subdiagonal and zero elements on
      the third subdiagonal with even column indices, is constructed and
      solved. The coefficient matrix is stored compactly, row-wise.

References

      [1] Golub, G.H., Nash, S. and Van Loan, C.F.
          A Hessenberg-Schur method for the problem AX + XB = C.
          IEEE Trans. Auto. Contr., AC-24, pp. 909-913, 1979.

      [2] Sima, V.
          Algorithms for Linear-quadratic Optimization.
          Marcel Dekker, Inc., New York, 1996.

Numerical Aspects

      None.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index