The function may be called by the names: f11dpc, nag_sparse_complex_gen_precon_ilu_solve or nag_sparse_nherm_precon_ilu_solve.
f11dpc solves a system of complex linear equations
according to the value of the argument trans, where the matrix corresponds to an incomplete decomposition of a complex sparse matrix stored in coordinate storage (CS) format (see Section 2.1.1 in the F11 Chapter Introduction), as generated by f11dnc.
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 f11dpc through the matrix
which is an n by n sparse matrix, stored in CS format, as returned by f11dnc. The permutation matrices and are returned from f11dnc via the arrays ipivp and ipivq.
It is envisaged that a common use of f11dpc will be to carry out the preconditioning step required in the application of f11bsc to sparse complex linear systems. f11dpc is used for this purpose by the Black Box function f11dqc.
f11dpc may also be used in combination with f11dnc to solve a sparse system of complex linear equations directly (see Section 9.5 in f11dnc).
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 f11dnc.
3: – const ComplexInput
On entry: the values returned in the array a by a previous call to f11dnc.
4: – IntegerInput
On entry: the dimension of the arrays a, irow and icol. This must be the same value supplied in the preceding call to f11dnc.
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).
6Error Indicators and Warnings
Check that the call to f11dpc has been preceded by a valid call to f11dnc and that the arrays a, irow, icol, ipivp, ipivq, istr and idiag have not been corrupted between the two calls.
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 f11dpc will be to carry out the preconditioning step required in the application of f11bsc to sparse complex linear systems. In this situation f11dpc 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 to set for all subsequent calls.
This example reads in a complex sparse non-Hermitian matrix and a vector . It then calls f11dnc, with and , to compute the complete