home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP2.ZIP
/
MATOPS.ZIP
/
MTRA.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
1KB
|
55 lines
C
C ..................................................................
C
C SUBROUTINE MTRA
C
C PURPOSE
C TRANSPOSE A MATRIX
C
C USAGE
C CALL MTRA(A,R,N,M,MS)
C
C DESCRIPTION OF PARAMETERS
C A - NAME OF MATRIX TO BE TRANSPOSED
C R - NAME OF OUTPUT MATRIX
C N - NUMBER OF ROWS OF A AND COLUMNS OF R
C M - NUMBER OF COLUMNS OF A AND ROWS OF R
C MS - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A (AND R)
C 0 - GENERAL
C 1 - SYMMETRIC
C 2 - DIAGONAL
C
C REMARKS
C MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C MCPY
C
C METHOD
C TRANSPOSE N BY M MATRIX A TO FORM M BY N MATRIX R BY MOVING
C EACH ROW OF A INTO THE CORRESPONDING COLUMN OF R. IF MATRIX
C A IS SYMMETRIC OR DIAGONAL, MATRIX R IS THE SAME AS A.
C
C ..................................................................
C
SUBROUTINE MTRA(A,R,N,M,MS)
DIMENSION A(1),R(1)
C
C IF MS IS 1 OR 2, COPY A
C
IF(MS) 10,20,10
10 CALL MCPY(A,R,N,N,MS)
RETURN
C
C TRANSPOSE GENERAL MATRIX
C
20 IR=0
DO 30 I=1,N
IJ=I-N
DO 30 J=1,M
IJ=IJ+N
IR=IR+1
30 R(IR)=A(IJ)
RETURN
END