Visible to Intel only — GUID: GUID-9FBF0F88-4731-45DA-BDE9-AF4D7A0A18A4
Visible to Intel only — GUID: GUID-9FBF0F88-4731-45DA-BDE9-AF4D7A0A18A4
mkl_?diatrsv
Triangular solvers with simplified interface for a sparse matrix in the diagonal format with one-based indexing (deprecated).
Syntax
void mkl_sdiatrsv (const char *uplo , const char *transa , const char *diag , const MKL_INT *m , const float *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const float *x , float *y );
void mkl_ddiatrsv (const char *uplo , const char *transa , const char *diag , const MKL_INT *m , const double *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const double *x , double *y );
void mkl_cdiatrsv (const char *uplo , const char *transa , const char *diag , const MKL_INT *m , const MKL_Complex8 *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const MKL_Complex8 *x , MKL_Complex8 *y );
void mkl_zdiatrsv (const char *uplo , const char *transa , const char *diag , const MKL_INT *m , const MKL_Complex16 *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const MKL_Complex16 *x , MKL_Complex16 *y );
Include Files
- mkl.h
Description
This routine is deprecated. Use mkl_sparse_?_trsvfrom the Intel® oneAPI Math Kernel Library (oneMKL) Inspector-executor Sparse BLAS interface instead.
The mkl_?diatrsv routine solves a system of linear equations with matrix-vector operations for a sparse matrix stored in the diagonal format:
A*y = x
or
AT*y = x,
where:
x and y are vectors,
A is a sparse upper or lower triangular matrix with unit or non-unit main diagonal, AT is the transpose of A.
This routine supports only one-based indexing of the input arrays.
Input Parameters
- uplo
-
Specifies whether the upper or low triangle of the matrix A is used.
If uplo = 'U' or 'u', then the upper triangle of the matrix A is used.
If uplo = 'L' or 'l', then the low triangle of the matrix A is used.
- transa
-
Specifies the system of linear equations.
If transa = 'N' or 'n', then A*y = x
If transa = 'T' or 't' or 'C' or 'c', then AT*y = x,
- diag
-
Specifies whether A is unit triangular.
If diag = 'U' or 'u', then A is unit triangular.
If diag = 'N' or 'n', then A is not unit triangular.
- m
-
Number of rows of the matrix A.
- val
-
Two-dimensional array of size lval by ndiag, contains non-zero diagonals of the matrix A. Refer to values array description in Diagonal Storage Scheme for more details.
- lval
-
Leading dimension of val, lval≥m. Refer to lval description in Diagonal Storage Scheme for more details.
- idiag
-
Array of length ndiag, contains the distances between main diagonal and each non-zero diagonals in the matrix A.
NOTE:All elements of this array must be sorted in increasing order.
Refer to distance array description in Diagonal Storage Scheme for more details.
- ndiag
-
Specifies the number of non-zero diagonals of the matrix A.
- x
-
Array, size is m.
On entry, the array x must contain the vector x.
Output Parameters
- y
-
Array, size at least m.
Contains the vector y.