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
Click here to get a compressed (gzip) tar file containing the source code of the routine, the example program, data, documentation, and related files.
Return to index