f11jbc solves a system of linear equations involving the incomplete Cholesky preconditioning matrix generated by
f11jac.
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). This use of
f11jbc is demonstrated in
Section 10.
None.
- Check that a, irow, icol, ipiv and istr have not been corrupted between calls to f11jac and f11jbc.
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_INT
-
On entry, .
Constraint: .
- NE_INTERNAL_ERROR
-
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.
- NE_INVALID_ROWCOL_PIVOT
-
On entry, , , .
Constraint: and .
On entry, is a repeated value: .
- NE_INVALID_SCS
-
On entry, , and .
Constraint: and .
On entry, , and .
Constraint: and .
- NE_INVALID_SCS_PRECOND
-
On entry,
istr appears to be invalid.
On entry,
is inconsistent with
irow:
.
- NE_NO_LICENCE
-
Your licence key may have expired or may not have been installed correctly.
See
Section 8 in the Introduction to the NAG Library CL Interface for further information.
- NE_NOT_STRICTLY_INCREASING
-
On entry, is out of order: .
On entry, the location () is a duplicate: .
The computed solution
is the exact solution of a perturbed system of equations
, where
is a modest linear function of
, and
is the
machine precision.
The time taken for a call to
f11jbc is proportional to the value of
nnzc returned from
f11jac.
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.