###
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**