我需要实现一个特定的算法,计算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)进行计算。有什么想法吗?