The function may be called by the names: f11jbc, nag_sparse_real_symm_precon_ichol_solve or nag_sparse_sym_precon_ichol_solve.
f11jbc solves a system of linear equations
involving the preconditioning matrix , corresponding to an incomplete Cholesky decomposition of a sparse symmetric matrix stored in symmetric coordinate storage (SCS) format (see Section 2.1.2 in the F11 Chapter Introduction), as generated by f11jac.
In the above decomposition is a lower triangular sparse matrix with unit diagonal, is a diagonal matrix and is a permutation matrix. and are supplied to f11jbc through the matrix
which is a lower triangular n by n sparse matrix, stored in SCS format, as returned by f11jac. The permutation matrix is returned from f11jac via the array ipiv.
It is envisaged that a common use of f11jbc will be to carry out the preconditioning step required in the application of f11gec to sparse symmetric linear systems. f11jbc is used for this purpose by the Black Box function f11jcc.
f11jbc may also be used in combination with f11jac to solve a sparse symmetric positive definite system of linear equations directly (see Section 9.4 in f11jac).
1: – IntegerInput
On entry: , the order of the matrix . This must be the same value as was supplied in the preceding call to f11jac.
2: – const doubleInput
On entry: the values returned in the array a by a previous call to f11jac.
3: – IntegerInput
On entry: the dimension of the arrays a, irow and icol. This must be the same value returned by the preceding call to f11jac.
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 f11jbc will be to carry out the preconditioning step required in the application of f11gec to sparse symmetric linear systems. In this situation f11jbc 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 symmetric positive definite sparse matrix and a vector . It then calls f11jac, with and , to compute the complete Cholesky decomposition of :
Then it calls f11jbc to solve the system
It then repeats the exercise for the same matrix permuted with the bandwidth-reducing Reverse Cuthill–McKee permutation, calculated with f11yec.