nag_lapack_dptcon (f07jg) computes the reciprocal condition number of a real
by
symmetric positive definite tridiagonal matrix
, using the
factorization returned by
nag_lapack_dpttrf (f07jd).
nag_lapack_dptcon (f07jg) should be preceded by a call to
nag_lapack_dpttrf (f07jd), 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_dptcon (f07jg) 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 complex analogue of this function is
nag_lapack_zptcon (f07ju).
This example computes the condition number of the symmetric positive definite tridiagonal matrix
given by
function f07jg_example
fprintf('f07jg example results\n\n');
d = [ 4 10 29 25 5];
e = [-2 -6 15 8 ];
[df, ef, info] = f07jd( ...
d, e);
an = [0 e; d; e 0];
anorm = norm(an,1);
[rcond, info] = f07jg( ...
df, ef, anorm);
fprintf('Condition number of A = %7.2e\n',1/rcond);