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

◆ z_hsr_ic_solve()

void z_hsr_ic_solve ( char  uplo,
int  n,
const doublecomplex  val[],
const int  rowptr[],
const int  colind[],
int  base,
const int  idiag[],
const doublecomplex  b[],
doublecomplex  x[],
int *  info 
)

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

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]rowptr[]Array rowptr[lrowptr] (lrowptr >= n + 1)
Row pointers of preconditioner matrix.
[in]colind[]Array colind[lcolind] (lcolind >= nnz)
Column indices of preconditioner matrix. (nnz is number of non-zero elements)
[in]baseIndexing of rowptr[] and colind[].
= 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).