## Developer Reference

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

# cblas_?trsm_batch_strided

Solves groups of triangular matrix equations.

## Syntax

Include Files
• mkl.h
Description
The
cblas_?trsm_batch_strided
routines solve a series of triangular matrix equations. They are similar to the
cblas_?trsm
routine counterparts, but the
cblas_?trsm_batch_strided
routines solve triangular matrix equations with groups of matrices. All matrix
a
have the same parameters (
size
,
,
side
,
uplo
,
diag
,
transpose operation
) and are stored at constant
stridea
from each other. Similarly, all matrix
b
have the same parameters (
size
,
,
alpha scaling
) and are stored at constant
strideb
from each other.
The operation is defined as
Input Parameters
Layout
Specifies whether two-dimensional array storage is row-major (
CblasRowMajor
) or column-major (
CblasColMajor
).
side
Specifies whether
op(
A
)
appears on the left or right of
X
in the equation.
if
side
=
CblasLeft
, then
op(
A
)
*
X
=
alpha
*
B
;
if
side
=
CblasRight
, then
X
*
op(
A
)
=
alpha
*
B
.
uplo
Specifies whether the matrices
A
are upper or lower triangular.
if
uplo
=
CblasUpper
, then
A
are upper triangular;
if
uplo
=
CblasLower
, then
A
are lower triangular.
transa
Specifies
op(
A
)
the transposition operation applied to the matrices
A
.
if
transa
=
CblasNoTrans
, then
op(
A
)
=
A
;
if
transa
=
CblasTrans
, then
op(
A
)
=
A
T
;
if
transa
=
CblasConjTrans
, then
op(
A
)
=
A
H
;
diag
Specifies whether the matrices
A
are unit triangular.
if
diag
=
CblasUnit
, then
A
are unit triangular;
if
diag
=
CblasLower
, then
A
are non-unit triangular.
m
Number of rows of
B
matrices. Must be at least 0
n
Number of columns of
B
matrices. Must be at least 0
alpha
Specifies the scalar
alpha
.
a
Array of size at least
stridea
*
batch_size
holding the
A
matrices. Each
A
matrix is stored at constant
stridea
from each other.
Each
A
matrix has size
lda
*
k
, where
k
is
m
when
side
=
CblasLeft
and is
n
when
side
=
CblasRight
.
Before entry with
uplo
=
CblasUpper
k
-by-
k
upper triangular part of the array
A
must contain the upper triangular matrix and the strictly lower triangular part of
A
is not referenced.
Before entry with
uplo
=
CblasLower
lower triangular part of the array
A
must contain the lower triangular matrix and the strictly upper triangular part of
A
is not referenced.
When diag =
CblasUnit
, the diagonal elements of
A
are not referenced either, but are assumed to be unity.
lda
Specifies the leading dimension of the
A
matrices. When
side
=
CblasLeft
, then
lda
must be at least
max(1, m)
, when side =
side
=
CblasRight
, then
lda
must be at least
max(1, n)
.
stridea
Stride between two consecutive
A
matrices.
When
side
=
CblasLeft
, then
stridea
must be at least
lda
*
m
.
When side =
side
=
CblasRight
, then
stridea
must be at least
lda
*
n
.
b
Array of size at least
strideb
*
batch_size
holding the
B
matrices. Each
B
matrix is stored at constant
strideb
from each other.
When
layout
= CblasColMajor, each
B
matrix has size
ldb
*
n
m
-by-
n
part of the array
B
must contain the matrix
B
.
When
layout
= CblasRowMajor, each
B
matrix has size
ldb
*
m
n
-by-
m
part of the array
B
must contain the matrix
B
.
ldb
Specifies the leading dimension of the
B
matrices.
When
layout
= CblasColMajor,
strideb
must be at least
max(1,
m
)
. Otherwise,
strideb
must be at least
max(1,
n
)
.
strideb
Stride between two consecutive
B
matrices.
When
layout
= CblasColMajor,
strideb
must be at least
ldb
*
n
. Otherwise,
strideb
must be at least
ldb
*
m
.
batch_size
Number of
trsm
computations to perform. Must be at least 0.
Output Parameters
b
Overwritten by the solution batch_size
X
matrices.

#### 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 reserved 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