我是一个 fortran 初学者,只是想尝试一下是否可以使用矩阵乘法。
program testlapack
implicit none
COMPLEX, DIMENSION(2, 2) :: A, B, Output
A = reshape((/ 4, 0, 0, 2 /), shape(A))
B = reshape((/ 6, 0, 0, 3 /), shape(B))
Output = reshape((/ 1, 0, 0, 1 /), shape(Output))
call DGEMM('n','n',2,2,2,1.0,A,2,B,2,0.0,Output,2)
Write(*,*) Output
end program testlapack
我期待一个简单的 A * B 乘法写入输出数组。相反,lapack 返回一个只有零的 2x2 矩阵。使用 ifort -llpack 编译不会产生错误。
我的问题在哪里?谢谢