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

Видео:6-5. Алгоритм прогонкиСкачать

6-5. Алгоритм прогонки

Численные методы решения линейных уравнений

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

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

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

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

• Запись обратного хода в виде Линейных уравнений с трехдиагональной матрицей методом прогонки, так как преобразованная матрица – двухдиагональная.

•Вывод рекуррентного соотношения для Линейных уравнений с трехдиагональной матрицей методом прогонкии Линейных уравнений с трехдиагональной матрицей методом прогонкичерез Линейных уравнений с трехдиагональной матрицей методом прогонкии Линейных уравнений с трехдиагональной матрицей методом прогонкии получение соотношения для Линейных уравнений с трехдиагональной матрицей методом прогонкии Линейных уравнений с трехдиагональной матрицей методом прогонки Линейных уравнений с трехдиагональной матрицей методом прогонки.

• Осуществление обратного хода метода прогонки и определение всех неизвестных.

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

Линейных уравнений с трехдиагональной матрицей методом прогонкиi = 1,2,…, n, (2.6)

Запись (2.6) представляет собой так называемый КАНОНИЧЕСКИЙ ВИД СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДА ПРОГОНКИ. При этом матрица система (2.6) имеет вид

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

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

Линейных уравнений с трехдиагональной матрицей методом прогонки(2.7)

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

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

Подставляя Линейных уравнений с трехдиагональной матрицей методом прогонкив систему (2.6), получим соотношение

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

из которого нетрудно получить

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

Сравнивая это соотношение с (2.7), можем записать рекуррентные соотношения

Линейных уравнений с трехдиагональной матрицей методом прогонки Линейных уравнений с трехдиагональной матрицей методом прогонки(2.8)

для вычисления так называемых ПРОГОНОЧНЫХ КОЭФФИЦИЕНТОВ.

Подчеркнем, что последующие значения прогоночных коэффициентов Линейных уравнений с трехдиагональной матрицей методом прогонкивычисляются только по известным коэффициентам системы (2.6) и известным предыдущим значениям прогоночных коэффициентов Линейных уравнений с трехдиагональной матрицей методом прогонки

Для начала прямого хода метода прогонки необходимо задать начальные (стартовые) значения прогоночных коэффициентов, например, Линейных уравнений с трехдиагональной матрицей методом прогонкиОтметим, что, вообще говоря, начальные значения коэффициентов Линейных уравнений с трехдиагональной матрицей методом прогонкив рассмотренной схеме вычислений не требуются, так как значения коэффициентов Линейных уравнений с трехдиагональной матрицей методом прогонкивычисляются только через коэффициенты первого уравнения системы (2.6): при i = 1 из (2.6) получаем соотношение Линейных уравнений с трехдиагональной матрицей методом прогонкиСравнивая это выражение с (2.7) при i =1, получаем Линейных уравнений с трехдиагональной матрицей методом прогонки Линейных уравнений с трехдиагональной матрицей методом прогонкиа значение Линейных уравнений с трехдиагональной матрицей методом прогонкив обратном ходе вычисляем по соотношению Линейных уравнений с трехдиагональной матрицей методом прогонкиИспользование Линейных уравнений с трехдиагональной матрицей методом прогонкив качестве начальных значений целесообразно по двум причинам: сохраняется однородность вычислительного алгоритма для всех i = 2, 3, …,n; упрощается обсуждение и доказательство условия корректности и устойчивости метода прогонки. Из того обстоятельства, что коэффициенты Линейных уравнений с трехдиагональной матрицей методом прогонкине зависят от Линейных уравнений с трехдиагональной матрицей методом прогонки(в соотношениях(2.8) при i =1 коэффициенты Линейных уравнений с трехдиагональной матрицей методом прогонкиумножаются на Линейных уравнений с трехдиагональной матрицей методом прогонки), следует, что можно задать любые значения для прогоночных коэффициентов Линейных уравнений с трехдиагональной матрицей методом прогонки. Далее будет ясно, почему удобно положить Линейных уравнений с трехдиагональной матрицей методом прогонкиДля начала обратного хода метода прогонки необходимо для вычисления Линейных уравнений с трехдиагональной матрицей методом прогонкизадать значение Линейных уравнений с трехдиагональной матрицей методом прогонки. Так как Линейных уравнений с трехдиагональной матрицей методом прогонки, то из первого соотношения (2.8) вытекает, что Линейных уравнений с трехдиагональной матрицей методом прогонкии, следовательно, можно задать любое значение для Линейных уравнений с трехдиагональной матрицей методом прогонкиОбычно полагают Линейных уравнений с трехдиагональной матрицей методом прогонки, и тогда Линейных уравнений с трехдиагональной матрицей методом прогонки

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

