C #MXMUL V1A 3-JUL-73. C LAST UPDATE: C SUBROUTINE MXMUL ( B, L, C, M, N, A) DIMENSION B(L,M), C(M,N), A(L,N) C C *PURPOSE. C TO MULTIPLY TWO MATRICES PRODUCING A THIRD. "A" BECOMES THE C PRODUCT "B*C". C C *PARAMETERS: C C B - REAL MATRIX OF DIMENSION "L" BY "M", FIRST FACTOR IN C THE PRODUCT. C L - INTEGER VALUE, FIRST DIMENSION OF "B" AND "A". C C - REAL MATRIX OF DIMENSION "M" BY "N", SECOND FACTOR IN C THE PRODUCT. C M - INTEGER VALUE, SECOND DIMENSION OF "B" AND FIRST OF "C". C N - INTEGER VALUE, SECOND DIMENSION OF "C" AND "A". C A - REAL MATRIX OF DIMENSION "L" BY "N", BECOMES THE PRODUCT. C C NOTE. THE MATRICES "A", "B", AND "C" MUST ALL BE DISTINCT! C C INPUT PARAMETERS C B, L, C, M, N C OUTPUT PARAMETERS C A C C *METHOD. C THE METHOD IS STRAIGHTFORWARD. C C *ACCURACY. C C *RESTRICTIONS. C C *ERROR CONDITIONS. C C *NON STANDARD ROUTINES CALLED. C C *TYPICAL TIMES. C THE TIME IS PROPORTIONAL TO "L*M*N". C C *ORIGIN. M.R.MANNING. C C *COMMENTS. C C #END. C DO 100 I= 1, L DO 100 J= 1, N C CALCULATE "A(I,J)" SUM= 0. DO 80 K= 1, M 80 SUM= SUM + B(I,K)*C(K,J) C 100 A(I,J)= SUM C RETURN END