Что такое метод прогонки

Линейные уравнения. Решение систем линейных уравнений. Метод прогонки.

Метод прогонки (алгоритм Томаса) используют для решения СЛУ типа Ax=F, где Aтрёхдиагональная матрица. Это вариант метода последовательного исключения неизвестных.

Система уравнений Ax=F равноценна соотношению:

Метод прогонки базируется на предположении, что неизвестные, которые необходимо найти, связаны соотношением:

Выразим xi-1 и xi через xi+1, подставим в уравнение, используя это соотношение, (1):

где Fi — правая часть i-го уравнения.

Это соотношение выполняется не завися от решения, если потребовать:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,

Получаем из 1-го уравнения:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки.

После того, как нашли прогоночные коэффициенты α и β, используем уравнение (2) и получим решение системы. Причем,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки.

Еще одним вариантом объяснения смысла метода прогонки является такой вариант: преобразуем уравнение (1) к равнозначному ему уравнению:

c надиагональной (наддиагональной) матрицей:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Рассчеты проводим в 2 этапа. На 1-ом этапе вычисляем компоненты матрицы C′i и вектора F′, начиная с i=2 до i=n:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

На 2-ом этапе, для i=n,n−1,…,1 вычисляем решение:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Для применимости формул метода прогонки достаточно свойства строгого диагонального преобладания у матрицы A.

Источник

«Метод прогонки»

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Содержимое разработки

Государственное бюджетное профессиональное образовательное учреждение

Московской области «Подольский колледж имени А.В. Никулина»

по дисциплине «ЕН Математика»

по теме: «Метод прогонки»

для студентов II курса

15.02.15 Технология металлообрабатывающего производства

Преподаватель первой квалификационной категории

Носова Оксана Васильевна

Специальность: 15.02.15 Технология металлообрабатывающего производства

Дисциплина: ЕН Математика

Тема: Метод прогонки.

Цель: изучить точный метод решения систем линейных алгебраических уравнений — метод прогонки для решения систем линейных уравнений с трехдиагональными матрицами коэффициентов.

формирование представлений о системах линейных уравнений с трехдиагональной структурой и методе прогонки,

формирование умений применять знания при решении задач;

способствовать развитию умений обучающихся обобщать полученные знания, проводить анализ, сравнение, делать необходимые выводы;

способствовать развитию логического мышления;

способствовать развитию вычислительных навыков при решении задач по специальности;

способствовать овладению обучающимися необходимыми навыками самостоятельной учебной деятельности, формирование познавательной активности и умения принимать решения и отвечать за принятые решения.

Тип урока: урок теоретического обучения

1) словесные (лекция);

2) наглядные (мультимедийная презентация, опорный конспект);

3) практические (решение задач).

-Решение систем линейных уравнений

Приветствие. Раздача опорных конспектов

На прошлом занятии мы рассмотрели решение СЛАУ с помощью правила Крамера. Выяснили, что не смотря на свое изящество и простоту, он редко применяется в вычислительной практике решения систем.

Почему? (ответы обучющихся)

Верно. Так, например, если в системе 10 уравнений, то сколько требуется вычислить определителей? (ответы обучющихся)

Верно. Если учесть, что в системах, связанных с реальными практическими задачами, количество неизвестных бывает весьма большим, то станет понятно, что метод решения по правилу Крамера для таких систем, скорее всего окажется неприемлемым.

На этом и следующих занятиях мы продолжим изучать методы решения СЛАУ. И сегодня мы познакомимся с одним из методов, который реально используется в вычислительной практике. Этот метод находит широкое применение по двум причинам. Во-первых, он прост и эффективен; во-вторых, системы уравнений, к которым он применим, довольно часто встречаются в задачах математического моделирования. Этот метод называется методом прогонки.

И немного из истории решения СЛАУ нам расскажет _______________________(ФИ).

Задача остальных – при прослушивании сообщения, выяснить, для каких матриц применим метод прогонки.

