NAG Library Routine Document
computes the reciprocal condition number of a complex
Hermitian positive definite tridiagonal matrix
, using the
factorization returned by f07jrf (zpttrf)
|Integer, Intent (In)||:: ||n|
|Integer, Intent (Out)||:: ||info|
|Real (Kind=nag_wp), Intent (In)||:: ||d(*), anorm|
|Real (Kind=nag_wp), Intent (Out)||:: ||rcond, rwork(n)|
|Complex (Kind=nag_wp), Intent (In)||:: ||e(*)|C Header Interface
f07juf_ (const Integer *n, const double d, const Complex e, const double *anorm, double *rcond, double rwork, Integer *info)|
The routine may be called by its
should be preceded by a call to f07jrf (zpttrf)
, which computes a modified Cholesky factorization of the matrix
is a unit lower bidiagonal matrix and
is a diagonal matrix, with positive diagonal elements. f07juf (zptcon)
then utilizes the factorization to compute
by a direct method, from which the reciprocal of the condition number of
is computed as
is returned, rather than
, since when
Higham N J (2002) Accuracy and Stability of Numerical Algorithms (2nd Edition) SIAM, Philadelphia
- 1: – IntegerInput
On entry: , the order of the matrix .
- 2: – Real (Kind=nag_wp) arrayInput
the dimension of the array d
must be at least
On entry: must contain the diagonal elements of the diagonal matrix from the factorization of .
- 3: – Complex (Kind=nag_wp) arrayInput
the dimension of the array e
must be at least
: must contain the
subdiagonal elements of the unit lower bidiagonal matrix
can also be regarded as the superdiagonal of the unit upper bidiagonal matrix
- 4: – Real (Kind=nag_wp)Input
-norm of the original
, which may be computed by calling f06upf
with its argument
must be computed either before
calling f07jrf (zpttrf)
or else from a copy
of the original matrix
- 5: – Real (Kind=nag_wp)Output
On exit: the reciprocal condition number, .
- 6: – Real (Kind=nag_wp) arrayWorkspace
- 7: – IntegerOutput
unless the routine detects an error (see Section 6
Error Indicators and Warnings
If , argument had an illegal value. An explanatory message is output, and execution of the program is terminated.
The computed condition number will be the exact condition number for a closely neighbouring matrix.
Parallelism and Performance
f07juf (zptcon) makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the X06 Chapter Introduction
for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the Users' Note
for your implementation for any additional implementation-specific information.
The condition number estimation requires floating-point operations.
See Section 15.6 of Higham (2002)
for further details on computing the condition number of tridiagonal matrices.
The real analogue of this routine is f07jgf (dptcon)
This example computes the condition number of the Hermitian positive definite tridiagonal matrix
Program Text (f07jufe.f90)
Program Data (f07jufe.d)
Program Results (f07jufe.r)