Отметим, что при устойчивости метода прогонки ошибки округления не возрастают, а подавляются. Пусть Линейных уравнений с трехдиагональной матрицей методом прогонки— вычисленные с погрешностями значения решения. Пусть при этом коэффициенты Линейных уравнений с трехдиагональной матрицей методом прогонкивычисляются точно. Тогда по (2.7)

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

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

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

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

Линейных уравнений с трехдиагональной матрицей методом прогонкиi = 1,2, …, n.

В самом деле, если хотя бы для одного значения i выполняется строгое неравенство Линейных уравнений с трехдиагональной матрицей методом прогонки, то можно записать цепочку неравенств:

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

Было показано, что можно положить Линейных уравнений с трехдиагональной матрицей методом прогонкии тогда, во-первых, для всех i выполняется Линейных уравнений с трехдиагональной матрицей методом прогонки, что обеспечивает затухание погрешности, и, во-вторых, для всех i выполняется условие Линейных уравнений с трехдиагональной матрицей методом прогонкии, таким образом, не возникает ситуация деления на нуль. Так как условие Линейных уравнений с трехдиагональной матрицей методом прогонкиявляется только достаточным, то невыполнение его не означает нарушения корректности и устойчивости.

Для реализации метода требуется примерно 8n операций, из которых 3n составляют операции типа умножения и 5n – операции типа сложения. При численном решении дифференциальных уравнений используются различные варианты метода прогонки: метод встречных прогонок, потоковая прогонка, матричная прогонка для систем векторных уравнений. Отметим, что

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

Метод прогонки обобщается на случай, при котором в системе (2.6) Линейных уравнений с трехдиагональной матрицей методом прогонки— квадратные матрицы размерности Линейных уравнений с трехдиагональной матрицей методом прогонки, а Линейных уравнений с трехдиагональной матрицей методом прогонки— векторы размерности m. Тогда соотношения (2.7) и (2.8) метода прогонки, в которых все действия совершаются уже над матрицами, а не над скалярами, сохраняются, а Линейных уравнений с трехдиагональной матрицей методом прогонкив (2.8) является соответствующей обратной матрицей.

Условие устойчивости матричной прогонки выглядит как Линейных уравнений с трехдиагональной матрицей методом прогонки, а условие корректности и устойчивости имеет вид Линейных уравнений с трехдиагональной матрицей методом прогонки.

Дата добавления: 2015-11-06 ; просмотров: 2640 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Видео:2.1 Точные методы решения СЛАУ (Крамера, Гаусса, Жордана, прогонки)Скачать

2.1 Точные методы решения СЛАУ (Крамера, Гаусса, Жордана, прогонки)

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

Метод прогонки (алгоритм Томаса) используют для решения СЛУ типа 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.

Видео:Математика без Ху!ни. Метод Гаусса.Скачать

Математика без Ху!ни. Метод Гаусса.

Решение систем с трехдиагональной матрицей

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

Решение ищется в виде:

ui-1=beti*ui+gami В этом случае для bet и gam получаются рекуррентные формулы: beti+1=ci*fi, gami+1=(fi+ai*gami)*fi, fi=1/(bi-ai*beti); bet0=gam0=0. По этим формулам вспомогательные массивы вычисляются для i от 1 до N, затем находится uN-1=gamN, а затем при известных вспомогательных массивах вычисляются все значения u.

