Как я могу оптимизировать свою программу C ++ для итерации Gauss-Seidel?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу оптимизировать свою программу C ++ для итерации Gauss-Seidel?

Сообщение Anonymous »

Здесь я просто функция расчета. Другие функции для введения данных и проверки ответов скрыты. Я не понимаю, как оптимизировать эту функцию вычисления, и мне не разрешено использовать какие -либо библиотеки, кроме MPI. < /P>
Вот мой код: < /p>

Код: Выделить всё

void my_seidel(int n, int T, double *A)
{
for (int t = 0; t < T; t++)
for (int i = 1; i < n - 1; i++)
for (int j = 1; j < n - 1; j++)
A[i * n + j]
= (A[(i - 1) * n + j - 1] + A[(i - 1) * n + j] + A[(i - 1) * n + j + 1]
+ A[      i * n + j - 1] + A[      i * n + j] + A[      i * n + j + 1]
+ A[(i + 1) * n + j - 1] + A[(i + 1) * n + j] + A[(i + 1) * n + j + 1])
/ 9.0;
}
Я просто хочу знать, как сделать это быстрее.


Подробнее здесь: https://stackoverflow.com/questions/794 ... -iteration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»