Intel® oneAPI Math Kernel Library Developer Reference - C
Performs a forward or backward permutation of the columns of a matrix.
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);
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.
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
If forwrd≠ 0, forward permutation
If forwrd = 0, backward permutation
The number of rows of the matrix X. m≥ 0.
The number of columns of the matrix X. n≥ 0.
Array, size ldx*n. On entry, the m-by-n matrix X.
The leading dimension of the array x, ldx≥ max(1,m).
Array, size (n). On entry, k contains the permutation vector and is used as internal workspace.
On exit, x contains the permuted matrix X.
On exit, k is reset to its original value.