FORTRAN 可分配数组。这段代码的数学表示是什么?

FORTRAN allocatable arrays. What is the mathematical representation of this segment of code?

这段代码发生了什么?

DOUBLE PRECISION, INTENT(IN) :: x(3,3), y(3,3)
DOUBLE PRECISION :: e(3,3) 

do i=1,3
j=mod(i,3)+1

e(:,i)=x(:,j)-x(:,i)

done

简而言之,这需要每一列并从其后的一列中减去它(逐个元素),索引环绕数组。

e的第一列包含x的第二列减去x的第一列,e的第二列包含x的第三列减去e 的第二列和第三列包含 x 的第一列减去第三列。