Developer Reference

Contents

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
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
A
T
*y = x,
where:
x
and
y
are vectors,
A
is a sparse upper or lower triangular matrix with unit or non-unit main diagonal,
A
T
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
A
T
*
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
.
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
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.