Developer Reference for Intel® oneAPI Math Kernel Library for C
mkl_?trsm_compact
Solves a triangular matrix equation for a set of general, m x n matrices that have been stored in Compact format.
Syntax
mkl_strsm_compact ( MKL_LAYOUTlayout , MKL_SIDEside , MKL_UPLOuplo , MKL_TRANSPOSEtransa , MKL_DIAGdiag , MKL_INTm , MKL_INTn , floatalpha , constfloat*ap , MKL_INTa_stride , float*bp , MKL_INTb_stide , MKL_COMPACT_PACKformat , MKL_INTnm );
mkl_dtrsm_compact ( MKL_LAYOUTlayout , MKL_SIDEside , MKL_UPLOuplo , MKL_TRANSPOSEtransa , MKL_DIAGdiag , MKL_INTm , MKL_INTn , doublealpha , constdouble*ap , MKL_INTa_stride , double*bp , MKL_INTb_stride , MKL_COMPACT_PACKformat , MKL_INTnm );
mkl_ctrsm_compact ( MKL_LAYOUTlayout , MKL_SIDEside , MKL_UPLOuplo , MKL_TRANSPOSEtransa , MKL_DIAGdiag , MKL_INTm , MKL_INTn , mkl_compact_complex_float*alpha , constfloat*ap , MKL_INTa_stride , float*bp , MKL_INTb_stride , MKL_COMPACT_PACKformat , MKL_INTnm );
mkl_ztrsm_compact ( MKL_LAYOUTlayout , MKL_SIDEside , MKL_UPLOuplo , MKL_TRANSPOSEtransa , MKL_DIAGdiag , MKL_INTm , MKL_INTn , mkl_compact_complex_double*alpha , constdouble*ap , MKL_INTa_stride , double*bp , MKL_INTb_stride , MKL_COMPACT_PACKformat , MKL_INTnm );
Description
The routine solves one of the following matrix equations for a group of nm matrices:
op(A c )*X c = alpha*B c ,
or
X c *op(A c ) = alpha*B c
where:
alpha is a scalar, X c and B c are m -by- n matrices that have been stored in compact format, and A c is a m -by- m unit, or non-unit, upper or lower triangular matrix that has been stored in compact format.
op(A c ) is one of op(A c ) = A c , or op(A c ) = A cT , or op(A c ) = A cH ,
B c is overwritten by the solution matrix X c .
Input Parameters
- layout
-
Specifies whether two-dimensional array storage is row-major ( MKL_ROW_MAJOR ) or column-major ( MKL_COL_MAJOR ).
- side
-
Specifies whether op(A c ) appears on the left or right of X c in the equation: if side = MKL_LEFT, then op(A c )*X c = alpha*B c , if side = MKL_RIGHT, then X c *op(A c ) = alpha*B c
- uplo
-
Specifies whether matrix A c is upper or lower triangular. If uplo = MKL_UPPER, A c is upper triangular. If uplo = MKL_LOWER, A c is lower triangular.
- transa
-
Specifies the operation: If transa = MKL_NOTRANS , then op(A c ) = A c ; If transa = MKL_TRANS , then op(A c ) = A cT ; If transa = MKL_CONJTRANS , then op(A c ) = A cH ;
- diag
-
Specifies whether the matrix A c is unit triangular: If diag = MKL_UNIT , then the matrix is unit triangular; if diag = MKL_NONUNIT , then the matrix is not unit triangular.
- m
-
The number of rows of B c and the number of rows and columns of A c when side = MKL_LEFT ; m >= 0.
- n
-
The number of columns of B c and the number of rows and columns of A c when side = MKL_RIGHT ; n >= 0.
- alpha
-
Specifies the scalar alpha . When alpha is zero, then ap is not referenced and bp need not be set before entry.
- ap
-
Array, size ldap*k*nm, where k is m when side= MKL_LEFT and n when side = MKL_RIGHT . ap points to the beginning of nm A c matrices stored in compact format. When uplo = MKL_UPPER, A c is assumed to be an upper triangular matrix and the lower triangular part of A c is not referenced. With uplo = MKL_LOWER, A c is assumed to be a lower triangular matrix and the upper triangular part of A c is not referenced. With diag = MKL_UNIT, the diagonal elements of A c are not referenced either, but are assumed to be unity.
- ldap
-
When side = MKL_LEFT , ldap must be at least max (1, m ). When side = MKL_RIGHT , ldap must be at least max (1, n ).
- bp
-
Array, size ldbp*n*nm when layout = MKL_COL_MAJOR; size ldbp*m*nm when layout = MKL_ROW_MAJOR. Before entry, bp points to the beginning of nm B c matrices stored in compact format.
- ldbp
-
Column stride (column-major layout) or row stride (row-major layout) of B c . layout = MKL_COL_MAJOR ldbp must be at least max (1, m ). layout = MKL_ROW_MAJOR * ldbp must be at least max (1, n ).
- format
-
Specifies the format of the compact matrices. See <Compact Format> or mkl_get_format_compact for details.
- nm
-
Total number of matrices stored in Compact format; nm >= 0.
Output Parameters
- bp
-
On exit, B c is overwritten by the solution matrix X c . bp points to the beginning of nm such X c matrices.