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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE CSUM
  5. C
  6. C        PURPOSE
  7. C           SUM ELEMENTS OF EACH COLUMN TO FORM ROW VECTOR
  8. C
  9. C        USAGE
  10. C           CALL CSUM(A,R,N,M,MS)
  11. C
  12. C        DESCRIPTION OF PARAMETERS
  13. C           A - NAME OF INPUT MATRIX
  14. C           R - NAME OF VECTOR OF LENGTH M
  15. C           N - NUMBER OF ROWS IN A
  16. C           M - NUMBER OF COLUMNS IN A
  17. C           MS  - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A
  18. C                  0 - GENERAL
  19. C                  1 - SYMMETRIC
  20. C                  2 - DIAGONAL
  21. C
  22. C        REMARKS
  23. C           VECTOR R CANNOT BE IN THE SAME LOCATION AS MATRIX A
  24. C           UNLESS A IS GENERAL
  25. C
  26. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  27. C           LOC
  28. C
  29. C        METHOD
  30. C           ELEMENTS ARE SUMMED DOWN EACH COLUMN INTO A CORRESPONDING
  31. C           ELEMENT OF OUTPUT ROW VECTOR R
  32. C
  33. C     ..................................................................
  34. C
  35.       SUBROUTINE CSUM(A,R,N,M,MS)
  36.       DIMENSION A(1),R(1)
  37. C
  38.       DO 3 J=1,M
  39. C
  40. C        CLEAR OUTPUT LOCATION
  41. C
  42.       R(J)=0.0
  43. C
  44.       DO 3 I=1,N
  45. C
  46. C        LOCATE ELEMENT FOR ANY MATRIX STORAGE MODE
  47. C
  48.       CALL LOC(I,J,IJ,N,M,MS)
  49. C
  50. C        TEST FOR ZERO ELEMENT IN DIAGONAL MATRIX
  51. C
  52.       IF(IJ) 2,3,2
  53. C
  54. C        ACCUMULATE IN OUTPUT VECTOR
  55. C
  56.     2 R(J)=R(J)+A(IJ)
  57.     3 CONTINUE
  58.       RETURN
  59.       END
  60.