The routine may be called by the names f04axf or nagf_linsys_real_sparse_fac_solve.
To solve a system of real linear equations or , where is a general sparse matrix, must first be factorized by f01brforf01bsf. f04axf then computes by block forward or backward substitution using simple forward and backward substitution within each diagonal block.
On exit: the value of the maximum residual, , over all the unsatisfied equations, in case f01brforf01bsf has been used to factorize a singular or rectangular matrix.
6Error Indicators and Warnings
If an error is detected in an input argument f04axf will act as if a soft noisy exit has been requested (see Section 4.4 in the Introduction to the NAG Library FL Interface).
The accuracy of the computed solution depends on the conditioning of the original matrix. Since f04axf is always used with either f01brforf01bsf, you are recommended to set on entry to these routines and to examine the value of on exit (see f01brfandf01bsf). For a detailed error analysis see page 17 of Duff (1977).
If storage for the original matrix is available then the error can be estimated by calculating the residual
and calling f04axf again to find a correction for by solving
8Parallelism and Performance
Background information to multithreading can be found in the Multithreading documentation.
f04axf is not threaded in any implementation.
If the factorized form contains nonzeros () then the time taken is very approximately times longer than the inner loop of full matrix code. Some advantage is taken of zeros in the right-hand side when solving ().
This example solves the set of linear equations where
The nonzero elements of and indexing information are read in by the program, as described in the document for f01brf.