Смекни!
smekni.com

Численные методы решения систем линейных алгебраических уравнений (стр. 3 из 5)

1.5 Итерация Гаусса-Зейделя

Процесс итерации Якоби иногда можно модифицировать для ускорения сходимости.

Отметим, что итеративный процесс Якоби производит три последовательности – {х1(k)}, {х2(k)}, {х3(k)}, {х4(k)}. Кажется разумным, что х1(k+1) может быть использовано вместо х2(k). Аналогично х1(k+1) и х2(k+1) можно использовать в вычислении х3(k+1). Например, для уравнений из системы (1) это даст следующий вид итерационного процесса Гаусса-Зейделя, использующий (3*):

Такой итерационный процесс даст результаты:

k х1(k) х2(k) х3(k)
0 1.0 2.0 2.0
1 1.75 3.75 2.95
2 1.95 3.96875 2.98625
3 1.995625 3.99609375 2.99903125
8 1.99999983 3.99999988 2.99999996
9 1.99999998 3.99999999 3.0
10 2.0 4.0 3.0

Т. е. к точному решению мы пришли уже на 10-ом шаге итерации, а не на 19, как в итерации Якоби [19].

Вывод:

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

Эти формулы как раз и задают собственно итерационный процесс.

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

Это условие можно сформулировать и более точно:

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

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

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

§1 ЧИСЛЕННЫЕ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Существуют два типа ме­тодов — прямые и итерационные. Мы рассматриваем прежде всего метод исключения Гаусса для систем об­щего вида и варианты — метод прогонки и методы мат­ричной прогонки для систем специального вида (с трех-диагональной или блочно-трех диагональной матрицами). Это — прямые методы. Их эффективность зависит от по­рядка системы n структуры матрицы.

При изучении итерационных методов мы трактуем си­стему уравнений как операторное уравнение первого ро­да Au = fи излагаем общую теорию итерационных ме­тодов для операторных уравнений при минимальных предположениях относительно оператора А. Общая тео­рия позволяет доказать сходимость итераций для метода Зейделя и метода верхней релаксации при минимальных ограничениях на оператор А. Рассмотрены два класса методов: 1) для случая, когда известны границы γi > О и γ2 >= γ1 спектра оператора А в некотором энергетиче­ском пространстве HD; 2) для случая, когда границы γ1и γ2 неизвестны. Весьма эффективным является попере­менно-треугольный метод.

Основная задача линейной ал­гебры — решение системы уравнений

Au = f, (1)

где u=(u(1), ..., u(N)) — искомый вектор, f={f(1), f(2),... ..., f(n))—известный вектор размерности N, A=(aij) (i, j = 1, 2, ..., N)— квадратная матрица размера NXNс элементами aij.

Будем предполагать, что матрица А невырождена, так что уравнение Аи = 0 имеет только триви­альное решение, и система (1) имеет единственноерешение

В курсе линейной алгебры решение системы (1) обыч­но выражают по формулам Крамера в виде отношений определителей. Для численного решения системы (1) эти формулы непригодны, так как они требуют вычисления N +1 определителей, что требует большого числа дей­ствий (порядка N! арифметических операций). Даже при выборе наилучшего метода вычисление одного определи­теля требует примерно такого же времени, что и реше­ние системы линейных уравнений современными числен­ными методами. Кроме того, следует иметь в виду, что вычисления по формулам Крамера часто ведут к боль­шим ошибкам округлений.

Особенность большинства численных методов для (1) состоит в отказе от нахождения обратной матрицы. Ос­новное требование к методу решения — минимум числа арифметических действий, достаточных для отыскания приближенного решения с заданной точностью е>0 (экономичность численного метода).

Выбор того или иного численного метода зависит от многих обстоятельств — от имеющихся программ, от вида матрицы А, от типа расчета и др. Поясним слова «тип расчета». Возможны разные постановки задачи:

1) найти решение одной конкретной задачи (1);

2) найти решение нескольких вариантов задачи (1) с одной и той же матрицей А и разными правыми частями. Может оказаться, что неоптимальный для одной задачи метод является весьма эффективным для мно­говариантного расчета.

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

При теоретических оценках каче­ства алгоритмов их сравнение проводится по числу q(e) арифметических действий, достаточных для нахождения решения задачи с заданной точностью е > 0 [15].

Прямые методы

Метод Гаусса. Имеется несколько вычислительных вариантов метода Гаусса, основанного на идее последо­вательного исключения. Процесс решения системы ли­нейных алгебраических уравнений Ax = f(1) по методу Гаусса состоит из двух этапов.

Первый этап (прямой ход). Система (1) приво­дится к треугольному виду

х + В*х = φ, (2)

где x=(x1, ..., xN-) - неизвестный, φ= (φ1,…,φN) —известный векторы, В* — верхняя треугольная матрица.

Второй этап (обратный ход). Неизвестные хN, xN-1, ..., x1определяются по формулам (2) .

Метод квадратного корня. Этот метод пригоден для систем

Au = f(3)

с эрмитовой (в действительном случае — симметричной) матрицей А. Матрица А разлагается в произведение

А -= S*DS, (4)

где S — верхняя треугольная, Dдиагональная матрица. Решение уравнения Аu=fсводится к последователь­ному решению двух систем

S*Dy = f, Su = y. (5)

Метод квадратного корня требует порядка N2/3 арифметических действий, т. е. при больших N он вдвое быстрее метода Гаусса и занимает вдвое меньше ячеек памяти. Это обстоятельство объясняется тем, что метод использует информацию о симметрии матрицы.

Итерационные методы

1. Метод итераций для решения системы линейных алгебраических уравнений.

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

Au=f (6)

Для ее решения выбирается некоторое начальное приближение у0

H и последовательно находятся приближенные решения (итерации) уравнения (1). Значение итерации yh+1выражается через известные предыдущие итерации yk, yk-1,… Если при вычислении yh+1используется толь­ко одна предыдущая итерация yh, то итерационный метод называют одношаговым (или двухслойным) методом; если же yk+1выражается через две итерации ykи yk-1, то метод называется двухшаговым (или трехслойным). Мы будем рассматривать в основном одношаговые методы. Будем считать, что А: H->H— линейный оператор в конеч­номерном пространстве Hсо скалярным произведе­нием (•, •).

Важную роль играет запись итерационных методов в единой (канонической) форме. Любой двухслойный ите­рационный метод можно записать в следующей канони­ческой форме:

(7)
, где А: Н -> Н — оператор исходного уравнения (1), В: Н -> Н — линейный оператор, имеющий обратный В-1, kномер итерации, τ1 τ2, ..., τk+1, ...— итерационные параметры, τk+1> 0. Оператор В может, вообще говоря, зависеть от номера k- для Для простоты изложения мы пред­полагаем всюду, что В не зависит от k.

Если В = Е — единичный оператор, то метод(8) называют явным: yh+1находится по явной формуле

В общем случае, при В≠ Е, метод (7) называют не­явным итерационным методом: для определения yh+1надо решить уравнение: