home *** CD-ROM | disk | FTP | other *** search
- C
- C ..................................................................
- C
- C SUBROUTINE GTPRD
- C
- C PURPOSE
- C PREMULTIPLY A GENERAL MATRIX BY THE TRANSPOSE OF ANOTHER
- C GENERAL MATRIX
- C
- C USAGE
- C CALL GTPRD(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 AND B
- C M - NUMBER OF COLUMNS IN A AND ROWS IN R
- C L - NUMBER OF COLUMNS IN B AND R
- C
- C REMARKS
- 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 ALL MATRICES MUST BE STORED AS GENERAL MATRICES
- C
- C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
- C NONE
- C
- C METHOD
- C MATRIX TRANSPOSE OF A IS NOT ACTUALLY CALCULATED. INSTEAD,
- C ELEMENTS OF MATRIX A ARE TAKEN COLUMNWISE RATHER THAN
- C ROWWISE FOR POSTMULTIPLICATION BY MATRIX B.
- C
- C ..................................................................
- C
- SUBROUTINE GTPRD(A,B,R,N,M,L)
- DIMENSION A(1),B(1),R(1)
- C
- IR=0
- IK=-N
- DO 10 K=1,L
- IJ=0
- IK=IK+N
- DO 10 J=1,M
- IB=IK
- IR=IR+1
- R(IR)=0
- DO 10 I=1,N
- IJ=IJ+1
- IB=IB+1
- 10 R(IR)=R(IR)+A(IJ)*B(IB)
- RETURN
- END