LINUX.ORG.RU

История изменений

Исправление Zodd, (текущая версия) :

Хочу оценить производительность, не подскажешь как лучше подсчитать тройной интеграл в питоне?
Не пойму как лучше это реализовать.

Интеграл вычисляется через квадратуру Гаусса (тройная сумма):

\sum_i\sum_j\sum_k {a_i a_j a_k transpose(B).D.B dV}

На плюсах схематично такой код:

for (int l=0; l<el; ++l) {
  dK = 0;
  for (int i=0; i<iInt; ++i)
    for (int j=0; j<iInt; ++j)
      for (int k=0; k<iInt; ++k) {
        matmul(D,B,Bt); 
        matmul(B,Bt,dK); // dK = B^T.D.B
        dK *= a_i*a_j*a_k*dV
        sum(dK,K); //K += dK
      }
  }

P.S. dK, K, B, D - матрицы

Исходная версия Zodd, :

Хочу оценить производительность, не подскажешь как лучше подсчитать тройной интеграл в питоне?
Не пойму как лучше это реализовать.

Интеграл вычисляется через квадратуру Гаусса (тройная сумма):

\sum_i\sum_j\sum_k {a_i a_j a_k transpose(B).D.B dV}

На плюсах схематично такой код:

for (int l=0; l<el; ++l) {
  dK = 0;
  for (int i=0; i<iInt; ++i)
    for (int j=0; j<iInt; ++j)
      for (int k=0; k<iInt; ++k) {
        matmul(D,B,Bt); 
        matmul(B,Bt,dK); // dK = B^T.D.B
        dK *= a_i*a_j*a_k*dV
        sum(dK,K); //K += dK
      }
  }