Purpose
To solve a linear algebraic system of order M whose coefficient matrix has zeros below the second subdiagonal. The matrix is stored compactly, row-wise.Specification
SUBROUTINE SB04MR( M, D, IPR, INFO ) C .. Scalar Arguments .. INTEGER INFO, M C .. Array Arguments .. INTEGER IPR(*) DOUBLE PRECISION D(*)Arguments
Input/Output Parameters
M (input) INTEGER The order of the system. M >= 0. Note that parameter M should have twice the value in the original problem (see SLICOT Library routine SB04MU). D (input/output) DOUBLE PRECISION array, dimension (M*(M+1)/2+3*M) On entry, the first M*(M+1)/2 + 2*M elements of this array must contain the coefficient matrix, stored compactly, row-wise, and the next M elements must contain the right hand side of the linear system, as set by SLICOT Library routine SB04MU. On exit, the content of this array is updated, the last M elements containing the solution with components interchanged (see IPR). IPR (output) INTEGER array, dimension (2*M) The leading M elements contain information about the row interchanges performed for solving the system. Specifically, the i-th component of the solution is specified by IPR(i).Error Indicator
INFO INTEGER = 0: successful exit; = 1: if a singular matrix was encountered.Method
Gaussian elimination with partial pivoting is used. The rows of the matrix are not actually permuted, only their indices are interchanged in array IPR.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
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None