Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

mkl_sparse_?_trsv

Solves a system of linear equations for a triangular sparse matrix.

Syntax

stat = mkl_sparse_s_trsv
(
operation
,
alpha
,
A
,
descr
,
x
,
y
)
stat = mkl_sparse_d_trsv
(
operation
,
alpha
,
A
,
descr
,
x
,
y
)
stat = mkl_sparse_c_trsv
(
operation
,
alpha
,
A
,
descr
,
x
,
y
)
stat = mkl_sparse_z_trsv
(
operation
,
alpha
,
A
,
descr
,
x
,
y
)
Include Files
  • mkl_spblas.f90
Description
The
mkl_sparse_?_trsv
routine solves a system of linear equations for a matrix:
op(
A
)*
y
=
alpha
*
x
where
A
is a triangular sparse matrix ,
op
is a matrix modifier for matrix
A
,
alpha
is a scalar, and
x
and
y
are vectors .
For sparse matrices in the BSR format, the supported combinations of (
indexing
,
block_layout
) are:
  • (
    SPARSE_INDEX_BASE_ZERO
    ,
    SPARSE_LAYOUT_ROW_MAJOR
    )
  • (
    SPARSE_INDEX_BASE_ONE
    ,
    SPARSE_LAYOUT_COLUMN_MAJOR
    )
Input Parameters
operation
C_INT
.
Specifies operation
op()
on input matrix.
SPARSE_OPERATION_NON_TRANSPOSE
Non-transpose,
op(
A
) =
A
.
SPARSE_OPERATION_TRANSPOSE
Transpose,
op(
A
) =
A
T
.
SPARSE_OPERATION_CONJUGATE_TRANSPOSE
Conjugate transpose,
op(
A
) =
A
H
.
alpha
C_FLOAT
for
mkl_sparse_s_trsv
C_DOUBLE
for
mkl_sparse_d_trsv
C_FLOAT_COMPLEX
for
mkl_sparse_c_trsv
C_DOUBLE_COMPLEX
for
mkl_sparse_z_trsv
Specifies the scalar
alpha
.
A
SPARSE_MATRIX_T
.
Handle which contains the input matrix
A
.
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:
SPARSE_DIAG_NON_UNIT
Diagonal elements might not be equal to one.
SPARSE_DIAG_UNIT
Diagonal elements are equal to one.
x
C_FLOAT
for
mkl_sparse_s_trsv
C_DOUBLE
for
mkl_sparse_d_trsv
C_FLOAT_COMPLEX
for
mkl_sparse_c_trsv