Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

mkl_sparse_?_symgs

Computes a symmetric Gauss-Seidel preconditioner.

Syntax

stat = mkl_sparse_s_symgs
(
operation
,
A
,
descr
,
alpha
,
b
,
x
)
stat = mkl_sparse_d_symgs
(
operation
,
A
,
descr
,
alpha
,
b
,
x
)
stat = mkl_sparse_c_symgs
(
operation
,
A
,
descr
,
alpha
,
b
,
x
)
stat = mkl_sparse_z_symgs
(
operation
,
A
,
descr
,
alpha
,
b
,
x
)
Include Files
  • mkl_spblas.f90
Description
The
mkl_sparse_?_symgs
routine performs this operation:
x0
:=
x
*
alpha
; (
L
+
D
)*
x1
=
b
-
U
*
x0
; (
U
+
D
)*
x
=
b
-
L
*
x1
;
where
A
=
L
+
D
+
U
.
This routine is not supported for sparse matrices in BSR, COO, or CSC formats. It supports only the CSR format. Additionally, only symmetric matrices are supported, so the
desc
.
type
must be
SPARSE_MATRIX_TYPE_SYMMETRIC
.
Input Parameters
operation
C_INT
.
Specifies the operation performed on matrix
A
.
SPARSE_OPERATION_NON_TRANSPOSE
,
op(
A
) :=
A
.
Transpose (
SPARSE_OPERATION_TRANSPOSE
) and conjugate transpose (
SPARSE_OPERATION_CONJUGATE_TRANSPOSE
) are not supported.
A
SPARSE_MATRIX_T
.
Handle which contains the sparse matrix
A
.
alpha
C_FLOAT
for
mkl_sparse_s_symgs
C_DOUBLE
for
mkl_sparse_d_symgs
C_FLOAT_COMPLEX
for
mkl_sparse_c_symgs
C_DOUBLE_COMPLEX
for
mkl_sparse_z_symgs
Specifies the scalar
alpha
.
descr
MATRIX_DESCR
.
Descriptor
specifying sparse matrix properties.
type
- Specifies the type of a sparse matrix:
SPARSE_MATRIX_TYPE_GENERAL
The matrix is processed as is.
SPARSE_MATRIX_TYPE_SYMMETRIC
The matrix is symmetric (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_HERMITIAN
The matrix is Hermitian (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_TRIANGULAR
The matrix is triangular (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_DIAGONAL
The matrix is diagonal (only diagonal elements are processed).
SPARSE_MATRIX_TYPE_BLOCK_TRIANGULAR
The matrix is block-triangular (only requested triangle is processed). Applies to BSR format only.
SPARSE_MATRIX_TYPE_BLOCK_DIAGONAL
The matrix is block-diagonal (only diagonal blocks are processed). Applies to BSR format only.
mode
- Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
SPARSE_FILL_MODE_LOWER
The lower triangular matrix part is processed.
SPARSE_FILL_MODE_UPPER
The upper triangular matrix part is processed.
diag
- Specifies diagonal type for non-general matrices: