|
|
◆ 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] | n | Dimension of matrix A. (n >= 0) (If n = 0, returns without computation) |
| [in] | omega | The 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] | 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] | 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. |
|