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

◆ ssr_ssor_solve()

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

Symmetric successive over-relaxation (SSOR) preconditioner (CSR) (Symmetric matrix)

Purpose
This routine is the symmetric successive over-relaxation (SSOR) preconditioner for the symmetric coefficient matrix A of the sparse linear equations. It solves the equation M*x = b or M^T*x = b, where M is the preconditioner matrix. Only the upper or lower trianglar part of A is referred for calculation.
Parameters
[in]uplo= 'U': Matrix A is stored in upper triangle.
= 'L': Matrix A is stored in lower triangle.
[in]nDimension of matrix A. (n >= 0) (If n = 0, returns without computation)
[in]omegaThe relaxation parameter ω. (0 < ω < 2)
[in]val[]Array val[lval] (lval >= nnz)
Values of non-zero elements of matrix A. (nnz is number of non-zero elements) (only the diagonal and upper or lower triangular elements are referenced)
[in]rowptr[]Array rowptr[lrowptr] (lrowptr >= n + 1)
Row pointers of matrix A.
[in]colind[]Array colind[lcolind] (lcolind >= nnz)
Column indices of matrix A. (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]d[]Array d[ld] (ld >= n)
Diagonal elements of preconditioner matrix M obtained by csr_ssor().
[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.