Надеюсь, этот вопрос не будет звучать странно.Я собираюсь написать код на Python, чтобы имитировать некоторые оптические нелинейности в волноводах, и мне было интересно, какова наиболее эффективная система обозначений, которую я могу использовать для экономии времени и энергии.Я пришел из опыта MatLab, где все говорят вам, что матрицы намного эффективнее циклов, но сейчас, в большинстве случаев, я использую тензорную нотацию (например, в FORTRAN умножение матриц приведет к чему-то вроде , что:
subroutine aa_dot_bb(n,a,b,c)
dimension a(n,n), b(n,n), c(n,n)
do i = 1,n
do j = 1,n
c(i,j) = 0
do k = 1,n
c(i,j) = c(i,j) + a(i,k) * b(k,j)
end do
end do
end do
return
end
Кто-нибудь знает, что является более эффективным в Python и NumPy? Заранее большое спасибо!