Visible to Intel only — GUID: GUID-8A6ABE6F-084B-4308-8D13-2FC78BC03319
Visible to Intel only — GUID: GUID-8A6ABE6F-084B-4308-8D13-2FC78BC03319
mkl_?tpunpack
Copies a triangular/symmetric matrix or submatrix from standard packed format to full format.
Syntax
lapack_int LAPACKE_mkl_stpunpack ( int matrix_layout, char uplo, char trans, lapack_int n, const float* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, float* a, lapack_int lda );
lapack_int LAPACKE_mkl_dtpunpack ( int matrix_layout, char uplo, char trans, lapack_int n, const double* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, double* a, lapack_int lda );
lapack_int LAPACKE_mkl_ctpunpack ( int matrix_layout, char uplo, char trans, lapack_int n, const MKL_Complex8* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, MKL_Complex8* a, lapack_int lda );
lapack_int LAPACKE_mkl_ztpunpack ( int matrix_layout, char uplo, char trans, lapack_int n, const MKL_Complex16* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, MKL_Complex16* a, lapack_int lda );
Include Files
- mkl.h
Description
The routine copies a triangular or symmetric matrix or its submatrix from standard packed format to full format.
A := op(APi:i+rows-1, j:j+cols-1)
Standard packed formats include:
TP: triangular packed storage
SP: symmetric indefinite packed storage
HP: Hermitian indefinite packed storage
PP: symmetric or Hermitian positive definite packed storage
Full formats include:
GE: general
TR: triangular
SY: symmetric indefinite
HE: Hermitian indefinite
PO: symmetric or Hermitian positive definite
Any elements of the copied submatrix rectangular outside of the triangular part of AP are skipped.
Input Parameters
A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
matrix_layout |
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR). |
|||||||||
uplo |
Specifies whether matrix AP is upper or lower triangular. If uplo = 'U', AP is upper triangular. If uplo = 'L': AP is lower triangular. |
|||||||||
trans |
Specifies whether or not the copied block of AP is transposed. If trans = 'N', no transpose: op(AP) = AP. If trans = 'T',transpose: op(AP) = APT. If trans = 'C',conjugate transpose: op(AP) = APH. For real data this is the same as trans = 'T'. |
|||||||||
n |
The order of the matrix AP; n ≥ 0. |
|||||||||
ap |
Array, size at least max(1, n(n+1)/2). The array ap contains either the upper or the lower triangular part of the matrix AP (as specified by uplo) in packed storage (see Matrix Storage Schemes). It is the source for the submatrix of AP from row i to row i + rows - 1 and column j to column j + cols - 1 to be copied. |
|||||||||
i, j |
Coordinates of left upper corner of the submatrix in AP to copy. If uplo=’U’, 1 ≤i≤j≤n. If uplo=’L’, 1 ≤j≤i≤n. |
|||||||||
rows |
Number of rows to copy. 0 ≤rows≤n - i + 1. |
|||||||||
cols |
Number of columns to copy. 0 ≤cols≤n - j + 1. |
|||||||||
lda |
The leading dimension of array a.
|
Output Parameters
a |
Pointer to the destination matrix. On exit, array a is overwritten with a copy of the unpacked rows-by-cols submatrix of ap unpacked rows-by-columns if trans = ’N’, or unpacked columns-by-rows if trans = ’T’ or trans = ’C’. The size of a is
NOTE:
If there are elements outside of the triangular part of ap indicated by uplo, they are skipped and are not copied to a. |
Return Values
This function returns a value info. If info=0, the execution is successful. If info = -i, the i-th parameter had an illegal value.