nag_lapack_dppcon (f07gg) estimates the condition number of a real symmetric positive definite matrix
, where
has been factorized by
nag_lapack_dpptrf (f07gd), using packed storage.
nag_lapack_dppcon (f07gg) estimates the condition number (in the
-norm) of a real symmetric positive definite matrix
:
Since
is symmetric,
.
The function should be preceded by a computation of
and a call to
nag_lapack_dpptrf (f07gd) to compute the Cholesky factorization of
. The function then uses Higham's implementation of Hager's method (see
Higham (1988)) to estimate
.
Higham N J (1988) FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation ACM Trans. Math. Software 14 381–396
None.
The computed estimate
rcond is never less than the true value
, and in practice is nearly always less than
, although examples can be constructed where
rcond is much larger.
A call to
nag_lapack_dppcon (f07gg) involves solving a number of systems of linear equations of the form
; the number is usually
or
and never more than
. Each solution involves approximately
floating-point operations but takes considerably longer than a call to
nag_lapack_dpptrs (f07ge) with one right-hand side, because extra care is taken to avoid overflow when
is approximately singular.
The complex analogue of this function is
nag_lapack_zppcon (f07gu).
This example estimates the condition number in the
-norm (or
-norm) of the matrix
, where
Here
is symmetric positive definite, stored in packed form, and must first be factorized by
nag_lapack_dpptrf (f07gd). The true condition number in the
-norm is
.
function f07gg_example
fprintf('f07gg example results\n\n');
uplo = 'L';
n = int64(4);
ap = [4.16 -3.12 0.56 -0.10 ...
5.03 -0.83 1.18 ...
0.76 0.34 ...
1.18];
[L, info] = f07gd( ...
uplo, n, ap);
anorm = 10.16;
[rcond, info] = f07gg( ...
uplo, n, ap, anorm);
fprintf('Estimate of condition number = %9.2e\n', 1/rcond);