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

◆ csc_zussv_sor()

void csc_zussv_sor ( char  uplo,
int  n,
const doublecomplex  val[],
const int  colptr[],
const int  rowind[],
int  base,
double  omega,
doublecomplex  x[],
int  incx,
int *  info 
)

Solution of (D/ω + L)x = b or (D/ω + U)x = b (for SOR solver) (Complex matrices) (CSC)

Purpose
This function solves one of the following systems of equations for a sparse matrix in CSC format.
(D/ω + L)x = b or (D/ω + U)x = b (where A = L + D + U)
where b and x are n element vectors and A is an n x n sparse matrix. L, D and U are the lower triangular part, the diagonal part and the upper triangular part of A, respectively.
Parameters
[in]uploSpecifies which equation is to be solved.
= 'U': (D/ω + U)x = b.
= 'L': (D/ω + L)x = b.
The other triangular elements than specified (not including diagonal elements) are ignored.
[in]nNumber of rows and columns of matrix A. (n >= 0) (If n = 0, returns without computation)
[in]val[]Array val[lval] (lval >= nnz)
Values of nonzero elements of matrix A (where nnz is the number of nonzero elements).
[in]colptr[]Array colptr[lcolptr] (lcolptr >= n + 1)
Column pointers of matrix A.
[in]rowind[]Array rowind[lrowind] (lrowind >= nnz)
Row indices of matrix A (where nnz is the number of nonzero 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]omegaω parameter of SOR solver. (0 < omega < 2)
[in,out]x[]Array x[lx] (lx >= 1 + (n - 1)*incx)
[in] Right-hand side vector b.
[out] Solution vector x.
[in]incxStorage spacing between elements of x[]. (incx != 0)
[out]info= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.
= i > 0: The matrix is singular (i-th diagonal element is zero).