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

◆ ssr_ic_solve()

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

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

Purpose
This routine is the incomplete Cholesky preconditioner (IC) for the symmetric positive definite coefficient matrix of the sparse linear equations. It solves the equation Mx = b, where M is the preconditioner matrix (L*D*L^T or U^T*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).