(сообщение студента) (3 – 4) мин

Итак, для каких же матриц применим метод прогонки.

Верно, для трехдиагональных мартиц.

Во многих задачах матрицы коэффициентов системы линейных алгебраических уравнений являются слабозаполненными. Если ненулевые элементы матрицы коэффициентов расположены только на главной диагонали и на нескольких побочных диагоналях, то такие матрицы называют матрицами ленточной структуры. Рассмотрим частный случай матрицы коэффициентов ленточной структуры — матрицу с трехдиагональной структурой, которая имеет вид:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(1)

и соответствующую ей систему линейных алгебраических уравнений:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Для решения систем линейных алгебраических уравнений с трехдиагональной матрицей был разработан метод прогонки – метод последовательного исключения неизвестных,состоящий из двух этапов: этапа прямой прогонки, основанного на вычислении прогоночных коэффициентов

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

и этапа обратной прогонки, основанного на использовании прогоночных коэффициентов для нахождения неизвестных, начиная с n-го неизвестного

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки, а затем

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,…,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки.

Условия на коэффициенты системы (1), обеспечивающие успешное нахождение всех неизвестных (ни один из знаменателей Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкине обращается в нуль), выглядят так:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки.

Это условие называют условием диагонального преобладания. Имеется ввиду, что модули элементов, стоящих на главных диагоналях, не меньше суммы модулей остальных элементов строки матрицы системы.

-Решение систем линейных уравнений

Задача 1. Методом прогонки решить систему линейных алгебраических уравнений (условие есть на опорном конспекте)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Решение. Запишем коэффициенты в матричном виде

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Для удобства выпишем матрицы

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Прямая прогонка. Прямую прогонку осуществляем вычислением пргоночных коэффициентов по приведенным ранее формулам

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Обратная прогонка. Найдем решение системы линейных алгебраических уравнений

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Проверка найденных решений (подставить в уравнения системы)

Подведем итог нашего занятия.

Перед вами матрица. Кстати, какая это матрица? (ответы обучающихся)

Под каждым ненулевым элементом матрицы скрыт вопрос или предложение, которое необходимо продолжить. Вы выбираете элемент матрицы и отвечаете на соответствующий вопрос (студенты по очереди выбирают вопросы)

3 – Сегодня на уроке я научился…

1 – Мне было сложно (не сложно) …

2 – Трехдиагональной матрицей называется…

-1 – В чем заключается метод прогонки?

5 – Материал урока мне был … (понятен/непонятен, интересен/ неинтересен).

Домашнее задание. Решить систему методом Крамера и методом прогонки.

Матрица с трехдиагональной структурой:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(1)

Соответствующая ей система линейных алгебраических уравнений:

Алгоритм метода прогонки:

1.Прямая прогонка (вычисление прогоночных коэффициентов)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки)

2.Обратная прогонка (нахождение неизвестных)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки,…,

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки.

Задача 1. Методом прогонки решить систему линейных алгебраических уравнений (условие есть на опорном конспекте)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Решение. Запишем коэффициенты в матричном виде

Источник

Метод прогонки

Метод прогонки является модификацией метода Гаусса для частного случая разреженных систем – системы уравнений с трехдиагоналъной матрицей. Такие системы получаются при моделировании некоторых инженерных задач, а также при численном решении краевых задач для дифференциальных уравнений.

Запишем систему уравнений в виде

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(2.13)

Метод прогонки состоит из двух этапов – прямой прогонки (аналога прямого хода метода Гаусса) и обратной прогонки (аналога обратного хода метода Гаусса). Прямая прогонка состоит в вычислении прогоночных коэффициентов Ai,Bi,с помощью которых каждое неизвестное xi выражается через zi+1:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(2.14)

Из первого уравнения системы (2.13) найдем

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

С другой стороны, по формуле (2.14) Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкиПриравнивая коэффициенты в обоих выражениях для х1, получаем

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(2.15)

