## MA02BD

### Reversing the order of rows and/or columns of a matrix

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

```  To reverse the order of rows and/or columns of a given matrix A
by pre-multiplying and/or post-multiplying it, respectively, with
a permutation matrix P, where P is a square matrix of appropriate
order, with ones down the secondary diagonal.

```
Specification
```      SUBROUTINE MA02BD( SIDE, M, N, A, LDA )
C     .. Scalar Arguments ..
CHARACTER          SIDE
INTEGER            LDA, M, N
C     .. Array Arguments ..
DOUBLE PRECISION   A(LDA,*)

```
Arguments

Mode Parameters

```  SIDE    CHARACTER*1
Specifies the operation to be performed, as follows:
= 'L': the order of rows of A is to be reversed by
pre-multiplying A with P;
= 'R': the order of columns of A is to be reversed by
post-multiplying A with P;
= 'B': both the order of rows and the order of columns
of A is to be reversed by pre-multiplying and
post-multiplying A with P.

```
Input/Output Parameters
```  M       (input) INTEGER
The number of rows of the matrix A.  M >= 0.

N       (input) INTEGER
The number of columns of the matrix A.  N >= 0.

A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On entry, the leading M-by-N part of this array must
contain the given matrix whose rows and/or columns are to
be permuted.
On exit, the leading M-by-N part of this array contains
the matrix P*A if SIDE = 'L', or A*P if SIDE = 'R', or
P*A*P if SIDE = 'B'.

LDA     INTEGER
The leading dimension of the array A.  LDA >= max(1,M).

```
```  None
```
Example

Program Text

```  None
```
Program Data
```  None
```
Program Results
```  None
```