【发布时间】:2019-12-10 14:17:13
【问题描述】:
有没有一种简单快捷的方法将矩阵的列与向量的元素相乘。我们可以明确地做到这一点,
program test
integer :: x(3,3), y(3), z(3,3)
x = reshape([(i,i=1,9)],[3,3])
y = [1,2,3]
do i=1,3
z(:,i) = x(:,i) * y(i)
print *, z(:,i)
enddo
end program test
有没有办法在一行中执行 do 循环。例如在 Numpy python 中,我们可以一次性完成这项工作
z = np.einsum('ij,i->ij',x,y)
#or
z = x*y[:,None]
【问题讨论】:
标签: fortran