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