Purpose
To solve a system of linear equations H * X = B, H' * X = B or H**H * X = B with a complex upper Hessenberg N-by-N matrix H using the LU factorization computed by MB02SZ.Specification
SUBROUTINE MB02RZ( TRANS, N, NRHS, H, LDH, IPIV, B, LDB, INFO ) C .. Scalar Arguments .. CHARACTER TRANS INTEGER INFO, LDB, LDH, N, NRHS C .. Array Arguments .. INTEGER IPIV( * ) COMPLEX*16 B( LDB, * ), H( LDH, * )Arguments
Mode Parameters
TRANS CHARACTER*1 Specifies the form of the system of equations: = 'N': H * X = B (No transpose) = 'T': H'* X = B (Transpose) = 'C': H**H * X = B (Conjugate transpose)Input/Output Parameters
N (input) INTEGER The order of the matrix H. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. H (input) COMPLEX*16 array, dimension (LDH,N) The factors L and U from the factorization H = P*L*U as computed by MB02SZ. LDH INTEGER The leading dimension of the array H. LDH >= max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indices from MB02SZ; for 1<=i<=N, row i of the matrix was interchanged with row IPIV(i). B (input/output) COMPLEX*16 array, dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X. LDB INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value.Method
The routine uses the factorization H = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (and one nonzero subdiagonal), and U is upper triangular.References
-Numerical Aspects
2 The algorithm requires 0( N x NRHS ) complex operations.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None