nag_lapack_zptcon (f07ju) computes the reciprocal condition number of a complex
by
Hermitian positive definite tridiagonal matrix
, using the
factorization returned by
nag_lapack_zpttrf (f07jr).
nag_lapack_zptcon (f07ju) should be preceded by a call to
nag_lapack_zpttrf (f07jr), which computes a modified Cholesky factorization of the matrix
as
where
is a unit lower bidiagonal matrix and
is a diagonal matrix, with positive diagonal elements.
nag_lapack_zptcon (f07ju) 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
is singular
is infinite.
The computed condition number will be the exact condition number for a closely neighbouring matrix.
See Section 15.6 of
Higham (2002) for further details on computing the condition number of tridiagonal matrices.
The real analogue of this function is
nag_lapack_dptcon (f07jg).
This example computes the condition number of the Hermitian positive definite tridiagonal matrix
given by
function f07ju_example
fprintf('f07ju example results\n\n');
d = [ 16 41 46 21];
e = [ 16 + 16i 18 - 9i 1 - 4i ];
[df, ef, info] = f07jr( ...
d, e);
an = [0 e; d; e 0];
anorm = norm(an,1);
[rcond, info] = f07ju( ...
df, ef, anorm);
fprintf('Condition number of A = %7.2e\n',1/rcond);