Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?lapmt
Performs a forward or backward permutation of the columns of a matrix.
Syntax
lapack_int LAPACKE_slapmt (int matrix_layout, lapack_logical forwrd, lapack_int m, lapack_int n, float * x, lapack_int ldx, lapack_int * k);
lapack_int LAPACKE_dlapmt (int matrix_layout, lapack_logical forwrd, lapack_int m, lapack_int n, double * x, lapack_int ldx, lapack_int * k);
lapack_int LAPACKE_clapmt (int matrix_layout, lapack_logical forwrd, lapack_int m, lapack_int n, lapack_complex_float * x, lapack_int ldx, lapack_int * k);
lapack_int LAPACKE_zlapmt (int matrix_layout, lapack_logical forwrd, lapack_int m, lapack_int n, lapack_complex_double * x, lapack_int ldx, lapack_int * k);
Include Files
- mkl.h
 
Description
The routine ?lapmt rearranges the columns of the m-by-n matrix X as specified by the permutation k[i - 1]for i = 1,...,n.
If forwrd≠ 0, forward permutation:
X(*,k(j)) is moved to X(*,j) for j=1,2,...,n.
If forwrd = 0, backward permutation:
X(*,j) is moved to X(*,k(j)) for j = 1,2,...,n.
Input Parameters
- matrix_layout
 -  
     
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
 - forwrd
 -  
     
If forwrd≠ 0, forward permutation
If forwrd = 0, backward permutation
 - m
 -  
     
The number of rows of the matrix X. m≥ 0.
 - n
 -  
     
The number of columns of the matrix X. n≥ 0.
 - x
 -  
     
Array, size ldx*n. On entry, the m-by-n matrix X.
 - ldx
 -  
     
The leading dimension of the array x, ldx≥ max(1,m).
 - k
 -  
     
Array, size (n). On entry, k contains the permutation vector and is used as internal workspace.
 
Output Parameters
- x
 -  
     
On exit, x contains the permuted matrix X.
 - k
 -  
     
On exit, k is reset to its original value.