Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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.

See Also