在Fortran 95中实现两个方阵的乘积

时间:2017-07-10 21:17:10

标签: matrix module fortran subroutine fortran95

我需要实现一个特定的算法,计算2个方阵的乘积(在主程序中预先生成随机数)作为模块内的子程序,如下所示:

module MATMAT

contains

subroutine matmat_ijk

     ...

end subroutine matmat_ijk

end module MATMAT

这是我必须在上面的子程序中实现的算法,考虑两个矩阵A(mxr)和B(rxn)来找到C(mxn):

proc matmat_ijk(real A[1:m,1:r],B[1:r,1:n]; 
                ref real C[1:m,1:n])

1.int i,j,k

2.C:= 0.0

3.for i:=1 until m do

4.for j:=1 until n do

5.for k:=1 until r do

6.C[i,j]:= C[i,j]+A[i,k]*B[k,j]

7.end do

8.end do

9.end do

end proc

程序必须调用此子程序matmat_ijk并使用主程序中生成的两个平方矩阵(nxn)进行计算。有什么想法吗?

0 个答案:

没有答案