home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / matops / gmprd.for < prev    next >
Encoding:
Text File  |  1985-11-29  |  1.5 KB  |  55 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE GMPRD
  5. C
  6. C        PURPOSE
  7. C           MULTIPLY TWO GENERAL MATRICES TO FORM A RESULTANT GENERAL
  8. C           MATRIX
  9. C
  10. C        USAGE
  11. C           CALL GMPRD(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
  18. C           M - NUMBER OF COLUMNS IN A AND ROWS IN B
  19. C           L - NUMBER OF COLUMNS IN B
  20. C
  21. C        REMARKS
  22. C           ALL MATRICES MUST BE STORED AS GENERAL MATRICES
  23. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A
  24. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX B
  25. C           NUMBER OF COLUMNS OF MATRIX A MUST BE EQUAL TO NUMBER OF ROW
  26. C           OF MATRIX B
  27. C
  28. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  29. C           NONE
  30. C
  31. C        METHOD
  32. C           THE M BY L MATRIX B IS PREMULTIPLIED BY THE N BY M MATRIX A
  33. C           AND THE RESULT IS STORED IN THE N BY L MATRIX R.
  34. C
  35. C     ..................................................................
  36. C
  37.       SUBROUTINE GMPRD(A,B,R,N,M,L)
  38.       DIMENSION A(1),B(1),R(1)
  39. C
  40.       IR=0
  41.       IK=-M
  42.       DO 10 K=1,L
  43.       IK=IK+M
  44.       DO 10 J=1,N
  45.       IR=IR+1
  46.       JI=J-N
  47.       IB=IK
  48.       R(IR)=0
  49.       DO 10 I=1,M
  50.       JI=JI+N
  51.       IB=IB+1
  52.    10 R(IR)=R(IR)+A(JI)*B(IB)
  53.       RETURN
  54.       END
  55.