Обучение Fortran
дистанционно
от 500.00 руб.
Для себя Нужна помощь в решении задачи на языке fortran с использованием библиотеки mpi. Вот условие: Решение СЛАУ методом Якоби В данной задаче изучается метод приближенного решения СЛАУ. В начале программы необходимо прочитать на выделенном процессе (master) матрицу А и столбец b из файла и запросить требуемую точность у пользователя. Затем на master процессе преобразовать уравнение вида: A*x=b к виду: x=B*x+g, которое может быть решено итеративно: xk+1=B*xk+g, где k -- номер итерации. Ошибку сходимости вычислять как корень из суммы квадратов разностей значений элементов вектора x на соседних итерациях. Для распараллеливания данного алгоритма необходимо разбить матрицу В на горизонтальные ленты, разослать их на соответствующие процессы. Начальное значение x можно задать любым. Затем на каждой итерации по самосогласованию на каждом процессе необходимо вычислить свои элементы вектора x и ошибку сходимости. С помощью глобальных операций собрать на master процессе ошибки, просуммировать, извлечь корень и сравнить с заданной точностью. Если сходимость не достигнута, разослать новое значение вектора x всем процессами выполнить следующую итерацию. Если сходимость достигнута, вывести на экран результат.
2024-02-09
Откликнуться