Подставим во второе уравнение системы (2.13) вместо х1его выражение через х2по формуле (2.14):

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Выразим отсюда х2 через х3:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Аналогично вычисляют прогоночные коэффициенты для любого номера i:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки(2.16)

Обратная прогонка состоит в последовательном вычислении неизвестных xi. Сначала нужно найти хп. Для этого воспользуемся выражением (2.14) при i = п –1 и последним уравнением системы (2.13). Запишем их:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Отсюда, исключая хn-1, находим

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Далее, используя формулы (2.14) и вычисленные ранее по формулам (2.15), (2.16) прогоночные коэффициенты, последовательно вычисляем все неизвестные хn1, xn-2. 1. Алгоритм решения системы линейных уравнений вида (2.13) методом прогонки приведен на рис. 2.4.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Рис. 2.4. Алгоритм метода прогонки

При анализе алгоритма метода прогонки надо учитывать возможность деления на нуль в формулах (2.15), (2.16). Можно показать, что при выполнении условия преобладания диагональных элементов, т.е. если Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки, причем хотя бы для одного значения iимеет место строгое неравенство, деления на нуль не возникает, и система (2.13) имеет единственное решение.

Приведенное условие преобладания диагональных элементов обеспечивает также устойчивость метода прогонки относительно погрешностей округлений. Последнее обстоятельство позволяет использовать метод прогонки для решения больших систем уравнений. Заметим, что данное условие устойчивости прогонки является достаточным, но не необходимым. В ряде случаев для хорошо обусловленных систем вида (2.13) метод прогонки оказывается устойчивым даже при нарушении условия преобладания диагональных элементов.

Источник

Умножение разреженных матриц

Параллельный вариант метода прогонки

Рассмотрим теперь схему распараллеливания метода прогонки при использовании p потоков. Пусть нужно решить трехдиагональную систему линейных уравнений

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.29)

с использованием p параллельных потоков.

Применим блочный подход к разделению данных: пусть каждый поток обрабатывает Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкистрок матрицы A, т.е. k-й поток обрабатывает строки с номерами Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки. Для простоты изложения мы предполагаем, что число уравнений в системе кратно числу потоков, в общем случае изменится только число уравнений в последнем потоке. Ниже представлено разделение данных для трех потоков в случае системы из 12 уравнений.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

В пределах полосы матрицы, обрабатываемой k-м потоком, можно организовать исключение поддиагональных элементов матрицы (прямой ход метода). Для этого осуществляется вычитание строки i, умноженной на константу Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки, из строки i+1 с тем, чтобы результирующий коэффициент при неизвестной xi в (i+1)-й строке оказался нулевым.

Если исключение первым потоком поддиагональных переменных не добавит в матрицу новых коэффициентов, то исключение поддиагональных элементов в остальных потоках приведет к возникновению столбца отличных от нуля коэффициентов: во всех блоках (кроме первого) число ненулевых элементов в строке не изменится, но изменится структура уравнений.

Модификации также подвергнутся элементы вектора правой части. Матрица (7.30) иллюстрирует данный процесс, чертой сверху отмечены элементы, которые будут модифицированы.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.30)

Затем выполняется обратный ход алгоритма – каждый поток исключает наддиагональные элементы, начиная с последнего.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

После выполнения обратного хода матрица стала блочной. Исключим из нее внутренние строки каждой полосы, в результате получим систему уравнений относительно части исходный неизвестных, частный вид которой представлен ниже.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Данная система будет содержать 2p уравнений, и будет трехдиагональной. Ее можно решить последовательным методом прогонки. После того, как эта система будет решена, станут известны значения неизвестных на границах полос разделения данных. Далее можно за один проход найти значения внутренних переменных.

Рассмотренный способ распараллеливания уже дает хорошие результаты, но можно использовать лучшую стратегию исключения неизвестных. Прямой ход нового алгоритма будет таким же, а во время обратного хода каждый поток исключает наддиагональные элементы, начиная со своего предпоследнего, и заканчивая последним для предыдущего потока. Матрица (7.31) иллюстрирует данный процесс.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.31)

Изменение порядка исключения переменных в обратном ходе алгоритма приводит к тому, что можно сформировать вспомогательную задачу меньшего размера. Исключим из матрицы все строки каждой полосы, кроме последней, в результате получим систему уравнения относительно части исходный неизвестных, частный вид которой представлен ниже.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Даная система будет содержать всего p уравнений, и также будет трехдиагональной. Ее можно решить последовательным методом прогонки (так как для систем с общей памятью число потоков p будет не слишком велико, применять для решения вспомогательной системы даже параллельный метод встречной прогонки нецелесообразно). После того, как эта система будет решена, станут известны значения неизвестных на нижних границах полос разделения данных. Далее можно за один проход найти значения внутренних переменных в каждом потоке.

Оценим трудоемкость рассмотренного параллельного варианта метода прогонки. В соответствии с введенными ранее обозначениями n есть порядок решаемой системы линейных уравнений, а p, Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки, обозначает число потоков. Тем самым, матрица коэффициентов А имеет размер Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкии, соответственно, Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкиесть размер полосы матрицы А на каждом процессоре.

При выполнении прямого хода алгоритма на каждой итерации каждый процессор должен осуществить исключение в пределах своей полосы поддиагональных элементов (что требует Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкиопераций) и наддиагональных элементов (что требует 7m операций).

Затем следует произвести сборку вспомогательной трехдиагональной системы уравнений в одном потоке, и осуществить ее решение методом прогонки. В соответствии с оценкой (7.26) затраты на выполнение этого чисто последовательного этапа составят порядка 10p операций.

На следующем этапе алгоритма каждый процессор выполняет обратный ход алгоритма, который потребует Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонкиопераций. Таким образом, общую трудоемкость параллельного метода прогонки можно оценить как

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.32)

Как результат выполненного анализа, показатели ускорения и эффективности параллельного варианта метода прогонки могут быть определены при помощи соотношений следующего вида:

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.33)

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Из приведенных соотношений видно, что в случае решения системы уравнений с большим числом неизвестных, при котором Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки, показатели ускорения и эффективности будут определяться как

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки( 7.34)
Результаты вычислительных экспериментов

Вычислительные эксперименты для оценки эффективности параллельного варианта метода прогонки для решения трехдиагональных систем линейных уравнений проводились на аппаратуре, технические характеристики которой указаны во введении. Также следует отметить, что для простоты написания параллельных программ нами рассматривались задачи размера, кратного 8, чтобы размер блоков был одинаков для всех потоков. С целью формирования матрицы с диагональным преобладанием элементы на побочных диагоналях матрицы генерировались в диапазоне от 0 до 100, а элемент на главной диагонали был равен удвоенной сумме элементов в строке.

Сначала приведем результаты сравнения реализованной нами правой и левой прогонки со специальной функцией библиотеки Intel MKL, решающей трехдиагональные системы с диагональным преобладанием. Результаты, отражающие зависимость времени решения задачи T от ее размера N, приведены на рис. 7.9.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Результаты экспериментов демонстрируют двукратное отставание от библиотеки Intel MKL по времени, что является неплохим показателем.

Далее рассмотрим эффект, который дает использование встречной прогонки в двух потоках: проведем сравнение параллельной встречной прогонки с правой и левой прогонками. Результаты, отражающие зависимость ускорения по отношению к правой и левой прогонкам от размера задачи N приведены на рис. 7.10.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Перед тем, как переходить к экспериментам с большим числом потоков, выясним, какой из алгоритмов является наиболее быстрым в двухпоточной программе. Для сравнения будем использовать метод встречной прогонки, и два способа распараллеливания, описанных в п. 7.3.2.

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Как и следовало ожидать, наиболее быстродействующим оказался метод встречной прогонки. Однако встречную прогонку можно использовать только в двух потоках, для распараллеливания на большее число потоков нужно использовать вторую модификацию алгоритма, описанную в п. 7.3.2, которая обладает большей трудоемкостью, но и большей масштабируемостью. Ниже приведены результаты вычислительных экспериментов, полученные при использовании данной модификации параллельного метода прогонки.

