SB04RV

Constructing the right-hand sides for a system of equations in quasi-Hessenberg form solved via SB04RX (case with 2 right-hand sides)

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

Purpose

  To construct the right-hand sides D for a system of equations in
  quasi-Hessenberg form solved via SB04RX (case with 2 right-hand
  sides).

Specification
      SUBROUTINE SB04RV( 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 first 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 2*N or 2*M part of this array (depending on
          ABSCHR = 'B' or ABSCHR = 'A', respectively) contains the
          right-hand side stored as a matrix with two rows.

Workspace
  DWORK   DOUBLE PRECISION array, dimension (LDWORK)
          where LDWORK is equal to 2*N or 2*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