Численные методы: решение систем линейных уравнений
В прикладных задачах часто возникает необходимость решать системы линейных уравнений.
Система линейных алгебраических уравнений с n неизвестными — это система уравнений вида
(1)
Слово система означает, что все уравнения рассматриваются как одно целое.
В общем случае у нас имеется m — уравнений, n — количество неизвестных. x1, x2,…, xn — неизвестные, которые следует определить.
В системе (1) – фиксированные коэффициенты, b1, b2, …, bm — свободные члены — предполагаются известными.
Система (1) называется однородной, если все её свободные члены равны нулю (b1 = b2 = … = bm = 0), иначе — неоднородной.
Система (1) называется квадратной, если число m уравнений равно числу n неизвестных.
Задача состоит в том, чтобы найти такие которые удовлетворяют всем уравнениям (1).
В частном случае мы имеем одно линейное уравнение:
Конечно, такое уравнение легко решить, если предположить, что коэффициент не равен 0, имеем: = .
Очевидно, в общем случае имеются 3 варианта решений: система имеет ни одного решения, имеет одно решение, более одного решения.
Система (1) называется совместной, если она имеет хотя бы одно решение, и несовместной, если нет ни одного решения.
Система линейных уравнений может быть представлена в матричной форме как:
Здесь A — это матрица системы, x — столбец неизвестных, а b — столбец свободных членов.
Если к матрице A приписать справа столбец свободных членов, то получившаяся матрица называется расширенной.
Рассмотрим, например, систему вида и поймем, как найти ее решение:
(2)
Предположим на минуту, что в первом уравнении y отсутствует, а во втором отсутствует x, тогда мы имели бы решение именно то решение, которое нам нужно.
Вопрос: как исходную систему привести к такому виду и можно ли это сделать.
Заметим, что с тождествами мы можем делать следующие вещи: домножать на одно и то же число, отличное от 0, складывать, вычитать и тд, это похоже с тем, что вы раскладываете монеты по своим карманам, не меняя общей суммы.
От этих операций тождество не меняется.
В системе (2) у нас два тождества, домножим второе тождество на 2 и вычтем из первого, получим:
(3)
Формально у нас есть еще старое тождество , но оно нам не понадобится (подумайте, почему).
Система (3) точно такая же, как система (2).
Из второго уравнения системы (3) сразу получим:
Никто не мешает нам подставить это значение в первое уравнение:
Отсюда сразу находим, что
Итак, путем простых действий мы нашли, что система (2) может быть представлена в виде:
Именно такие естественные соображения приводят к общему методу решения систем линейных уравнений, известному как метод исключения или метод Гаусса.
Метод Гаусса является одним из самых распространенных прямых методов решения систем линейных уравнений Ax = b:
Опишем этот метод в общем случае.
Вначале исходная система приводится к верхнетреугольному виду.
Это достигается следующей последовательностью преобразований (прямой ход).
Будем считать для удобства, что элемент aij исходной матрицы и компоненты вектора bi есть, соответственно, элементы aij (1) первого шага преобразованной матрицы A1 и преобразованного вектора b1:A = A1, b=b1.
Далее, на втором шаге прибавим к второй строке первую, умноженную на
Аналогично поступим со всеми оставшимися строками, т.е. прибавим к каждой i-ой строке i=2,3. N, первую, умноженную на коэффициент
При этом соответственно изменится и вектор b1.
Таким образом, 2 шаг.
где
Прибавим к новой третьей строке новую вторую, умноженную на
То же самое сделаем с остальными строками 4,5. N, т.е. прибавим к i-ой строке вторую, умноженную на
Здесь
Поступая так и далее, на шаге N -1 получаем верхнетреугольную систему:
При этом, мы также получили матрицу C переводных коэффициентов, имеющую вид:
Решение полученной треугольной системы как легко видеть, имеет вид (обратный ход метода Гаусса):
Заметим, что при прямом ходе метода Гаусса может возникнуть ситуация, когда происходит деление на нуль, да и вообще, желательно не делить на малое число, чтобы не накапливалась ошибка.
Поэтому метод Гаусса обычно проводят с частичным выбором главного элемента, то есть после каждого шага (пусть это был k-й шаг) переставляют строки с номерами k,k+1. N таким образом, чтобы на месте kk оказался элемент наибольший из всех в k-ом столбце при m>k (при этом, естественно, переставляются и компоненты вектора b).
Можно для максимальной точности переставлять также и столбцы преобразуемой матрицы, чтобы на месте kk оказался максимальный элемент из всех с индексами больше, либо равными k.
Эта процедура называется методом Гаусса с выбором главного элемента. Она несколько повышает точность по сравнению с частичным выбором главного элемента, но весьма неудобна, в том числе для программирования, поскольку при перестановке строк компоненты искомого вектора x переставлять не надо, тогда как при перестановке столбцов надо переставлять и соответствующие компоненты вектора x.
Опишем обратный ход метода Гаусса в несколько иной форме (треугольное разложение).
Введем матрицы Mk по правилу:
На каждом шаге метода Гаусса получается некоторая промежуточная матрица:
и вектор
Нетрудно видеть, что
Вопрос. Почему
Если производить также выбор главных элементов, то необходимо использовать оператор P перестановки индексов l и m, матричные элементы которого равны:
При применении оператора перестановки индексов к матрице слева, меняются местами строки матрицы и компоненты свободного вектора (PAx = Pb), если же его применить справа к матрице, то меняются местами ее столбцы и компоненты решения
Существует большой класс так называемых итерационных методов решения систем уравнений, аналогичных итерационным методам нахождения корней нелинейных уравнений.
Итерационные методы последовательно уточняют решение, отправляясь от начального приближения.
При выполнении условий сходимости они позволяют достичь любой точности просто повторением итераций.
Преимущество этих методов в том, что часто они позволяют достичь решения с заранее заданной точностью быстрее, а также позволяют решать большие системы уравнений.
Идея состоит в том, чтобы найти неподвижную точку матричного уравнения
(5)
эквивалентного начальной системе линейных алгебраических уравнений.
При итерации в правой части уравнения заменяется, например, в методе Якоби (метод простой итерации) приближение, найденное на предыдущем шаге:
.
Термин неподвижная точка становится ясен, если вы внимательно посмотрите на уравнение (5), по самому своему смыслу величина Х является неподвижной точкой.
Более подробное описание методов решения систем линейных уравнений можно найти в специальной литературе, наша задача дать обзор методов и основные идеи решения такого рода задач.
Обусловленность линейных систем, погрешность
При решении абстрактной задачи Ax = b, где A — оператор произвольной природы, важным моментом является корректность ее постановки.
Задача считается корректной, если решение существует и единственно и , кроме того, решение непрерывно зависит от данных (то есть, при также стремится к нулю).
Однако и непрерывная зависимость от входных данных может иметь свои нюансы.
Чем меньшее (большее) изменение решения вызывает вариация входных данных, тем более хорошо (плохо) обусловленной считается задача.
Понятие обусловленности является тем более существенным для численных методов, поскольку на практике входные данные известны, как правило, с некоторой погрешностью.
Кроме того, существуют ошибки округления, возникающие при вычислениях.
Таким образом, формально корректная задача, являясь плохо обусловленной, может оказаться разрешимой столь неточно, что в этом будет отсутствовать практический смысл.
Чем можно охарактеризовать количественно обусловленность для линейных систем?
Пусть A — квадратная NxN — матрица.
Рассмотрим задачу Ax = b.
Пусть также некоторая норма в пространстве RN
Норма оператора A определяется стандартно:
Обозначим y = Ax и введем число m по правилу:
Величина называется числом обусловленности.
- если A — диагональная, то (Для какой нормы, или для всех вышеприведенных?). Чем меньше число обусловленности C(A), тем лучше обусловлена система. Действительно, пусть вариация правой части, а соответствующее изменение решения.
Тогда справедливо следующее неравенство:
то
Аналогично, поскольку
Объединяя два неравенства, окончательно получаем для оценки погрешности:
Реферат: Численные методы решения систем линейных алгебраических уравнений
Название: Численные методы решения систем линейных алгебраических уравнений Раздел: Рефераты по математике Тип: реферат Добавлен 07:31:10 24 июня 2011 Похожие работы Просмотров: 3515 Комментариев: 13 Оценило: 4 человек Средний балл: 5 Оценка: неизвестно Скачать | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
k | х1(k) | х2(k) | х3(k) |
0 | 1.0 | 2.0 | 2.0 |
1 | 1.75 | 3.375 | 3.0 |
2 | 1.84375 | 3.875 | 3.025 |
3 | 1.9625 | 3.925 | 2.9625 |
4 | 1.990625 | 3.9765625 | 3.0 |
5 | 1.99414063 | 3.9953125 | 3.0009375 |
… | … | … | … |
15 | 1.99999993 | 3.99999985 | 3.0009375 |
… | … | … | … |
19 | 2.0 | 4.0 | 3.0 |
Этот процесс называется итерацией Якоби и может использоваться для решения определенных типов линейных систем [19].
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 неизвестны. Весьма эффективным является попеременно-треугольный метод.
Основная задача линейной алгебры — решение системы уравнений
Будем предполагать, что матрица А невырождена, так что уравнение Аи = 0 имеет только тривиальное решение, и система (1) имеет единственноерешение
В курсе линейной алгебры решение системы (1) обычно выражают по формулам Крамера в виде отношений определителей. Для численного решения системы (1) эти формулы непригодны, так как они требуют вычисления N +1 определителей, что требует большого числа действий (порядка N! арифметических операций). Даже при выборе наилучшего метода вычисление одного определителя требует примерно такого же времени, что и решение системы линейных уравнений современными численными методами. Кроме того, следует иметь в виду, что вычисления по формулам Крамера часто ведут к большим ошибкам округлений.
Особенность большинства численных методов для (1) состоит в отказе от нахождения обратной матрицы. Основное требование к методу решения — минимум числа арифметических действий, достаточных для отыскания приближенного решения с заданной точностью е>0 (экономичность численного метода).
Выбор того или иного численного метода зависит от многих обстоятельств — от имеющихся программ, от вида матрицы А, от типа расчета и др. Поясним слова «тип расчета». Возможны разные постановки задачи:
1) найти решение одной конкретной задачи (1);
2) найти решение нескольких вариантов задачи (1) с одной и той же матрицей А и разными правыми частями. Может оказаться, что неоптимальный для одной задачи метод является весьма эффективным для многовариантного расчета.
При многовариантном расчете можно уменьшить среднее число операций для одного варианта, если хранить некоторые величины, а не вычислять их заново для каждого варианта. Это, конечно, зависит от машины, от объема ее оперативной памяти.
При теоретических оценках качества алгоритмов их сравнение проводится по числу q ( e ) арифметических действий, достаточных для нахождения решения задачи с заданной точностью е > 0 [15].
Метод Гаусса. Имеется несколько вычислительных вариантов метода Гаусса, основанного на идее последовательного исключения. Процесс решения системы линейных алгебраических уравнений Ax = f (1) по методу Гаусса состоит из двух этапов.
Первый этап (прямой ход). Система (1) приводится к треугольному виду
Метод квадратного корня. Этот метод пригоден для систем
с эрмитовой (в действительном случае — симметричной) матрицей А. Матрица А разлагается в произведение
где S — верхняя треугольная, D — диагональная матрица. Решение уравнения Аu=fсводится к последовательному решению двух систем
Метод квадратного корня требует порядка N 2 /3 арифметических действий, т. е. при больших N он вдвое быстрее метода Гаусса и занимает вдвое меньше ячеек памяти. Это обстоятельство объясняется тем, что метод использует информацию о симметрии матрицы.
1. Метод итераций для решения системы линейных алгебраических уравнений .
Перейдем к общему описанию метода итераций для системы линейных алгебраических уравнений
Для ее решения выбирается некоторое начальное приближение у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 надо решить уравнение:
(9)
Естественно требовать, чтобы объем вычислений для решения .системы Byk +1 = Fk был меньше, чем объем вычислений для прямого решения системы Au=f
Точность итерационного метода (7) характеризуется величиной погрешности zh = ук — и, т. е. разностью между решением уравнения (7) и точным решением и исходной системы линейных алгебраических уравнений. Подстановка yk = zk + u в (2) приводит к однородному уравнению для погрешности:
§2 ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
2.1 Общие сведения
К численным методам линейной алгебры относятся численные методы решения систем линейных алгебраических уравнений. Методы решения СЛАУ разбиваются на две группы. К первой группе принадлежат так называемые точные или прямые методы — алгоритм, позволяющий получить решение системы за конечное число арифметических действий. Вторую группу составляют приближенные методы, в частности итерационные методы решения СЛАУ.
2.2.1 Описание метода
Рассмотрим СЛАУ вида
Ax = B, где А — матрица. (1)
Если эту систему удалось привести к виду x = Cx + D, то можно построить итерационную процедуру
xk → x*, где х* — решение заданной системы.
В конечном варианте система будет имееть вид:
Условием сходимости для матрицы С выполняется, если сумма модулей коэффициентов меньше единицы по строкам или по столбцам, т.е.
, или .
Необходимо, чтобы диагональные элементы матрицы А были ненулевыми.
Для преобразования системы можно выполнить следующие операции:
В результате получим систему:
В ней на главной диагонали матрицы С находятся нулевые элементы, остальные элементы выражаются по формулам:
Итерационный процесс продолжается до тех пор, пока значения х1 ( k ), х2 ( k ), х3 ( k ) не станут близкими с заданной погрешностью к значениям х1 ( k -1), х2 ( k -1), х3 ( k -1).
2.2.2 Решение СЛАУ методом простых итераций
Решить СЛАУ методом простых итераций с точностью .
Для удобства преобразуем систему к виду:
,
Принимаем приближение на 0-ом шаге:
,
,
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную систему уравнений
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 2-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 3-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 4-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 5-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 6-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
Необходимая точность достигнута на 6-й итерации. Таким образом, итерационный процесс можно прекратить [14].
2.3 Метод Зейделя
2.3.1 Описание метода
В этом методе результаты, полученные на k-том шаге, используются на этом же шаге. На (k+1) — й итерации компоненты приближения вычисляются по формулам:
Этот метод применим к система уравнений в виде Ax=B при условии, что диагональный элемент матрицы коэффициентов A по модулю должен быть больше, чем сумма модулей остальных элементов соответствующей строки (столбца).
Если данное условие выполнено, необходимо проследить, чтобы система была приведена к виду, удовлетворяющему решению методом простой итерации и выполнялось необходимое условие сходимости метода итераций:
, либо
2.3.2 Решение СЛАУ методом Зейделя
Решить СЛАУ методом Зейделя с точностью .
Эту систему можно записать в виде:
В этой системе сразу видно, что выполняется условие, где диагональные элементы матрицы коэффициентов по модулю больше, чем сумма модулей остальных элементов соответствующей строки.
Для удобства преобразуем систему к виду:
,
Принимаем приближение на 0-ом шаге:
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную систему уравнений
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 2-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 3-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 4-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
Необходимая точность достигнута на 4-й итерации. Таким образом, итерационный процесс можно прекратить [9].
2.4 Сравнительный анализ
Можно заметить, что в методе Зейделя быстрее мы достигаемой нужной точности, в нашем случае в точность была достигнута на 4-й итерации, когда в методе простых итераций она была достигнута на 6-й итерации. Но в то же время в методе Зейделя ставится больше условий. Поэтому вначале нужно произвести иногда довольно трудоемкие преобразования. В таблице 4.1 приведены результаты решения СЛАУ методом простой итерации и методом Зейделя на различных шагах итерации:
Численные методы решения СЛАУ
Постановка задачи
Прикладные задачи, характерные для проектирования современных объектов новой техники, часто сводятся к многомерным в общем случае нелинейным уравнениям, которые решаются методом линеаризации, т.е. сведением нелинейных уравнений к линейным. В общем случае система [math]n[/math] уравнений с [math]n[/math] неизвестными записывается в виде
где [math]f_1,f_2,\ldots,f_n[/math] — функции [math]n[/math] переменных, нелинейные или линейные ( [math]x_i[/math] в функции [math]f_i[/math] входят в первых или частично в нулевых степенях). Здесь рассматривается частный случай задачи (1.1) — линейная неоднородная задача для систем линейных алгебраических уравнений (СЛАУ), которая сокращенно записывается в виде
где [math]A=(a_
i,\,j[/math] — переменные, соответствующие номерам строк и столбцов (целые числа); [math]b=(b_1,\ldots,b_n)^T\in \mathbb
x=(x_1,\ldots,x_n)^T\in \mathbb
1. Из линейной алгебры известно, что решение задачи (1.2) существует и единственно, если детерминант матрицы [math]A[/math] отличен от нуля, т.е. [math]\det A \equiv |A|\ne0[/math] ( [math]A[/math] — невырожденная матрица, называемая также неособенной).
2. Поставленная задача часто именуется первой задачей линейной алгебры. Подчеркнем, что в ней входными (исходными) данными являются матрица [math]A[/math] и вектор [math]b[/math] , а выходными — вектор [math]x[/math] .
3. Задача (1.2) имеет следующие особенности:
а) задача линейная (все переменные [math]x_[/math] , входящие в систему, имеют степени не выше первой) и неоднородная [math](b\ne0)[/math] ;
б) количество уравнений равно количеству неизвестных (система замкнута);
в) количество уравнений для некоторых практических задач велико: k\cdot10^3
г) при больших [math]n[/math] использовать формулу [math]x=A^<-1>b[/math] не рекомендуется в силу трудностей нахождения обратной матрицы.
4. Важнейшим признаком любой математической задачи, который надо в первую очередь принимать во внимание при ее анализе и выборе метода решения, является ее линейность или нелинейность. Это связано с тем, что нелинейные задачи с вычислительной точки зрения являются наиболее трудными. Так, нелинейная задача (1.1) является достаточно сложной при числе уравнений [math]n[/math] , пропорциональном [math]10^2[/math] , а линейная задача — при [math]n[/math] , пропорциональном [math]10^6[/math] .
Число обусловленности
Характер задачи и точность получаемого решения в большой степени зависят от ее обусловленности, являющейся важнейшим математическим понятием, влияющим на выбор метода ее решения. Поясним это понятие на примере двумерной задачи: [math]\begin
На рис. 1.1,б применительно к трем наборам входных данных, заданных с некоторыми погрешностями и соответствующих различным системам линейных уравнений, иллюстрируется характер обусловленности системы. Если [math]\det A[/math] существенно отличен от нуля, то точка пересечения пунктирных прямых, смещенных относительно сплошных прямых из-за погрешностей задания [math]A[/math] и [math]b[/math] , сдвигается несильно. Это свидетельствует о хорошей обусловленности системы. При [math]\det A\approx0[/math] небольшие погрешности в коэффициентах могут привести к большим погрешностям в решении (плохо обусловленная задача), поскольку прямые близки к параллельным. При [math]\det A=0[/math] прямые параллельны или они совпадают, и тогда решение задачи не существует или оно не единственно.
Более строго обусловленность задачи характеризуется числом обусловленности [math]\nu(A)= \|A\|\cdot \|A^<-1>\|[/math] , где [math]\|A\|[/math] — норма матрицы [math]A[/math] , а [math]\|A^<-1>\|[/math] — норма обратной матрицы. Чем больше это число, тем хуже обусловленность системы (при [math]\nu(A)\approx 10^3\div 10^4[/math] система линейных алгебраических уравнений плохо обусловлена). В качестве нормы матрицы может быть принято число, являющееся максимальным из сумм (по модулю) элементов всех строк этой матрицы. Подчеркнем, что реализация хорошей или плохой обусловленности в корректной и некорректной задачах напрямую связана с вытекающей отсюда численной устойчивостью или неустойчивостью. При этом для решения некорректных задач обычно применяются специальные методы или математические преобразования этих задач к корректным.
В численном анализе используются два класса численных методов решения систем линейных алгебраических уравнений:
1. Прямые методы , позволяющие найти решение за определенное число операций. К прямым методам относятся: метод Гаусса и его модификации (в том числе метод прогонки), метод [math]LU[/math] — разложения и др.
2. Итерационные методы , основанные на использовании повторяющегося (циклического) процесса и позволяющие получить решение в результате последовательных приближений. Операции, входящие в повторяющийся процесс, составляют итерацию. К итерационным методам относятся: метод простых итераций, метод Зейделя и др.
Численные схемы реализации метода Гаусса
Рассмотрим частный случай решения СЛАУ — задачу нахождения решения системы линейных алгебраических уравнений
b=\begin
Согласно изложенному ранее, метод Гаусса содержит две совокупности операций, которые условно названы прямым ходом и обратным ходом.
Прямой ход состоит в исключении элементов, расположенных ниже элементов, соответствующих главной диагонали матрицы [math]A[/math] . При этом матрица [math]A[/math] с помощью элементарных преобразований преобразуется к верхней треугольной, а расширенная матрица [math](A\mid b)[/math] — к трапециевидной:
Заметим, что в отличие от общего подхода здесь не требуется приводить расширенную матрицу к упрощенному виду. Считается, что для реализации эффективных численных процедур достаточно свести проблему к решению системы с треугольной матрицей коэффициентов.
Обратный ход состоит в решении системы [math]\widetildex= \widetilde[/math] .
Алгоритм численного метода Гаусса
а) Положить номер шага [math]k=1[/math] . Переобозначить все элементы расширенной матрицы [math](A\mid b)[/math] через [math]a_
б) Выбрать ведущий элемент одним из двух способов.
Первый способ (схема единственного деления). Выбрать в качестве ведущего элемента [math]a_
Второй способ (схема с выбором ведущего элемента). На k-м шаге сначала переставить [math](n-k+1)[/math] оставшихся уравнений так, чтобы наибольший по модулю коэффициент при переменной [math]x_k[/math] попал на главную диагональ, а затем выбрать в качестве ведущего элемента [math]a_
в) каждый элемент строки, в которой находится ведущий элемент, поделить на него:
г) элементы строк, находящихся ниже строки с ведущим элементом, подсчитать по правилу прямоугольника, схематически показанного на рис. 10.1 (исключить элементы, стоящие ниже ведущего элемента).
Поясним алгоритм исключения на рис. 10.1. Пусть рассчитывается значение [math]a_
д) если [math]k\ne n[/math] , то перейти к пункту «б», где вместо [math]k[/math] положить [math]k+1[/math] .
Если [math]k=n[/math] , завершить прямой ход. Получена расширенная трапециевидная матрица из элементов [math]a_
1. Схема единственного деления имеет ограничение, связанное с тем, что ведущие элементы должны быть отличны от нуля. Одновременно желательно, чтобы они не были малыми по модулю, поскольку тогда погрешности при соответствующем делении будут большими. С этой точки зрения схема с выбором ведущего элемента является более предпочтительной.
2. По окончании прямого хода может быть вычислен определитель матрицы [math]A[/math] путем перемножения ведущих элементов.
3. В расчетных формулах все элементы расширенной матрицы обозначаются одним символом [math]a[/math] , так как они преобразуются по единым правилам.
4. Понятие нормы квадратной невырожденной матрицы позволяет исследовать влияние малых изменений правой части и элементов матрицы на решение систем линейных уравнений. Положительное число [math]A=\|A\|\cdot\|A^<-1>\|[/math] называется числом обусловленности матрицы . Существует и более общее определение числа обусловленности, применимое к вырожденным матрицам: [math]\operatorname
Пример 10.3. Найти число обусловленности матрицы системы [math]\begin
По формуле (4.2) для матрицы [math]A=\begin
В результате [math]\operatorname
При [math]b_1=11[/math] система имеет единственное решение [math]x_1=1,
x_2=1[/math] , а при [math]b_1=11,\!01[/math] , единственное решение [math]x_1=11,\!01,
x_2=0[/math] . Несмотря на малое различие в исходных данных: [math]\Delta b_1=|11-11,\!01|=0,\!01[/math] , полученные решения отличаются существенно: [math]\Delta x=\left\| \begin
Таким образом, решение плохо обусловленной системы может существенно изменяться даже при малых изменениях исходных данных.
Пример 10.4. Решить систему линейных алгебраических уравнений методом Гаусса (схема единственного деления)
1. Прямой ход. Запишем расширенную матрицу и реализуем прямой ход с помощью описанных преобразований:
Согласно пункту 2 замечаний 10.2 определитель матрицы системы равен произведению ведущих элементов: [math]\det=2\cdot\frac<1><2>\cdot26=26[/math] .
Решая эту систему, начиная с последнего уравнения, находим: [math]x_3=3,
Пример 10.5. Методом Гаусса с выбором ведущего элемента по столбцам решить систему:
1. Прямой ход. Реализуем поиск ведущего элемента по правилу: на k-м шаге переставляются [math](n-k+1)[/math] оставшихся уравнений так, чтобы наибольший по модулю коэффициент при [math]x_k[/math] попал на главную диагональ:
Согласно пункту 2 замечаний 10.2 определитель матрицы системы равен произведению ведущих элементов:
Решая ее, последовательно получаем: [math]x_3=1,
Пример 10.6. Решить систему уравнений методом Гаусса единственного деления
В результате получено решение: [math]x_<\ast>= \begin
Метод прогонки для решения СЛАУ
Метод применяется в случае, когда матрица [math]A[/math] — трехдиагональная. Сформулируем общую постановку задачи.
Дана система линейных алгебраических уравнений с трехдиагональной матрицей [math]A[/math] . Развернутая запись этой системы имеет вид
которому соответствует расширенная матрица
Здесь первое и последнее уравнения, содержащие по два слагаемых, знак минус (–) при коэффициенте [math]\beta_i[/math] взят для более удобного представления расчетных формул метода.
Если к (10.2) применить алгоритм прямого хода метода Гаусса, то вместо исходной расширенной матрицы получится трапециевидная:
Учитывая, что последний столбец в этой матрице соответствует правой части, и переходя к системе, включающей неизвестные, получаем рекуррентную формулу:
Соотношение (10.3) есть формула для обратного хода, а формулы для коэффициентов [math]P_i,\,Q_i[/math] которые называются прогоночными , определяются из (10.2), (10.3). Запишем (10.3) для индекса [math]i-1\colon[/math] [math]x_
Приводя эту формулу к виду (10.3) и сравнивая, получаем рекуррентные соотношения для [math]P_i,\,Q_i\colon[/math]
Определение прогоночных коэффициентов по формулам (10.4) соответствует прямому ходу метода прогонки.
Обратный ход метода прогонки начинается с вычисления [math]x_n[/math] . Для этого используется последнее уравнение, коэффициенты которого определены в прямом ходе, и последнее уравнение исходной системы:
Тогда определяется [math]x_n:[/math]
Остальные значения неизвестных находятся по рекуррентной формуле (10.3).
Алгоритм решения систем уравнений методом прогонки
Q_1=-\frac<\delta_1><\beta_1>[/math] (в (10.4) подставить [math]\alpha_1=0[/math] ).
2. Вычислить прогоночные коэффициенты: [math]P_2,Q_2;\,P_3,Q_3;\,\ldots;\,P_
2. Значения [math]x_
1. Аналогичный подход используется для решения систем линейных алгебраических уравнений с пятидиагональными матрицами.
2. Алгоритм метода прогонки называется корректным, если для всех [math]i=1,\ldots,n,
\beta_i-\alpha_iP_
3. Достаточным условием корректности и устойчивости прогонки является условие преобладания диагональных элементов в матрице [math]A[/math] , в которой [math]\alpha_i\ne0[/math] и [math]\gamma_i\ne0[/math] [math](i=2,3,\ldots,n-1)\colon[/math]
и в (10.6) имеет место строгое неравенство хотя бы при одном [math]i[/math] .
4. Алгоритм метода прогонки является экономичным и требует для своей реализации количество операций, пропорциональное [math]n[/math] .
Пример 10.7. Дана система линейных алгебраических уравнений с трехдиагональной матрицей [math]A
\gamma_4=0)[/math] . Решить эту систему методом прогонки.
Данная система удовлетворяет условию преобладания диагональных элементов (10.3): в первом уравнении 3″>[math]5>3[/math] , во втором уравнении 3+1″>[math]6>3+1[/math] ; в третьем уравнении 1+2″>[math]4>1+2[/math] , в четвертом уравнении 1″>[math]3>1[/math] . Далее выполняем прямой и обратный ход, учитывая, что расширенная матрица имеет вид
1. Прямой ход. Вычислим прогоночные коэффициенты:
Подчеркнем, что [math]\beta_1=-5;
\beta_4=3[/math] , так как в (10.2) во втором слагаемом взят знак «минус»:
Подстановкой решения [math]x_<\ast>=\begin
i=1,2,3,4;[/math] [math]|P_i| , т.е. метод прогонки оказался корректным и устойчивым (см. пункт 3 замечаний 10.3).
Для наглядности представления информации исходные данные и результаты расчетов поместим в табл. 10.1, где в первых четырех колонках содержатся исходные данные, а в последних трех — полученные результаты.
Пример 10.8. Дана система линейных алгебраических уравнений с трехдиагональной матрицей [math]A[/math] , решить систему методом прогонки:
Результаты расчетов в прямом и обратном ходе занесены в табл. 10.2.
В результате получено решение: [math]x_<\ast>=\begin
Пример 10.9. Решить методом прогонки систему уравнений
Расширенная матрица системы имеет вид [math]\begin
1. Прямой ход. Вычислим прогоночные коэффициенты:
Получено решение системы: [math]x_<\ast>=\begin
Метод LU-разложения для решения СЛАУ
Рассмотрим ещё один метод решения задачи (10.1). Метод опирается на возможность представления квадратной матрицы [math]A[/math] системы в виде произведения двух треугольных матриц:
где [math]L[/math] — нижняя, a [math]U[/math] — верхняя треугольные матрицы,
С учётом (10.7) система [math]Ax=b[/math] представляется в форме
Решение системы (10.8) сводится к последовательному решению двух простых систем с треугольными матрицами. В итоге процедура решения состоит из двух этапов.
Прямой ход. Произведение [math]Ux[/math] обозначим через [math]y[/math] . В результате решения системы [math]Ly=b[/math] находится вектор [math]y[/math] .
Обратный ход. В результате решения системы [math]Ux=y[/math] находится решение задачи — столбец [math]x[/math] .
В силу треугольности матриц [math]L[/math] и [math]U[/math] решения обеих систем находятся рекуррентно (как в обратном ходе метода Гаусса).
Из общего вида элемента произведения [math]A=LU[/math] , а также структуры матриц [math]L[/math] и [math]U[/math] следуют формулы для определения элементов этих матриц:
Результат представления матрицы [math]A[/math] в виде произведения двух треугольных матриц (операции факторизации) удобно хранить в одной матрице следующей структуры:
Вычисления на k-м шаге метода LU-разложения удобно производить, пользуясь двумя схемами, изображенными на рис. 10.2.
1. Всякую квадратную матрицу [math]A[/math] , имеющую отличные от нуля угловые миноры
можно представить в виде LU-разложения, причем это разложение будет единственным. Это условие выполняется для матриц с преобладанием диагональных элементов, у которых
2. В результате прямого хода может быть вычислен определитель матрицы [math]A[/math] по свойствам определителя произведения матриц (теорема 2.2) и определителя треугольных матриц:
Алгоритм метода LU-разложение
1. Выполнить операцию факторизации исходной матрицы [math]A[/math] , применяя схемы (рис. 10.2) или формулы (10.9), и получить матрицы [math]L[/math] и [math]U[/math] .
2. Решить систему [math]L\cdot y=b[/math] .
3. Решить систему [math]U\cdot x=b[/math] .
Пример 10.10. Решить систему линейных алгебраических уравнений методом LU-разложения
1. Выполним операцию факторизации:
В результате получены две треугольные матрицы:
Согласно пункту 2 замечаний 10.4, определитель матрицы [math]A[/math] находится в результате перемножения диагональных элементов матрицы [math]L\colon\,\det=2\cdot0,\!5\cdot26=26[/math] .
2. Решим систему [math]L\cdot y=b[/math] :
\begin
3. Решим систему [math]U\cdot x=y:[/math]
\begin
Пример 10.11. Решить систему линейных алгебраических уравнений методом LU-разложения.
1. Выполним операцию факторизации:
2. Решим систему линейных уравнений [math]L\cdot y=b[/math] :
\begin
3. Решим систему [math]U\cdot x=y[/math] :
\begin
Пример 10.12. Решить систему линейных алгебраических уравнений методом LU-разложения
1. Выполним процедуру факторизации:
В результате получаем матрицы LU-разложения:
2. Решим систему уравнений [math]L\cdot y=b:[/math]
\begin
3. Решим систему уравнений [math]U\cdot x=y:[/math]
Отсюда записываем решение исходной системы уравнений: [math]x_<\ast>= \begin
Метод квадратных корней для решения СЛАУ
При решении систем линейных алгебраических уравнений с симметрическими матрицами можно сократить объем вычислений почти вдвое.
Пусть [math]A[/math] — симметрическая квадратная матрица системы [math]Ax=b[/math] порядка [math]n[/math] . Решим задачу ее представления в виде
Находя произведение [math]U^T\cdot U[/math] , составим систему уравнении относительно неизвестных элементов матрицы [math]U:[/math]
Система имеет следующий вид:
Из первой строки системы находим
Из второй строки определяем
Из последней строки имеем [math]\textstyle
Таким образом, элементы матрицы [math]U[/math] находятся из соотношений
При осуществлении [math]U^TU[/math] -разложения симметрической матрицы могут возникать ситуации, когда [math]u_
Если матрица [math]A[/math] представима в форме [math]U^TU[/math] , то система [math]Ax=b[/math] имеет вид [math]U^TUx=b[/math] . Решение этой системы сводится к последовательному решению двух систем с треугольными матрицами. В итоге процедура решения состоит их двух этапов.
1. Прямой ход. Произведение [math]Ux[/math] обозначается через [math]y[/math] . В результате решения системы [math]U^Ty=b[/math] находится столбец [math]y[/math] .
2. Обратный ход. В результате решения системы [math]Ux=y[/math] находится решение задачи — столбец [math]x[/math] .
Алгоритм метода квадратных корней
1. Представить матрицу [math]A[/math] в форме [math]A=U^T\cdot U[/math] , используя (10.10).
2. Составить систему уравнений [math]U^T\cdot y=b[/math] и найти [math]y[/math] .
3. Составить систему уравнений [math]U\cdot x=y[/math] и найти [math]x[/math] .
Найти решение системы уравнений методом квадратных корней
Решение. 1. Представим матрицу [math]A[/math] в форме [math]A=U^T\cdot U[/math] , используя (10.10):
при [math]i=1[/math] получаем [math]u_<11>= \sqrt
при [math]i=2[/math] имеем
Таким образом, получили
2. Решим систему [math]U^T\cdot y=b[/math] :
3. Решим систему [math]U\cdot x=y[/math] :
В результате получили решение исходной системы [math]x_1=1,
Метод простых итераций для решения СЛАУ
Альтернативой прямым методам решения СЛАУ являются итерационные методы, основанные на многократном уточнении [math]x^<(0)>[/math] , заданного приближенного решения системы [math]A\cdot x=b[/math] . Верхним индексом в скобках здесь и далее по тексту обозначается номер итерации (совокупности повторяющихся действий).
Реализация простейшего итерационного метода — метода простых итераций — состоит в выполнении следующих процедур.
1. Исходная задача [math]A\cdot x=b[/math] преобразуется к равносильному виду:
где [math]\alpha[/math] — квадратная матрица порядка [math]n[/math] ; [math]\beta[/math] — столбец. Это преобразование может быть выполнено различными путями, но для обеспечения сходимости итераций (см. процедуру 2) нужно добиться выполнения условия [math]\|\alpha\| .
2. Столбец [math]\beta[/math] принимается в качестве начального приближения [math]x^<(0)>= \beta[/math] и далее многократно выполняются действия по уточнению решения, согласно рекуррентному соотношению
или в развернутом виде
3. Итерации прерываются при выполнении условия (где 0″>[math]\varepsilon>0[/math] — заданная точность, которую необходимо достигнуть при решении задачи)
1. Процесс (10.12) называется параллельным итерированием , так как для вычисления (k+1)-го приближения всех неизвестных учитываются вычисленные ранее их k-е приближения.
2. Начальное приближение [math]x^<(0)>[/math] может выбираться произвольно или из некоторых соображений. При этом может использоваться априорная информация о решении или просто «грубая» прикидка. При выполнении итераций (любых) возникают следующие вопросы:
а) сходится ли процесс (10.12), т.е. имеет ли место [math]x^<(k)>\to x_<\ast>[/math] , при [math]k\to\infty[/math] , где [math]x_<\ast>[/math] — точное решение?
б) если сходимость есть, то какова ее скорость?
в) какова погрешность найденного решения [math]x^<(k+1)>[/math] , т.е. чему равна норма разности [math]\bigl\|x^<(k)>-x_<\ast>\bigr\|[/math] ?
Ответ на вопросы о сходимости дают следующие две теоремы.
Теорема (10.1) о достаточном условии сходимости метода простых итераций. Метод простых итераций, реализующийся в процессе последовательных приближений (10.12), сходится к единственному решению исходной системы [math]Ax=b[/math] при любом начальном приближении [math]x^<(0)>[/math] со скоростью не медленнее геометрической прогрессии, если какая-либо норма матрицы [math]\alpha[/math] меньше единицы, т.е. [math]\|\alpha\|_s .
1. Условие теоремы 10.1, как достаточное, предъявляет завышенные требования к матрице [math]\alpha[/math] , и потому иногда сходимость будет, если даже [math]\|\alpha\|\geqslant1[/math] .
2. Сходящийся процесс обладает свойством «самоисправляемости», т.е. отдельная ошибка в вычислениях не отразится на окончательном результате, так как ошибочное приближение можно рассматривать, как новое начальное.
3. Условия сходимости выполняются, если в матрице [math]A[/math] диагональные элементы преобладают, т.е.
и хотя бы для одного [math]i[/math] неравенство строгое. Другими словами, модули диагональных коэффициентов в каждом уравнении системы больше суммы модулей недиагональных коэффициентов (свободные члены не рассматриваются).
4. Чем меньше величина нормы [math]\|\alpha\|[/math] , тем быстрее сходимость метода.
Теорема (10.2) о необходимом и достаточном условии сходимости метода простых итераций. Для сходимости метода простых итераций (10.12) при любых [math]x^<(0)>[/math] и [math]\beta[/math] необходимо и достаточно, чтобы собственные значения матрицы [math]\alpha[/math] были по модулю меньше единицы, т.е. [math]\bigl|\lambda_i(\alpha)\bigr| .
Замечание 10.7. Хотя теорема 10.2 дает более общие условия сходимости метода простых итераций, чем теорема 10.1, однако ею воспользоваться сложнее, так как нужно предварительно вычислить границы собственных значений матрицы [math]\alpha[/math] или сами собственные значения.
Преобразование системы [math]Ax=b[/math] к виду [math]x=\alpha x+\beta[/math] с матрицей [math]\alpha[/math] , удовлетворяющей условиям сходимости, может быть выполнено несколькими способами. Приведем способы, используемые наиболее часто.
1. Уравнения, входящие в систему [math]Ax=b[/math] , переставляются так, чтобы выполнялось условие (10.14) преобладания диагональных элементов (для той же цели можно использовать другие элементарные преобразования). Затем первое уравнение разрешается относительно [math]x_1[/math] , второе — относительно [math]x_2[/math] и т.д. При этом получается матрица [math]\alpha[/math] с нулевыми диагональными элементами.
Например, система [math]\begin
|4|>|-2,\!8|+|1|[/math] , т.е. диагональные элементы преобладают.
Выражая [math]x_1[/math] из первого уравнения, [math]x_2[/math] — из второго, а [math]x_3[/math] — из третьего, получаем систему вида [math]x=\alpha x+\beta:[/math]
Заметим, что [math]\|\alpha\|_1=\max\<0,\!9;\,0,\!8;\,0,\!95 \>=0,\!95 , т.е. условие теоремы 10.1 выполнено.
Проиллюстрируем применение других элементарных преобразований. Так, система [math]\begin
2. Уравнения преобразуются так, чтобы выполнялось условие преобладания диагональных элементов, но при этом коэффициенты [math]\alpha_
Например, систему [math]\begin
i,j=1,\ldots,n[/math] достаточно малы, условие сходимости выполняется.
Алгоритм метода простых итераций
1. Преобразовать систему [math]Ax=b[/math] к виду [math]x=\alpha x+\beta[/math] одним из описанных способов.
2. Задать начальное приближение решения [math]x^<(0)>[/math] произвольно или положить [math]x^<(0)>=\beta[/math] , а также малое положительное число [math]\varepsilon[/math] (точность). Положить [math]k=0[/math] .
3. Вычислить следующее приближение [math]x^<(k+1)>[/math] по формуле [math]x^<(k+1)>= \alpha x^<(k)>+\beta[/math] .
4. Если выполнено условие [math]\bigl\|x^<(k+1)>-x^<(k)>\bigr\| , процесс завершить и в качестве приближенного решения задачи принять [math]x_<\ast>\cong x^<(k+1)>[/math] . Иначе положить [math]k=k+1[/math] и перейти к пункту 3 алгоритма.
Методом простых итераций с точностью [math]\varepsilon=0,\!01[/math] решить систему линейных алгебраических уравнений:
Решение. 1. Так как [math]|2| , то условие (5.41) не выполняется. Переставим уравнения так, чтобы выполнялось условие преобладания диагональных элементов:
|10|>|2|+|2|[/math] . Выразим из первого уравнения [math]x_1[/math] , из второго [math]x_2[/math] , из третьего [math]x_3:[/math]
Заметим, что [math]\|\alpha\|_1= \ma\<0,\!2;\,0,\!3;\,0,\!4 \>=0,\!4 , следовательно, условие сходимости (теорема 10.1) выполнено.
2. Зададим [math]x^<(0>=\beta= \begin
3. Выполним расчеты по формуле (10.12):
до выполнения условия окончания и результаты занесем в табл. 10.4.
4. Расчет закончен, поскольку выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^ <(k)>\bigr\|=0,\!0027 .
Приближенное решение задачи: [math]x_<\ast>\cong \begin
Приведем результаты расчетов для другого начального приближения [math]x^<(0)>=\begin
Приближенное решение задачи: [math]x_<\ast>\cong \begin
Метод Зейделя для решения СЛАУ
Этот метод является модификацией метода простых итераций и в некоторых случаях приводит к более быстрой сходимости.
Итерации по методу Зейделя отличаются от простых итераций (10.12) тем, что при нахождении i-й компоненты (k+1)-го приближения сразу используются уже найденные компоненты (к +1) -го приближения с меньшими номерами [math]1,2,\ldots,i-1[/math] . При рассмотрении развернутой формы системы итерационный процесс записывается в виде
В каждое последующее уравнение подставляются значения неизвестных, полученных из предыдущих уравнений.
Теорема (10.3) о достаточном условии сходимости метода Зейделя. Если для системы [math]x=\alpha x+\beta[/math] какая-либо норма матрицы [math]\alpha[/math] меньше единицы, т.е. [math]\|\alpha\|_s , то процесс последовательных приближений (10.15) сходится к единственному решению исходной системы [math]Ax=b[/math] при любом начальном приближении [math]x^<(0)>[/math] .
Записывая (10.15) в матричной форме, получаем
где [math]L,\,U[/math] являются разложениями матрицы [math]\alpha:[/math]
Преобразуя (10.16) к виду [math]x=\alpha x+\beta[/math] , получаем матричную форму итерационного процесса метода Зейделя:
Тогда достаточное, а также необходимое и достаточное условия сходимости будут соответственно такими (см. теоремы 10.1 и 10.2):
1. Для обеспечения сходимости метода Зейделя требуется преобразовать систему [math]Ax=b[/math] к виду [math]x=\alpha x+\beta[/math] с преобладанием диагональных элементов в матрице а (см. метод простых итераций).
2. Процесс (10.15) называется последовательным итерированием , так как на каждой итерации полученные из предыдущих уравнений значения подставляются в последующие. Как правило, метод Зейделя обеспечивает лучшую сходимость, чем метод простых итераций (за счет накопления информации, полученной при решении предыдущих уравнений). Метод Зейделя может сходиться, если расходится метод простых итераций, и наоборот.
3. При расчетах на ЭВМ удобнее пользоваться формулой (10.16).
4. Преимуществом метода Зейделя, как и метода простых итераций, является его «самоисправляемость».
5. Метод Зейделя имеет преимущества перед методом простых итераций, так как он всегда сходится для нормальных систем линейных алгебраических уравнений, т.е. таких систем, в которых матрица [math]A[/math] является симметрической и положительно определенной. Систему линейных алгебраических уравнений с невырожденной матрицей [math]A[/math] всегда можно преобразовать к нормальной, если ее умножить слева на матрицу [math]A^T[/math] (матрица [math]A^TA[/math] — симметрическая). Система [math]A^TAx= A^Tb[/math] является нормальной.
Алгоритм метода Зейделя
1. Преобразовать систему [math]Ax=b[/math] к виду [math]x=\alpha x+\beta[/math] одним из описанных способов.
2. Задать начальное приближение решения [math]x^<(0)>[/math] произвольно или положить [math]x^<(0)>=\beta[/math] , а также малое положительное число [math]\varepsilon[/math] (точность). Положить [math]k=0[/math] .
3. Произвести расчеты по формуле (10.15) или (10.16) и найти [math]x^<(k+1)>[/math] .
4. Если выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^<(k)>\bigr\| , процесс завершить и в качестве приближенного решения задачи принять [math]x_<\ast>\cong x^<(k+1)>[/math] . Иначе положить [math]k=k+1[/math] и перейти к пункту 3.
Пример 10.15. Методом Зейделя с точностью [math]\varepsilon=0,\!001[/math] решить систему линейных алгебраических уравнений:
1. Приведем систему [math]Ax=b[/math] к виду [math]x=\alpha x+\beta[/math] (см. пример 10.14):
Так как [math]\|\alpha\|_1=\max\<0,\!2;\,0,\!3;\,0,\!4 \>=0,\!4 , условие сходимости выполняется.
2. Зададим [math]x^<(0)>= \begin
Выполним расчеты по формуле (10.15): [math]\begin
Очевидно, найденное решение [math]x_<\ast>= \begin
4. Расчет завершен, поскольку выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^<(k)>\bigr\|= 0,\!0004 .
Пример 10.16. Методом Зейделя с точностью [math]\varepsilon=0,\!005[/math] решить систему линейных алгебраических уравнений:
|5|>|-1|+|-2|[/math] , в данной системе диагональные элементы преобладают. Выразим из первого уравнения [math]x_1[/math] , из второго [math]x_2[/math] , из третьего [math]x_3:[/math]
2. Зададим [math]x^<(0)>= \begin
k=0,1,\ldots[/math] и результаты занесем в табл. 10.7.
Очевидно, найденное решение [math]x_<\ast>= \begin
4. Расчет завершен, поскольку выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^<(k)>\bigr\|= 0,\!001 .
http://www.bestreferat.ru/referat-238943.html
http://mathhelpplanet.com/static.php?p=chislennyye-metody-resheniya-slau