mkl_?tppack
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 matrixAPis upper or lower triangular.Ifuplo= 'U',APis upper triangular.Ifuplo= 'L':APis lower triangular.
- trans
- Specifies whether or not the copied block ofAis transposed or not.Iftrans= 'N', no transpose:op(.A) =AIftrans= 'T',transpose:op(.A) =ATIftrans= 'C',conjugate transpose:op(. For real data this is the same asA) =AHtrans= 'T'.
- n
- The order of the matrixAP;n≥ 0
- i, j
- Coordinates of the left upper corner of the destination submatrix inAP.Ifuplo=’U’, 1≤i≤j≤n.Ifuplo=’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.Arrayacontains therows-by-colssubmatrix stored as unpacked rows-by-columns iftrans= ’N’, or unpacked columns-by-rows iftrans= ’T’ ortrans= ’C’.The size ofaistrans= 'N'trans='T' ortrans='C'matrix_layout=LAPACK_COL_MAJORlda*colslda*rowsmatrix_layout=LAPACK_ROW_MAJORlda*rowslda*colsIf there are elements outside of the triangular part ofAP, they are skipped and are not copied froma.
- lda
- The leading dimension of the arraya.trans= 'N'trans='T' ortrans='C'matrix_layout=LAPACK_COL_MAJORlda≥max(1,rows)lda≥max(1,cols)matrix_layout=LAPACK_ROW_MAJORlda≥max(1,cols)lda≥max(1,rows)
Output Parameters
- ap
- Array of size at least max(1,n(n+1)/2). The arrayapcontains either the upper or the lower triangular part of the matrixAP(as specified byuplo) in packed storage (see Matrix Storage Schemes). The submatrix ofapfrom rowito rowi+rows- 1 and columnjto columnj+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.