dlapmr.f -

## SYNOPSIS

### Functions/Subroutines

subroutine dlapmr (FORWRD, M, N, X, LDX, K)
DLAPMR rearranges rows of a matrix as specified by a permutation vector.

## Function/Subroutine Documentation

### subroutine dlapmr (logicalFORWRD, integerM, integerN, double precision, dimension( ldx, * )X, integerLDX, 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