C=A*BのFORTRANプログラムNO.2
2007/05/30 東京工芸大学 後 保範 ( Ushiro Yasunori )
--------------------------------------------------------------
1. 概要
実密行列を係数とする行列乗算C=A*Bを計算する。連続アクセス版である。
行列A,B,CのサイズはそれぞれNxL,LxM,NxMである。
2. プログラム
C=================================================================C
SUBROUTINE MULT2(A,B,C,N,M,L,ND)
C=================================================================C
C Real-Dense Matrix Multiplication C
C C = A*B with JKI-Type C
C-----------------------------------------------------------------C
C A(ND,L) R*8, In, First Input Matrix (A) , Size N*L C
C B(ND,M) R*8, In, Second Input Matrix (B), Size L*M C
C C(ND,M) R*8, Out, Output Matrix (C) , Size N*M C
C N I*4, In, Matrix Size of A(Column), C(Column) C
C M I*4, In, Matrix Size of B(Row), C(Row) C
C L I*4, In, Matrix Size of A(Row), B(Column) C
C ND I*4, In, Array Size of A,B,C C
C-----------------------------------------------------------------C
C Written by Yasunori Ushiro , 2007/05/30 C
C ( Tokyo Polytechnic University ) C
C=================================================================C
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION A(ND,L), B(ND,M), C(ND,M)
C Clear C
do j=1,M
do i=1,N
C(i,j) = 0.0
end do
end do
C C=C+A*B
do j=1,M
do k=1,L
BW = B(k,j)
do i=1,N
C(i,j) = C(i,j) + A(i,k)*BW
end do
end do
end do
C
RETURN
END