- •Абсолютная величина и норма матрицы
- •Предел матрицы
- •Алгебраическая проблема собственных значений
- •Устойчивость матрицы
- •Системы линейных алгебраических уравнений
- •Оценка погрешности и мера обусловленности
- •Метод Гауcса
- •Метод Краута
- •Метод прогонки
- •Метод простой итерации
- •Метод Зейделя
- •Предметный указатель
Метод прогонки
Это еще одна модификация метода Гаусса для систем линейных алгебраических уравнений специального вида. Пусть нужно найти решение системы так называемых трёхточечных уравнений:
c0u0 − b0y1 = f0, u = 0; |
|
−aiyi−1 + ciyi − biyi+1 = fi, 1 6 i 6 N − 1; |
(3.28) |
−aN yN−1 + cN yN = fN , i = N. |
|
Такие системы возникают при трёхточечной аппроксимации краевых задач для обыкновенных дифференциальных уравнений второго порядка с постоянными и переменными коэффициентами, а также при реализации разностных схем для уравнений в частных производных.
Переходим к построению алгоритма решения системы (3.28). На первом шаге из всех уравнений системы (3.28) для u = 1, 2, . . . , N исключается с помощью первого уравнения (3.28) неизвестное y0, потом из преобразованных уравнений для i = 2, 3, . . . , N с помощью уравнения, которое отвечает i = 1, выключается неизвестное y1 и т.д. В результате получим одно уравнение относительно y. На этом прямой ход метода заканчивается. Обратным ходом для i = N − 1, N − 2, . . . , 0 находится yi через уже найденные yi+1, yi+2, . . . , yN и преобразованнные правые части.
Используя подходы метода Гаусса, проведем исключение неизвестных из (3.28). Обозначив α1 = b0/c0, β1 = f0/c0, запишем (3.28) :
y0 − α1y1 = β1, i = 0; |
|
−aiyi−1 + ciyi − biyi+1 = fi, 1 6 i 6 N − 1; |
(3.29) |
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
−aN yN−1 + cN yN = fN , i = N.
Возьмем первые два уравнения системы (1’)
y0 − α1y1 = β1, −aiyi−1 + ciyi − biyi+1 = fi.
Умножим первое уравнение на a1 и сложим со вторым уравнением. Будем иметь (c1 −a1α1)y1 −b1y2 =
f1 + a1β1, или после деления на c1 − a1α1 |
|
|
|
|
|
y1 − α2y2 = β2, α2 = |
b1 |
|
|
f1 + a1β1 |
|
|
, β2 |
= |
|
. |
|
c1 − α1a1 |
c1 − α1a1 |
Все другие уравнения системы (3.29) y0 не содержат, поэтому на этом первый шаг процесса исклю-
чения заканчивается. В результате получим новую «сокращенную» систему |
|
y1 − α2y2 = β2, i = 1; |
|
−aiyi−1 + ciyi − biyi+1 = fi, 2 6 i 6 N − 1; |
(3.30) |
−aN yN−1 + cN yN = fN , i = N, |
|
которая не содержит неизвестное y0 и имеет аналогичную (3.29) структуру. Если эта система будет разрешима, то неизвестное y0 обнаружится из уравнения y0 − α1y1 = β1. К системе (3.30) можно снова применить описанный способ исключения неизвестных. На втором шаге будет исключено неизвестное y1 на третьем y2 и т.д. В результате l-го шага получим систему для неизвестных yl, yl+1, . . . , yN
yl − αl+1yl+1 = βl+1, i = l;
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
−aiyi−1 + ciyi − biyi+1 = fi, l + 1 6 i 6 N − 1; |
(3.31) |
−aN yN−1 + cNy = f, i = N,
и формулы для нахождения yi c номерами i 6 l − 1
|
yi = αu+1yi+1 + βu+1, |
i = l − 1, l − 2, . . . , 0. |
||||||
Коэффициенты αi и βi находятся по формулам |
|
|
|
|
||||
αi+1 = |
bi |
, βi+1 = |
fi − aiβi |
, |
i = 1, 2, . . . , α1 |
= |
b0 |
, |
ci − aiαi |
|
|
||||||
|
|
ci − aiαi |
|
|
c0 |
Считая в (3.31) l = N − 1, получим систему уравнений для yN и yN−1 yN−1 − αN yN = βN ,
−aN yN−1 + cN yN = fN ,
(3.32)
β1 = f0 . c0
из которой найдем yN = βN+1, yN−1 = αN b + βN .
Объединяя эти равенства с (3.32) (l = N − 1), получим окончательные формулы для нахождения
неизвестных |
|
yi = αi+1yi+1 + βi+1, i = N − 1, N − 2, . . . , 0, |
|
yN = βN+1, |
(3.33) |
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
где коэффициенты находятся по рекуррентным соотношениям:
αi+1 = |
bi |
, i = 1, 2, . . . , N − 1, α1 |
= |
|
b0 |
|||||||||
ci − aiαi |
|
c0 |
|
|||||||||||
β |
|
= |
fi − aiβi |
, i = 1, 2, . . . , N |
− |
1; β |
|
= |
f0 |
. |
||||
i+1 |
|
1 |
|
|||||||||||
|
ci − aiαi |
|
|
|
c0 |
(3.34)
(3.35)
Итак, формулы (3.33)-(3.34) описывают метод Гаусса, что в применении к системе (3.28) получило специальное название - метод прогонки. Коэффициенты αi и βi называются прогоночными коэффициентами, формулы (3.34), (3.35) описывают прямой ход прогонки, а (3.33) - обратный ход. Поскольку значения yi находятся здесь последовательно при переходе от i + 1 к i, то формулы (3.33)-(3.35) называют иногда правой прогонкой.
Метод встречных прогонок Выше были получены формулы правой прогонки для решения системы (3.28). Аналогично выводятся формулы левой прогонки:
ξi = |
ai |
, i = N − 1, N − 2, . . . , 1; ξN = |
aN |
, |
||||
ci − biξi+1 |
|
cN |
||||||
ηi = |
fi + biηi+1 |
, i = N − 1, N − 2, . . . , 0; ηN = |
fN |
|
, |
|||
ci − biξi+1 |
cN |
|
yi+1 = ξu+1yi + ηu+1, u = 0, 1, . . . , N − 1; y0 = η0.
(3.36)
(3.37)
(3.38)
Здесь значения yi находятся последовательно при возрастании индекса i (слева направо).
Иногда оказывается удобным комбинировать правую и левую прогонки, получая так называемый метод встречных прогонок. Этот метод целесообразно применять, если надо найти только одно неизвестное, например ym (0 6 m 6 N) или группу неизвестных. Получим формулы метода встречных прогонок.
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
Пусть 1 6 m 6 N и по формулам (3.34)-(3.37) найдены α1, α2, . . . , αm, β1, β2, . . . , βm, и ξN , ξN−1, . . . , ξm, ηN , ηN−1, . . . , ηm. Выпишем формулы (3.33), (3.38) для обратного хода правой и левой прогонок для
i = m − 1. Будем иметь систему, из которой найдем ym:
ym = ηm + ξmβm . 1 − ξmαm
Используя найденное ym, по формулам (3.33) для i = m − 1, m − 2, . . . , 0 найдем последовательно
ym−1, ym−1, . . . , y0, а по формулам (3.38) для i = m, m + 1, . . . , N вычислим другие ym+1, ym+2, . . . , yN . Итак, формулы метода встречных прогонок имеют вид:
|
|
|
|
|
bi |
|
|
|
|
|
|
b0 |
|
|
|
|
|
|
||||
αi+1 = |
|
|
, i = 1, 2, . . . , m − |
1, α1 = |
|
|
, |
|
|
|
||||||||||||
ci − aiαi |
c0 |
|
|
|
||||||||||||||||||
β |
|
|
|
= |
fi − aiβi |
, i = 1, 2, . . . , m |
− |
1, β |
|
= |
f0 |
, |
|
|
|
|||||||
i+1 |
|
|
1 |
|
|
|
|
|||||||||||||||
|
ci − aiαi |
|
|
|
c0 |
|
|
|
|
|
|
|||||||||||
ξi = |
|
ai |
, i = N |
− 1, N − 2, . . . , m, ξN = |
aN |
, |
(3.39) |
|||||||||||||||
ci − biξi+1 |
|
cN |
||||||||||||||||||||
ηi = |
fi + biηi+1 |
, i = N |
− 1, N − 2, . . . , m, ηN = |
fN |
|
, |
|
|||||||||||||||
ci − biξi+1 |
cN |
|
|
|||||||||||||||||||
для вычисления прогоночных коэффициентов и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
yi = αi+1yi+1 + βi+1, i = m − 1, m − 2, . . . , 0; |
|
|
|
|
|
|
|||||||||||||||
yi+1 = ξi+1yi + ηi+1, |
i = m, m + 1, . . . , N − 1; |
|
|
|
|
|
(3.40) |
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель