NAG Toolbox: nag_lapack_dgbrfs (f07bh)

Purpose

nag_lapack_dgbrfs (f07bh) returns error bounds for the solution of a real band system of linear equations with multiple right-hand sides, AX = BAX=B or ATX = BATX=B. It improves the solution by iterative refinement, in order to reduce the backward error as much as possible.

Syntax

Description

nag_lapack_dgbrfs (f07bh) returns the backward errors and estimated bounds on the forward errors for the solution of a real band system of linear equations with multiple right-hand sides AX = BAX=B or ATX = BATX=B. The function handles each right-hand side vector (stored as a column of the matrix BB) independently, so we describe the function of nag_lapack_dgbrfs (f07bh) in terms of a single right-hand side bb and solution xx.

Given a computed solution xx, the function computes the component-wise backward errorββ. This is the size of the smallest relative perturbation in each element of AA and bb such that xx is the exact solution of a perturbed system

(A + δA)x = b + δb

|δaij| ≤ β|aij| and |δbi| ≤ β|bi|.

(A+δA)x=b+δb|δaij|≤β|aij| and |δbi|≤β|bi|.

Then the function estimates a bound for the component-wise forward error in the computed solution, defined by:

It is possible that info refers to a parameter that is omitted from the MATLAB interface. This usually indicates that an error in one of the other input parameters has caused an incorrect value to be inferred.

Accuracy

The bounds returned in ferr are not rigorous, because they are estimated, not computed exactly; but in practice they almost always overestimate the actual error.

Further Comments

For each right-hand side, computation of the backward error involves a minimum of 4n(kl + ku)4n(kl+ku) floating point operations. Each step of iterative refinement involves an additional 2n(4kl + 3ku)2n(4kl+3ku) operations. This assumes n ≫ kln≫kl and n ≫ kun≫ku. At most five steps of iterative refinement are performed, but usually only one or two steps are required.

Estimating the forward error involves solving a number of systems of linear equations of the form Ax = bAx=b or ATx = bATx=b; the number is usually 44 or 55 and never more than 1111. Each solution involves approximately 2n(2kl + ku)2n(2kl+ku) operations.