nag_lapack_dtbcon (f07vg) estimates the condition number of a real triangular band matrix
, in either the
-norm or the
-norm:
The function computes
or
exactly, and uses Higham's implementation of Hager's method (see
Higham (1988)) to estimate
or
.
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
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_dtbcon (f07vg) involves solving a number of systems of linear equations of the form
or
; the number is usually
or
and never more than
. Each solution involves approximately
floating-point operations (assuming
) but takes considerably longer than a call to
nag_lapack_dtbtrs (f07ve) 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_ztbcon (f07vu).
This example estimates the condition number in the
-norm of the matrix
, where
Here
is treated as a lower triangular band matrix with one subdiagonal. The true condition number in the
-norm is
.
function f07vg_example
fprintf('f07vg example results\n\n');
kd = int64(1);
ab = [-4.16, 4.78, 6.32, 0.16;
-2.25, 5.86, -4.82, 0.00];
norm_p = '1';
uplo = 'L';
diag = 'N';
[rcond, info] = f07vg( ...
norm_p, uplo, diag, kd, ab);
fprintf('Estimate of condition number = %9.2e\n', 1/rcond);