## SB04MY

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

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

Purpose

      To construct and solve a linear algebraic system of order M whose
      coefficient matrix is in upper Hessenberg form. Such systems
      appear when solving Sylvester equations using the Hessenberg-Schur
      method.

Specification

          SUBROUTINE SB04MY( 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
              The index of the column 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 column IND updated.

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

Workspace

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

      IPR     INTEGER array, dimension (2*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 M, with coefficient
      matrix in upper Hessenberg form 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.

Numerical Aspects

      None.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index