Как я могу оптимизировать свою программу 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

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