XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ z_hsc_ic_solve()

void z_hsc_ic_solve ( char  uplo,
int  n,
const double _Complex  val[],
const int  colptr[],
const int  rowind[],
int  base,
const int  idiag[],
const double _Complex  b[],
double _Complex  x[],
int *  info 
)

Incomplete Cholesky preconditioner (IC) (Hermitian positive definite matrix) (CSC)

Purpose
This routine is the incomplete Cholesky preconditioner (IC) for the Hermitian positive definite coefficient matrix of the sparse linear equations. It solves the equation Mx = b, where M is the preconditioner matrix (L*D*L^H or U^H*D*U).
Parameters
[in]uplo= 'U': Upper trianglar matrix U and diagonal matrix D are stored as the preconditioner matrix.
= 'L': Lower trianglar matrix L and diagonal matrix D are stored as the preconditioner matrix.
[in]nDimension of preconditioner matrix. (n >= 0) (If n = 0, returns without computation)
[in]val[]Array val[lval] (lval >= nnz)
Values of non-zero elements of preconditioner matrix (lower triangular matrix L or upper trianglar matrix U and diagonal matrix D). (nnz is number of non-zero elements)
[in]colptr[]Array colptr[lcolptr] (lcolptr >= n + 1)
Column pointers of preconditioner matrix.
[in]rowind[]Array rowind[lrowind] (lrowind >= nnz)
Row indices of preconditioner matrix. (nnz is number of non-zero elements)
[in]baseIndexing of colptr[] and rowind[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[in]idiag[]Array idiag[lidiag] (lidiag >= n)
Indices of diagonal elements.
[in]b[]Array b[lb] (lb >= n)
Right hand side vector b.
[out]x[]Array x[lx] (lx >= n)
Solution vector x.
[out]info= 0: Successful exit.
< 0: The (-info)-th argument is invalid. > 0: Matrix is singular (info-th diagonal element is zero).