Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

mkl_sparse_?_trsv

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

Syntax

sparse_status_t mkl_sparse_s_trsv
(
const sparse_operation_t
operation
,
const float
alpha
,
const
sparse_matrix_t
A
,
const struct
matrix_descr
descr
,
const
float
*x
,
float
*y
);
sparse_status_t mkl_sparse_d_trsv
(
const sparse_operation_t
operation
,
const double
alpha
,
const
sparse_matrix_t
A
,
const struct
matrix_descr
descr
,
const
double
*x
,
double
*y
);
sparse_status_t mkl_sparse_c_trsv
(
const sparse_operation_t
operation
,
const MKL_Complex8
alpha
,
const
sparse_matrix_t
A
,
const struct
matrix_descr
descr
,
const
MKL_Complex8
*x
,
MKL_Complex8
*y
);
sparse_status_t mkl_sparse_z_trsv
(
const sparse_operation_t
operation
,
const MKL_Complex16
alpha
,
const
sparse_matrix_t
A
,
const struct
matrix_descr
descr
,
const
MKL_Complex16
*x
,
MKL_Complex16
*y
);
Include Files
  • mkl_spblas.h
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
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
Specifies the scalar
alpha
.
A
Handle which contains the input matrix
A
.
descr
Structure
specifying sparse matrix properties.
sparse_matrix_type_t
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.
sparse_fill_mode_t
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.
sparse_diag_type_t
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
Array of size at least
m
, where
m
is the number of rows of matrix
A
. On entry, the array must contain the vector
x
.
Output Parameters
y
Array of size at least
m
containing the solution to the system of linear equations.
Return Values
The function returns a value indicating whether the operation was successful or not, and why.
SPARSE_STATUS_SUCCESS
The operation was successful.
SPARSE_STATUS_NOT_INITIALIZED
The routine encountered an empty handle or matrix array.
SPARSE_STATUS_ALLOC_FAILED
Internal memory allocation failed.
SPARSE_STATUS_INVALID_VALUE
The input parameters contain an invalid value.
SPARSE_STATUS_EXECUTION_FAILED
Execution failed.
SPARSE_STATUS_INTERNAL_ERROR
An error in algorithm implementation occurred.
SPARSE_STATUS_NOT_SUPPORTED
The requested operation is not supported.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserverd for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804