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
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None