Алгоритм принципиально не может иметь ведущего элемента, и есть вероятность того, что он не сойдется даже для несингулярной матрицы. Для этого в программе, реализующей прогонку, необходимо контролировать значения fi. Еще два замечания: длины рекуррентных цепочек порядка N, поэтому при экспоненциальном накоплении погрешностей (что происходит при преобладании значений |beti|>1) прогонка практически обязательно разойдется. Второе: алгоритм сохраняет исходные значения коэффициентов. Доказано, что для устойчивой работы алгоритма Томаса достаточно диагонального преобладания, однако, во многих случаях он сходится и при отсутствии такового.

Общее описание алгоритма таково.
Если провести исключение из имеющейся системы уравнений всех уравнений, находящихся на нечетных позициях, то от системы N исходных уравнений мы перейдем к системе из (N-1)/2+1 уравнений только для четных значений u, нечетные же значения будут вычисляться через четные. Повторяя эту процедуру для укороченной системы, мы в конце концов придем к единственному уравнению для узла, лежащего в позиции (N-1)/2 (только если N-1 — степень двойки). Затем, проводя обратную подстановку, определяются крайние, а затем и все прочие узлы.

Формулы для пересчета коэффициентов на каждом этапе исключения таковы:

Если число уравнений не является степенью двойки, алгоритм реализуется методом фиктивного восполнения области определения до степени 2. При этом никаких реальных действий, кроме нескольких целочисленных проверок, не производится, а только коэффициенты, индекс которых выпадает из области определения [0,N-1] включительно, считаются равными нулю и в преобразованиях не участвуют (подробности в программе).

Особая устойчивость этого алгоритма по сравнению с алгоритмом Томаса связана с тем, что длина рекуррентных цепочек здесь не превышает log2(N)+1, и в связи с этим даже при экспоненциальном росте погрешности исходный результат будет ограниченным. Кроме того, в алгоритме Томаса в рекуррентных цепочках производятся операции между коэффициентами соседних узлов, при редукции на этапах больших начального — между далеко отстоящими, что уменьшает вероятность образования погрешности при вычитании двух близких чисел. Проверено, что алгоритм редукции успешно работает во многих случаях, когда алгоритм Томаса (прогонка) расходится.

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

Ниже приводятся программы для прогонки и редукции.

💡 Видео

Метод Крамера за 3 минуты. Решение системы линейных уравнений - bezbotvyСкачать

Метод Крамера за 3 минуты. Решение системы линейных уравнений - bezbotvy

Метод Гаусса решения СЛАУ. Метод прогонки. Итерационные методы. Численные методы. Лекция №3Скачать

Метод Гаусса решения СЛАУ. Метод прогонки. Итерационные методы. Численные методы. Лекция №3

Матричный метод решения систем уравненийСкачать

Матричный метод решения систем уравнений

Система линейных уравнений. Метод обратной матрицы. Матричный метод.Скачать

Система линейных уравнений. Метод обратной матрицы. Матричный метод.

Решение системы уравнений методом ГауссаСкачать

Решение системы уравнений методом Гаусса

Метод: Прогонки(Лекция 3)Скачать

Метод: Прогонки(Лекция 3)

Решение системы линейных уравнений методом ГауссаСкачать

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

Математика без Ху!ни. Метод Гаусса. Совместность системы. Ранг матрицы.Скачать

Математика без Ху!ни. Метод Гаусса. Совместность системы. Ранг матрицы.

Линейная алгебра, 7 урок, СЛАУ. Матричный методСкачать

Линейная алгебра, 7 урок, СЛАУ. Матричный метод

Линейная алгебра, Матрицы: Метод Гаусса. Высшая математикаСкачать

Линейная алгебра, Матрицы: Метод Гаусса. Высшая математика

Базисные решения систем линейных уравнений (03)Скачать

Базисные решения систем линейных уравнений (03)

Система с тремя переменнымиСкачать

Система с тремя переменными

Лекция 13. Исследование систем линейных уравнений. Теорема Кронекера — Капелли.Скачать

Лекция 13. Исследование систем линейных уравнений. Теорема Кронекера — Капелли.

Метод Гаусса решения систем линейных уравненийСкачать

Метод Гаусса решения систем линейных уравнений

2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)Скачать

2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)

Решение системы уравнений методом Гаусса 4x4Скачать

Решение системы уравнений методом Гаусса 4x4
Поделиться или сохранить к себе: