Visible to Intel only — GUID: GUID-E72E69C2-316E-4124-A0A2-9213DC535A98
Visible to Intel only — GUID: GUID-E72E69C2-316E-4124-A0A2-9213DC535A98
mkl_?tppack
Copies a triangular/symmetric matrix or submatrix from standard full format to standard packed format.
Syntax
lapack_int LAPACKE_mkl_stppack (int matrix_layout, char uplo, char trans, lapack_int n, float* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, const float* a, lapack_int lda);
lapack_int LAPACKE_mkl_dtppack (int matrix_layout, char uplo, char trans, lapack_int n, double* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, const double* a, lapack_int lda);
lapack_int LAPACKE_mkl_ctppack (int matrix_layout, char uplo, char trans, lapack_int n, MKL_Complex8* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, const MKL_Complex8* a, lapack_int lda);
lapack_int LAPACKE_mkl_ztppack (int matrix_layout, char uplo, char trans, lapack_int n, MKL_Complex16* ap, lapack_int i, lapack_int j, lapack_int rows, lapack_int cols, const MKL_Complex16* a, lapack_int lda);
Include Files
- mkl.h
Description
The routine copies a triangular or symmetric matrix or its submatrix from standard full format to packed format
APi:i+rows-1, j:j+cols-1 := op(A)
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 the matrix 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.
- uplo
-
Specifies whether the 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 A is transposed or not.
If trans = 'N', no transpose: op(A) = A.
If trans = 'T',transpose: op(A) = AT.
If trans = 'C',conjugate transpose: op(A) = AH. For real data this is the same as trans = 'T'.
- n
-
The order of the matrix AP; n ≥ 0
- i, j
-
Coordinates of the left upper corner of the destination submatrix in AP.
If uplo=’U’, 1 ≤i≤j≤n.
If uplo=’L’, 1 ≤j≤i≤n.
- rows
-
Number of rows in the destination submatrix. 0 ≤rows≤n - i + 1.
- cols
-
Number of columns in the destination submatrix. 0 ≤cols≤n - j + 1.
- a
-
Pointer to the source submatrix.
Array a contains the rows-by-cols submatrix stored as unpacked rows-by-columns if trans = ’N’, or unpacked columns-by-rows if trans = ’T’ or trans = ’C’.
The size of a is
trans = 'N'
trans='T' or trans='C'
matrix_layout = LAPACK_COL_MAJOR
lda*cols
lda*rows
matrix_layout = LAPACK_ROW_MAJOR
lda*rows
lda*cols
NOTE:If there are elements outside of the triangular part of AP, they are skipped and are not copied from a.
- lda
-
The leading dimension of the array a.
trans = 'N'
trans='T' or trans='C'
matrix_layout = LAPACK_COL_MAJOR
lda≥ max(1, rows)
lda≥ max(1, cols)
matrix_layout = LAPACK_ROW_MAJOR
lda≥ max(1, cols)
lda≥ max(1, rows)
Output Parameters
ap |
Array of 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). The submatrix of ap from row i to row i + rows - 1 and column j to column j + cols - 1 is overwritten with a copy of the source matrix. |
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.