Я хотел бы оптимизировать для скорости следующий блок кода:
DO i=1, dim1
DO j=1, dim2
DO k=1, dim3
IF (A(k,j,i)>0) &
B(k,j,i) = exp(C(k))/A(k,j,i)
ENDDO
ENDDO
ENDDO
Очень важно, A
- это INTEGER
, а B
и C
- COMPLEX
!
Есть две проблемы: 1) Как заменить это вызовом BLAS / LAPACK?Проблема заключается в условии.2) Расчет опыта идет медленно.Как ускорить это?