|
|
◆ csr_zussv_sor()
| void csr_zussv_sor |
( |
char |
uplo, |
|
|
int |
n, |
|
|
const doublecomplex |
val[], |
|
|
const int |
rowptr[], |
|
|
const int |
colind[], |
|
|
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) (CSR)
- Purpose
- This function solves one of the following systems of equations for a sparse matrix in CSR 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] | uplo | Specifies 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] | n | Number 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] | rowptr[] | Array rowptr[lrowptr] (lrowptr >= n + 1)
Row pointers of matrix A. |
| [in] | colind[] | Array colind[lcolind] (lcolind >= nnz)
Column indices of matrix A (where nnz is the number of nonzero elements). |
| [in] | base | Indexing 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] | 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] | incx | Storage 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). |
|