У меня есть фрагмент кода, и я не могу найти эффективный способ преобразования этого фрагмента кода в эквивалент Fortran 95. Я уже пробовал несколько вещей, но я всегда зацикливаюсь на создании 1D-массивов из матриц и наоборот (дело в том, чтобы сократить время расчета, и если я их конвертирую, я не могу придумать другого способа, чем использовать циклы очередной раз :/).
Это кусок кода:
do i=1,dim
do j=1,dim
Snorm(i,j)=Sval(j)/Sval(i)
Bnorm(i,j)=Bval(j)/Bval(i)
Pnorm(i,j)=Pval(j)/Pval(i)
enddo
enddo
Как бы вы написали это в коде Fortran95?
Эквивалент матричных вычислений в R:
Snorm <- t(Sval %*% t(1/Sval))
Bnorm <- t(Bval %*% t(1/Bval))
Pnorm <- t(Pval %*% t(1/Pval))
Эквивалент этого в Python:
Snorm = (numpy.dot((Svalmat.T),(1/Svalmat))).T
Bnorm = (numpy.dot((Bvalmat.T),(1/Bvalmat))).T
Pnorm = (numpy.dot((Pvalmat.T),(1/Pvalmat))).T
with Svalmat etc the equivalent of Sval, but then columnmatrix
У кого-нибудь есть идея?