Fortran中自带了一个进行矩阵乘法运算的函数 MATMUL,用来计算矩阵乘法。
矩阵在fortran中,一个3*3的数组a(3,3)所表示的矩阵如下
program main
implicit none
real a(3, 3), b(3, 3), c(3, 3)
integer m, n, k
integer i, j
a = reshape((/1, 0, 1, 0, 1, 0, 0, 0, 1/),(/3, 3/))
b = reshape((/1, 2, 3, 4, 5, 6, 7, 8, 9/),(/3, 3/))
c = MATMUL(a, b)
write(*, "(3f8.0, /, 3f8.0, /, 3f8.0)") ((a(i, j),j=1,3), i=1,3)
write(*, *) "乘以"
write(*, "(3f8.0, /, 3f8.0, /, 3f8.0)") ((b(i, j),j=1,3), i=1,3)
write(*, *) "等于"
write(*, "(3f8.0, /, 3f8.0, /, 3f8.0)") ((c(i, j),j=1,3), i=1,3)
end