home *** CD-ROM | disk | FTP | other *** search
- C
- C ..................................................................
- C
- C SUBROUTINE GMPRD
- C
- C PURPOSE
- C MULTIPLY TWO GENERAL MATRICES TO FORM A RESULTANT GENERAL
- C MATRIX
- C
- C USAGE
- C CALL GMPRD(A,B,R,N,M,L)
- C
- C DESCRIPTION OF PARAMETERS
- C A - NAME OF FIRST INPUT MATRIX
- C B - NAME OF SECOND INPUT MATRIX
- C R - NAME OF OUTPUT MATRIX
- C N - NUMBER OF ROWS IN A
- C M - NUMBER OF COLUMNS IN A AND ROWS IN B
- C L - NUMBER OF COLUMNS IN B
- C
- C REMARKS
- C ALL MATRICES MUST BE STORED AS GENERAL MATRICES
- C MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A
- C MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX B
- C NUMBER OF COLUMNS OF MATRIX A MUST BE EQUAL TO NUMBER OF ROW
- C OF MATRIX B
- C
- C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
- C NONE
- C
- C METHOD
- C THE M BY L MATRIX B IS PREMULTIPLIED BY THE N BY M MATRIX A
- C AND THE RESULT IS STORED IN THE N BY L MATRIX R.
- C
- C ..................................................................
- C
- SUBROUTINE GMPRD(A,B,R,N,M,L)
- DIMENSION A(1),B(1),R(1)
- C
- IR=0
- IK=-M
- DO 10 K=1,L
- IK=IK+M
- DO 10 J=1,N
- IR=IR+1
- JI=J-N
- IB=IK
- R(IR)=0
- DO 10 I=1,M
- JI=JI+N
- IB=IB+1
- 10 R(IR)=R(IR)+A(JI)*B(IB)
- RETURN
- END