Таблица 7.9. Результаты экспериментов (параллельная прогонка)

n, тыс.1 потокПараллельный алгоритм
2 потока4 потока6 потоков8 потоков
TSTSTSTS
16800,060,070,940,032,030,032,100,032,03
50400,200,201,000,111,830,092,290,092,14
84000,320,320,990,171,850,152,180,142,26
117600,450,450,980,231,910,202,250,202,20
151200,570,590,970,311,840,262,180,272,16
184800,720,760,950,411,780,322,250,312,31
218400,830,840,990,451,840,382,200,372,22
252000,960,970,990,531,800,432,250,442,19

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

На рис. 7.12 приведен график зависимости ускорения от числа потоков при использовании модификации алгоритма из п. 1.2.2. Видно, что при p Таблица 7.10. Время решения серии задач с использованием методов прогонки и редукции

NВремя работы метода прогонки (сек)Время работы метода редукции (сек)2560,2020,0315120,4050,07810240,7950,1420480,530,26540961,0450,51481922,0741,092163844,2272,169327688,474,3996553619,119,111

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Приведенные результаты показывают, что время решения задачи с помощью метода прогонки на всех размерностях матрицы более чем в 2 раза превышает время решения с использованием метода редукции, что противоречит теоретическим оценкам трудоемкости методов.

Теперь выполним анализ масштабируемости параллельной реализации метода циклической редукции. Ниже приведены показатели ускорения (относительной однопоточной реализации), соответствующие работе метода на 2, 4 и 8 потоках.

Таблица 7.11. Результаты решения серии задач параллельным методом редукции

N1 потокПараллельный алгоритм
2 потока4 потока6 потоков
TTSTSTS
20480,310,311,000,520,610,660,48
40960,590,511,150,780,760,830,72
81921,140,911,261,011,121,091,04
163842,221,471,511,471,511,551,43
327684,463,121,432,511,782,471,81
655369,195,551,654,382,103,962,32

Что такое метод прогонки. Смотреть фото Что такое метод прогонки. Смотреть картинку Что такое метод прогонки. Картинка про Что такое метод прогонки. Фото Что такое метод прогонки

Представленные результаты экспериментов свидетельствуют о плохой масштабируемости приложения, т.к. только при размерах задачи более 32 тыс. ускорение составляет немногим более двух в лучшем случае.

Данный факт можно объяснить тем, что распараллеливание выполнено на уровне внутреннего цикла прямого и обратного хода редукции, т.е. на каждой итерации редукции порождается или возобновляется несколько потоков, выполняется ожидание их завершения (фактически, точка синхронизации), после чего главный поток продолжает последовательные вычисления, т.е. значительную часть времени программа работает в 1 поток. Таким образом, значительное влияние на время работы программы оказывают накладные расходы, связанные с организацией параллелизма.

Если же посмотреть на параллельный метод редукции с точки зрения работы с данными, то можно сказать, что отсутствие масштабируемости также связано с неэффективной организацией работы с памятью. Пересчет правых частей СЛАУ и вычисление решения в методе осуществляется не последовательно, а с некоторым регулярным шагом на каждой итерации прямого и обратного хода редукции, это приводит к многочисленным кэшпромахам при увеличении числа потоков.

Таким образом, результаты экспериментов показывают, что решать системы с ленточной матрицей с использованием параллельных алгоритмов целесообразно лишь при достаточно большом размере матрицы, при этом в любом случае мы будем получать не очень значительное ускорение.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *