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).
Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None