nag_sparse_herm_precon_ichol_solve (f11jpc) solves a system of complex linear equations involving the incomplete Cholesky preconditioning matrix generated by
nag_sparse_herm_chol_fac (f11jnc).
nag_sparse_herm_precon_ichol_solve (f11jpc) solves a system of linear equations
involving the preconditioning matrix
, corresponding to an incomplete Cholesky decomposition of a complex sparse Hermitian matrix stored in symmetric coordinate storage (SCS) format (see
Section 2.1.2 in the f11 Chapter Introduction), as generated by
nag_sparse_herm_chol_fac (f11jnc).
In the above decomposition
is a complex lower triangular sparse matrix with unit diagonal,
is a real diagonal matrix and
is a permutation matrix.
and
are supplied to
nag_sparse_herm_precon_ichol_solve (f11jpc) through the matrix
which is a lower triangular
by
complex sparse matrix, stored in SCS format, as returned by
nag_sparse_herm_chol_fac (f11jnc). The permutation matrix
is returned from
nag_sparse_herm_chol_fac (f11jnc) via the array
ipiv.
nag_sparse_herm_precon_ichol_solve (f11jpc) may also be used in combination with
nag_sparse_herm_chol_fac (f11jnc) to solve a sparse complex Hermitian positive definite system of linear equations directly (see
nag_sparse_herm_chol_fac (f11jnc)). This is illustrated in
Section 10.
None.
- Check that a, irow, icol, ipiv and istr have not been corrupted between calls to nag_sparse_herm_chol_fac (f11jnc) and nag_sparse_herm_precon_ichol_solve (f11jpc).
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 2.3.1.2 in How to Use the NAG Library and its Documentation 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 2.7.6 in How to Use the NAG Library and its Documentation 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 2.7.5 in How to Use the NAG Library and its Documentation 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
nag_sparse_herm_precon_ichol_solve (f11jpc) is proportional to the value of
nnzc returned from
nag_sparse_herm_chol_fac (f11jnc).
This example reads in a complex sparse Hermitian positive definite matrix
and a vector
. It then calls
nag_sparse_herm_chol_fac (f11jnc), with
and
, to compute the
complete Cholesky decomposition of
:
Finally it calls
nag_sparse_herm_precon_ichol_solve (f11jpc) to solve the system