---
name: "lapmr"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/lapmr"
---

# lapmr(3)

lapmr: permute rows

## NAME

lapmr - lapmr: permute rows

## SYNOPSIS

### Functions

subroutine **clapmr** (forwrd, m, n, x, ldx, k)\
 **CLAPMR** rearranges rows of a matrix as specified by a permutation vector.  subroutine **dlapmr** (forwrd, m, n, x, ldx, k)\
 **DLAPMR** rearranges rows of a matrix as specified by a permutation vector.  subroutine **slapmr** (forwrd, m, n, x, ldx, k)\
 **SLAPMR** rearranges rows of a matrix as specified by a permutation vector.  subroutine **zlapmr** (forwrd, m, n, x, ldx, k)\
 **ZLAPMR** rearranges rows of a matrix as specified by a permutation vector.

## Detailed Description

## Function Documentation

### subroutine clapmr (logical forwrd, integer m, integer n, complex, dimension( ldx, \* ) x, integer ldx, integer, dimension( \* ) k)

**CLAPMR** rearranges rows of a matrix as specified by a permutation vector.

**Purpose:**

```
!>
!> CLAPMR rearranges the rows of the M by N matrix X as specified
!> by the permutation K(1),K(2),...,K(M) of the integers 1,...,M.
!> If FORWRD = .TRUE.,  forward permutation:
!>
!>      X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
!>
!> If FORWRD = .FALSE., backward permutation:
!>
!>      X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
!>
```

**Parameters**

*FORWRD*

```
!>          FORWRD is LOGICAL
!>          = .TRUE., forward permutation
!>          = .FALSE., backward permutation
!>
```

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix X. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix X. N >= 0.
!>
```

*X*

```
!>          X is COMPLEX array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>          The leading dimension of the array X, LDX >= MAX(1,M).
!>
```

*K*

```
!>          K is INTEGER array, dimension (M)
!>          On entry, K contains the permutation vector. K is used as
!>          internal workspace, but reset to its original value on
!>          output.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **clapmr.f**.

### subroutine dlapmr (logical forwrd, integer m, integer n, double precision, dimension( ldx, \* ) x, integer ldx, integer, dimension( \* ) k)

**DLAPMR** rearranges rows of a matrix as specified by a permutation vector.

**Purpose:**

```
!>
!> DLAPMR rearranges the rows of the M by N matrix X as specified
!> by the permutation K(1),K(2),...,K(M) of the integers 1,...,M.
!> If FORWRD = .TRUE.,  forward permutation:
!>
!>      X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
!>
!> If FORWRD = .FALSE., backward permutation:
!>
!>      X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
!>
```

**Parameters**

*FORWRD*

```
!>          FORWRD is LOGICAL
!>          = .TRUE., forward permutation
!>          = .FALSE., backward permutation
!>
```

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix X. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix X. N >= 0.
!>
```

*X*

```
!>          X is DOUBLE PRECISION array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>          The leading dimension of the array X, LDX >= MAX(1,M).
!>
```

*K*

```
!>          K is INTEGER array, dimension (M)
!>          On entry, K contains the permutation vector. K is used as
!>          internal workspace, but reset to its original value on
!>          output.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **dlapmr.f**.

### subroutine slapmr (logical forwrd, integer m, integer n, real, dimension( ldx, \* ) x, integer ldx, integer, dimension( \* ) k)

**SLAPMR** rearranges rows of a matrix as specified by a permutation vector.

**Purpose:**

```
!>
!> SLAPMR rearranges the rows of the M by N matrix X as specified
!> by the permutation K(1),K(2),...,K(M) of the integers 1,...,M.
!> If FORWRD = .TRUE.,  forward permutation:
!>
!>      X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
!>
!> If FORWRD = .FALSE., backward permutation:
!>
!>      X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
!>
```

**Parameters**

*FORWRD*

```
!>          FORWRD is LOGICAL
!>          = .TRUE., forward permutation
!>          = .FALSE., backward permutation
!>
```

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix X. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix X. N >= 0.
!>
```

*X*

```
!>          X is REAL array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>          The leading dimension of the array X, LDX >= MAX(1,M).
!>
```

*K*

```
!>          K is INTEGER array, dimension (M)
!>          On entry, K contains the permutation vector. K is used as
!>          internal workspace, but reset to its original value on
!>          output.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **slapmr.f**.

### subroutine zlapmr (logical forwrd, integer m, integer n, complex\*16, dimension( ldx, \* ) x, integer ldx, integer, dimension( \* ) k)

**ZLAPMR** rearranges rows of a matrix as specified by a permutation vector.

**Purpose:**

```
!>
!> ZLAPMR rearranges the rows of the M by N matrix X as specified
!> by the permutation K(1),K(2),...,K(M) of the integers 1,...,M.
!> If FORWRD = .TRUE.,  forward permutation:
!>
!>      X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
!>
!> If FORWRD = .FALSE., backward permutation:
!>
!>      X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
!>
```

**Parameters**

*FORWRD*

```
!>          FORWRD is LOGICAL
!>          = .TRUE., forward permutation
!>          = .FALSE., backward permutation
!>
```

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix X. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix X. N >= 0.
!>
```

*X*

```
!>          X is COMPLEX*16 array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>          The leading dimension of the array X, LDX >= MAX(1,M).
!>
```

*K*

```
!>          K is INTEGER array, dimension (M)
!>          On entry, K contains the permutation vector. K is used as
!>          internal workspace, but reset to its original value on
!>          output.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **zlapmr.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
