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
call mkl_stpunpack (uplo, trans, n, ap, i, j, rows, cols, a, lda, info )
call mkl_dtpunpack (uplo, trans, n, ap, i, j, rows, cols, a, lda, info )
call mkl_ctpunpack (uplo, trans, n, ap, i, j, rows, cols, a, lda, info )
call mkl_ztpunpack (uplo, trans, n, ap, i, j, rows, cols, a, lda, info )
call mkl_tpunpack (ap, i, j, rows, cols, a[, uplo] [, trans] [, info])
Include Files
- mkl.fi, lapack.f90
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
The data types are given for the Fortran interface.
uplo |
CHARACTER*1. Specifies whether matrix AP is upper or lower triangular. If uplo = 'U', AP is upper triangular. If uplo = 'L': AP is lower triangular. |
trans |
CHARACTER*1. 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 |
INTEGER. The order of the matrix AP; n ≥ 0. |
ap |
REAL for mkl_stpunpack DOUBLE PRECISION for mkl_dtpunpack COMPLEX for mkl_ctpunpack DOUBLE COMPLEX for mkl_ztpunpack 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 |
INTEGER. 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 |
INTEGER. Number of rows to copy. 0 ≤rows≤n - i + 1. |
cols |
INTEGER. Number of columns to copy. 0 ≤cols≤n - j + 1. |
lda |
INTEGER. The leading dimension of array a. lda≥ max(1,rows) for trans = 'N' and and lda≥ max(1,cols) for trans='T' or trans='C'. |
Output Parameters
a |
REAL for mkl_stpunpack DOUBLE PRECISION for mkl_dtpunpack COMPLEX for mkl_ctpunpack DOUBLE COMPLEX for mkl_ztpunpack Pointer to the destination matrix. The size of a must be at least lda*cols for trans = 'N' or lda*rows for trans='T' or trans='C'. 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’.
NOTE:
If there are elements outside of the triangular part of ap indicated by uplo, they are skipped and are not copied to a. |
info |
INTEGER. If info=0, the execution is successful. If info = -i, the i-th parameter had an illegal value. |