The function may be called by the names: f11dbc, nag_sparse_real_gen_precon_ilu_solve or nag_sparse_nsym_precon_ilu_solve.
f11dbc solves a system of linear equations
according to the value of the argument trans, where the matrix , corresponds to an incomplete decomposition of a sparse matrix stored in coordinate storage (CS) format (see Section 2.1.1 in the F11 Chapter Introduction), as generated by f11dac.
In the above decomposition is a lower triangular sparse matrix with unit diagonal elements, is a diagonal matrix, is an upper triangular sparse matrix with unit diagonal elements and, and are permutation matrices. , and are supplied to f11dbc through the matrix
which is an n by n sparse matrix, stored in CS format, as returned by f11dac. The permutation matrices and are returned from f11dac via the arrays ipivp and ipivq.
It is envisaged that a common use of f11dbc will be to carry out the preconditioning step required in the application of f11bec to sparse linear systems. f11dbc is used for this purpose by the Black Box function f11dcc.
f11dbc may also be used in combination with f11dac to solve a sparse system of linear equations directly (see Section 9.5 in f11dac).
1: – Nag_TransTypeInput
On entry: specifies whether or not the matrix is transposed.
2: – IntegerInput
On entry: , the order of the matrix . This must be the same value as was supplied in the preceding call to f11dac.
3: – const doubleInput
On entry: the values returned in the array a by a previous call to f11dac.
4: – IntegerInput
On entry: the dimension of the arrays a, irow and icol. This must be the same value returned by the preceding call to f11dac.
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument had an illegal value.
On entry, .
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
It is expected that a common use of f11dbc will be to carry out the preconditioning step required in the application of f11bec to sparse linear systems. In this situation f11dbc is likely to be called many times with the same matrix . In the interests of both reliability and efficiency, you are recommended to set for the first of such calls, and for all subsequent calls set .
This example reads in a sparse nonsymmetric matrix and a vector . It then calls f11dac, with and , to compute the complete