我在Python代码,我需要“翻译”来的Fortran(我不知道多少....)等效numpy.dot(蟒蛇)的
我:
>>>Mat1
array([[ 0.2],
[ 0.4],
[-0.2],
[-0.8]])
>>> X
array([[0, 0, 1, 1],
[0, 1, 1, 0],
[1, 0, 1, 0],
[1, 1, 1, 1]])
然后我做的:
Result=np.dot(X,Mat1)
我愿做等值的Fortran
REAL(8), DIMENSION(4,1)::Mat1
REAL(8), DIMENSION(4,4)::X
X(:, 1)=(/0, 0, 1, 1/)
X(:, 2)=(/0, 1, 1, 0/)
X(:, 3)=(/1, 0, 1, 0/)
X(:, 4)=(/1, 1, 1, 1/)
Mat1(:,1)=(/0.2,0.4,-0.2,-0.8/)
但是在这种情况下,numpy.dot
并不是真的在做一个点积......我不知道应该使用DOT_PRODUCT
还是MATMUL
。事情对我来说真的不清楚。
真实(8)真的很丑并且不便携。 –
我在fortran中用得不多,最好的方法是什么?为什么?谢谢 ! – Dadep
请参阅http://stackoverflow.com/documentation/fortran/939/data-types/4390/precision-of-floating-point-numbers#t=201705051137167832126我将以'rp = kind(1.d0)'开头。 –