home *** CD-ROM | disk | FTP | other *** search
- C
- C ..................................................................
- C
- C SUBROUTINE CSUM
- C
- C PURPOSE
- C SUM ELEMENTS OF EACH COLUMN TO FORM ROW VECTOR
- C
- C USAGE
- C CALL CSUM(A,R,N,M,MS)
- C
- C DESCRIPTION OF PARAMETERS
- C A - NAME OF INPUT MATRIX
- C R - NAME OF VECTOR OF LENGTH M
- C N - NUMBER OF ROWS IN A
- C M - NUMBER OF COLUMNS IN A
- C MS - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A
- C 0 - GENERAL
- C 1 - SYMMETRIC
- C 2 - DIAGONAL
- C
- C REMARKS
- C VECTOR R CANNOT BE IN THE SAME LOCATION AS MATRIX A
- C UNLESS A IS GENERAL
- C
- C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
- C LOC
- C
- C METHOD
- C ELEMENTS ARE SUMMED DOWN EACH COLUMN INTO A CORRESPONDING
- C ELEMENT OF OUTPUT ROW VECTOR R
- C
- C ..................................................................
- C
- SUBROUTINE CSUM(A,R,N,M,MS)
- DIMENSION A(1),R(1)
- C
- DO 3 J=1,M
- C
- C CLEAR OUTPUT LOCATION
- C
- R(J)=0.0
- C
- DO 3 I=1,N
- C
- C LOCATE ELEMENT FOR ANY MATRIX STORAGE MODE
- C
- CALL LOC(I,J,IJ,N,M,MS)
- C
- C TEST FOR ZERO ELEMENT IN DIAGONAL MATRIX
- C
- IF(IJ) 2,3,2
- C
- C ACCUMULATE IN OUTPUT VECTOR
- C
- 2 R(J)=R(J)+A(IJ)
- 3 CONTINUE
- RETURN
- END