home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP2.ZIP / MATOPS.ZIP / GTPRD.FOR < prev    next >
Text File  |  1985-11-29  |  1KB  |  54 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE GTPRD
  5. C
  6. C        PURPOSE
  7. C           PREMULTIPLY A GENERAL MATRIX BY THE TRANSPOSE OF ANOTHER
  8. C           GENERAL MATRIX
  9. C
  10. C        USAGE
  11. C           CALL GTPRD(A,B,R,N,M,L)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           A - NAME OF FIRST INPUT MATRIX
  15. C           B - NAME OF SECOND INPUT MATRIX
  16. C           R - NAME OF OUTPUT MATRIX
  17. C           N - NUMBER OF ROWS IN A AND B
  18. C           M - NUMBER OF COLUMNS IN A AND ROWS IN R
  19. C           L - NUMBER OF COLUMNS IN B AND R
  20. C
  21. C        REMARKS
  22. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A
  23. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX B
  24. C           ALL MATRICES MUST BE STORED AS GENERAL MATRICES
  25. C
  26. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  27. C           NONE
  28. C
  29. C        METHOD
  30. C           MATRIX TRANSPOSE OF A IS NOT ACTUALLY CALCULATED. INSTEAD,
  31. C           ELEMENTS OF MATRIX A ARE TAKEN COLUMNWISE RATHER THAN
  32. C           ROWWISE FOR POSTMULTIPLICATION BY MATRIX B.
  33. C
  34. C     ..................................................................
  35. C
  36.       SUBROUTINE GTPRD(A,B,R,N,M,L)
  37.       DIMENSION A(1),B(1),R(1)
  38. C
  39.       IR=0
  40.       IK=-N
  41.       DO 10 K=1,L
  42.       IJ=0
  43.       IK=IK+N
  44.       DO 10 J=1,M
  45.       IB=IK
  46.       IR=IR+1
  47.       R(IR)=0
  48.       DO 10 I=1,N
  49.       IJ=IJ+1
  50.       IB=IB+1
  51.    10 R(IR)=R(IR)+A(IJ)*B(IB)
  52.       RETURN
  53.       END
  54.