Purpose
To estimate the reciprocal of the condition number of an upper Hessenberg matrix H, in either the 1-norm or the infinity-norm, using the LU factorization computed by MB02SD.Specification
SUBROUTINE MB02TD( NORM, N, HNORM, H, LDH, IPIV, RCOND, IWORK, $ DWORK, INFO ) C .. Scalar Arguments .. CHARACTER NORM INTEGER INFO, LDH, N DOUBLE PRECISION HNORM, RCOND C .. Array Arguments .. INTEGER IPIV( * ), IWORK( * ) DOUBLE PRECISION DWORK( * ), H( LDH, * )Arguments
Mode Parameters
NORM CHARACTER*1 Specifies whether the 1-norm condition number or the infinity-norm condition number is required: = '1' or 'O': 1-norm; = 'I': Infinity-norm.Input/Output Parameters
N (input) INTEGER The order of the matrix H. N >= 0. HNORM (input) DOUBLE PRECISION If NORM = '1' or 'O', the 1-norm of the original matrix H. If NORM = 'I', the infinity-norm of the original matrix H. H (input) DOUBLE PRECISION array, dimension (LDH,N) The factors L and U from the factorization H = P*L*U as computed by MB02SD. LDH INTEGER The leading dimension of the array H. LDH >= max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i). RCOND (output) DOUBLE PRECISION The reciprocal of the condition number of the matrix H, computed as RCOND = 1/(norm(H) * norm(inv(H))).Workspace
IWORK INTEGER array, dimension (N) DWORK DOUBLE PRECISION array, dimension (3*N)Error Indicator
INFO INTEGER = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value.Method
An estimate is obtained for norm(inv(H)), and the reciprocal of the condition number is computed as RCOND = 1 / ( norm(H) * norm(inv(H)) ).References
-Numerical Aspects
2 The algorithm requires 0( N ) operations.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None