?laswp

Performs a series of row interchanges on a general rectangular matrix.

Syntax

call slaswp( n, a, lda, k1, k2, ipiv, incx )

call dlaswp( n, a, lda, k1, k2, ipiv, incx )

call claswp( n, a, lda, k1, k2, ipiv, incx )

call zlaswp( n, a, lda, k1, k2, ipiv, incx )

C:

lapack_int LAPACKE_<?>laswp (int matrix_layout, lapack_int n, <datatype> * a, lapack_int lda, lapack_int k1, lapack_int k2, const lapack_int * ipiv, lapack_int incx);

Include Files

  • Fortran: mkl.fi
  • C: mkl.h

Description

The routine performs a series of row interchanges on the matrix A. One row interchange is initiated for each of rows k1 through k2 of A.

Input Parameters

The data types are given for the Fortran interface. 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.

n

INTEGER. The number of columns of the matrix A.

a

REAL for slaswp

DOUBLE PRECISION for dlaswp

COMPLEX for claswp

DOUBLE COMPLEX for zlaswp.

Array, DIMENSION (lda, n).

On entry, the matrix of column dimension n to which the row interchanges will be applied.

lda

INTEGER. The leading dimension of the array a.

k1

INTEGER. The first element of ipiv for which a row interchange will be done.

k2

INTEGER. The last element of ipiv for which a row interchange will be done.

ipiv

INTEGER.

Array, DIMENSION (k2*|incx|).

The vector of pivot indices. Only the elements in positions k1 through k2 of ipiv are accessed.

ipiv(k) = l implies rows k and l are to be interchanged.

incx

INTEGER. The increment between successive values of ipiv. If ipiv is negative, the pivots are applied in reverse order.

Output Parameters

a

On exit, the permuted matrix.

For more complete information about compiler optimizations, see our Optimization Notice.