## SB04RW

### Constructing the right-hand side for a system of equations in Hessenberg form solved via SB04RY

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

Purpose

      To construct the right-hand side D for a system of equations in
      Hessenberg form solved via SB04RY (case with 1 right-hand side).

Specification

          SUBROUTINE SB04RW( ABSCHR, UL, N, M, C, LDC, INDX, AB, LDAB, BA,
         $                   LDBA, D, DWORK )
    C     .. Scalar Arguments ..
          CHARACTER         ABSCHR, UL
          INTEGER           INDX, LDAB, LDBA, LDC, M, N
    C     .. Array Arguments ..
          DOUBLE PRECISION  AB(LDAB,*), BA(LDBA,*), C(LDC,*), D(*), DWORK(*)

Arguments

Mode Parameters

      ABSCHR  CHARACTER*1
              Indicates whether AB contains A or B, as follows:
              = 'A':  AB contains A;
              = 'B':  AB contains B.

      UL      CHARACTER*1
              Indicates whether AB is upper or lower Hessenberg matrix,
              as follows:
              = 'U':  AB is upper Hessenberg;
              = 'L':  AB is lower Hessenberg.

Input/Output Parameters

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

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

      C       (input) DOUBLE PRECISION array, dimension (LDC,M)
              The leading N-by-M part of this array must contain both
              the not yet modified part of the coefficient matrix C of
              the Sylvester equation X + AXB = C, and both the currently
              computed part of the solution of the Sylvester equation.

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

      INDX    (input) INTEGER
              The position of the column/row of C to be used in the
              construction of the right-hand side D.

      AB      (input) DOUBLE PRECISION array, dimension (LDAB,*)
              The leading N-by-N or M-by-M part of this array must
              contain either A or B of the Sylvester equation
              X + AXB = C.

      LDAB    INTEGER
              The leading dimension of array AB.
              LDAB >= MAX(1,N) or LDAB >= MAX(1,M) (depending on
              ABSCHR = 'A' or ABSCHR = 'B', respectively).

      BA      (input) DOUBLE PRECISION array, dimension (LDBA,*)
              The leading N-by-N or M-by-M part of this array must
              contain either A or B of the Sylvester equation
              X + AXB = C, the matrix not contained in AB.

      LDBA    INTEGER
              The leading dimension of array BA.
              LDBA >= MAX(1,N) or LDBA >= MAX(1,M) (depending on
              ABSCHR = 'B' or ABSCHR = 'A', respectively).

      D       (output) DOUBLE PRECISION array, dimension (*)
              The leading N or M part of this array (depending on
              ABSCHR = 'B' or ABSCHR = 'A', respectively) contains the
              right-hand side.

Workspace

      DWORK   DOUBLE PRECISION array, dimension (LDWORK)
              where LDWORK is equal to N or M (depending on ABSCHR = 'B'
              or ABSCHR = 'A', respectively).

Numerical Aspects

      None.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index