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

Реферат: Численные методы решения систем линейных алгебраических уравнений

Введение

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

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

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

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

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

В настоящее время появилось значительное число различных программных продуктов (MathCAD, MathLABи т.д.), с помощью которых, задавая только входные данные, можно решить значительное число задач.

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

Учитывая важность выше указанных проблем, тему своей работы мы определили так: «Численные методы решения систем линейных алгебраических уравнений ».

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

Предметом исследования, является выявление эффективности и сравнительная характеристика методов.

· изучить и проанализировать литературу по проблемам численных методов;

· изучить научную и учебную литературу по теме «Численные методы решения систем линейных алгебраических уравнений;

· определить основные этапы изучения темы «Численные методы решения систем линейных алгебраических уравнений»;

· продемонстрировать на примерах использование методов.

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

Во введении обоснована актуальность темы исследования, определены объект, предмет, проблема и задачи исследования.

В первой главе изучается теория и терминология численных методов с примерами и пояснениями.

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

В заключении подведены итоги и сделаны основные выводы.

Глава I. Теоретические основы исследования

§1 ЧИСЛЕННЫЕ МЕТОДЫ

Разрешимость системы линейных уравнений.

Когда мы говорим о главной матрице системы линейных уравнений, то всегда имеем в виду квадратную матрицу nхn, т. е. матрицу с одинаковым количеством строк и столбцов. Это важно.

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

Но это не единственное ограничение. Из векторной алгебры известно, что система линейных уравнений имеет решение (однозначное) тогда и только тогда, когда ее главный определитель не равен нулю: Δ ≠ 0.

Рассмотрим случай, когда определитель системы равен нулю. Здесь возможны два варианта:

1. Δ = 0 и каждый из дополнительных определителей Δxi = 0. Это имеет место только тогда, когда коэффициенты при неизвестных xi пропорциональны, т. е. каждое уравнение системы получается из первого уравнения умножением обеих его частей на число k. При этом система имеет бесчисленное множество решений.

2. Δ = 0 и хотя бы один дополнительный определитель Δxi ≠ 0. Это имеет место только тогда, когда коэффициенты при всех неизвестных xi , пропорциональны. При этом получается система из противоречивых уравнений, которая не имеет решений [7].

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

Пусть дана система линейных уравнений:

Рассмотрим матрицу, составленную из коэффициентов при неизвестных:

Свободные члены и неизвестные можно записать в виде матрицы столбцов:

Тогда, используя правило умножение матриц, эту систему уравнений можно записать так:

Равенство (1) называется матричным уравнением или системой уравнений в матричном виде.

Матрица А коэффициентов при неизвестных называется главной матрицей системы.

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

Любую линейную систему уравнений можно записать в матричном виде. Например, пусть дана система:

Эта система из двух уравнений с тремя неизвестными – x, y,. В высшей математике можно рассматривать системы из очень большого числа уравнений с большим количеством неизвестных и поэтому неизвестные принято обозначать только буквой х, но с индексами:

Запишем эту систему в матричном виде:

Здесь главная матрица системы:

Расширенная матрица будет иметь вид:

Microsoft Office Excel . Если же говорить о программе Excel, которая является одной из наиболее известных в обработке электронных таблиц, то без преувеличения можно утверждать, что ее возможности практически неисчерпаемы.Обработка текста, управление базами данных — программа настолько мощна, что во многих случаях превосходит специализированные программы — редакторы или программы баз данных. Такое многообразие функций может поначалу запутать, нежели заставить применять их на практике. Но по мере приобретения опыта начинаешь по достоинству ценить то, что границ возможностей Excel тяжело достичь.За всю историю табличных расчетов с применением персональных компьютеров требования пользователей к подобным программам существенно изменились. В начале основной акцент в такой программе, как, например, Visi Calc , ставился на счетные функции. Сегодня, положение другое. Наряду с инженерными и бухгалтерскими расчетами организация и графическое изображение данных приобретают все возрастающее значение. Кроме того, многообразие функций, предлагаемое такой расчетной и графической программой, не должно осложнять работу пользователя. Программы для Windows создают для этого идеальные предпосылки.В последнее время многие как раз перешли на использование Windows в качестве своей пользовательской среды. Как следствие, многие фирмы, создающие программное обеспечение, начали предлагать большое количество программ для Windows.

Программа MathCAD по своему назначению позволяет моделировать в электронном документе научно–технические, а также экономические расчёты в форме, достаточно близкой к общепринятым ручным расчётам. Это упрощает составление программы расчёта, автоматизирует перерасчёт и построение графических иллюстраций подобно электронным таблицам Excel, документирование результатов как в текстовом редакторе Word.

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

Достоинством MathCAD является также наличие в его составе электронных книг. Одна из них – учебник по самой программе, другие – справочник по различным разделам математики, физики, радиоэлектроники и др.

К численным методам решения систем линейных уравнений относят такие как: метод Гаусса, метод Крамера, итерационные методы. В методе Гаусса, например, работают над расширенной матрицей системы. А в методе Крамера – с определителями системы, образованными по специальному правилу.

1.2 Метод Гаусса – прямой и обратный ход

Рассмотрим метод Гаусса. Например, пусть дана расширенная матрица некоторой системы m линейных уравнений c n неизвестными:

Будем считать, что a11 ≠ 0 (если это не так, то достаточно переставить первую и некоторую другую строку расширенной матрицы местами). Проведем следующие элементарные преобразования:

Т. е. от каждой строки расширенной матрицы (кроме первой) отнимаем первую строку, умноженную на частное от деления первого элемента этой строки на диагональный элемент а11 .

В результате получим матрицу:

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

Теперь наша задача состоит в том, чтобы получить нули подо всеми диагональными элементами матрицы А – aij , где I = j.

Повторим наши элементарные преобразования, но уже для элемента α22 .

Т. е. от каждой строки расширенной матрицы (теперь кроме первой и второй) отнимаем вторую строку, умноженную на частное от деления первого элемента этой (текущей) строки на диагональный элемент α22 .

Такие преобразования продолжаются до тех пор, пока матрица не приведется к верхнее — треугольному виду. Т. е. под главной диагональю не окажутся все нули:

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

Отсюда легко можно найти значение первого корня – xn = δmmn .

Подставив это значение в предыдущее m-1-е уравнение, легко получим значение xn-1 -ого корня.

Таким образом, поднимаясь до самого верха обратным ходом метода Гаусса, мы последовательно найдем все корни системы уравнений [5].

Рассмотрим систему уравнений:

Главный определитель данной системы:

Т. е. система определена и разрешима. Решим ее по методу Гаусса.

Проведем прямой ход метода Гаусса, выписав предварительно расширенную матрицу системы:

Получим нули под главной диагональю в первом столбце расширенной матрицы. Для получения нуля в элементе a21 (т. е. под диагональю во второй строке матрицы) вторую строку матрицы преобразуем по формуле C2 -(a21 /a11 )*C1 = C2 -(2/1)*C1 = C2 -2*C1 :

Аналогично поступаем и с элементом а31 (т. е. под диагональю в третьей строке матрицы). Третью строку матрицы преобразуем по формуле C3 -(a31 /a11 )*C1 = C3 -(-1/1)*C1 = C3 +C1 :

Таким образом, мы получили нули под главной диагональю в первом столбце расширенной матрицы. Осталось получить нуль под главной диагональю во втором столбце матрицы, т. е. на месте элемента а32. Для этого третью строку матрицы преобразуем по формуле C3 -(a32 /a22 )*C2 = C3 -(1/-2)*C2 = C3 +1/2C2 :

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

Эта матрица эквивалентна системе:

Обратным ходом метода Гаусса найдем корни системы. Из последнего уравнения найдем корень х3 :

Корень x3 = -3/5 найден. Подставим его в верхнее (второе) уравнение системы (-2x2 -3x3 = 1):

Корень x2 = 2/5 найден. Подставим его и корень х3 в верхнее (первое) уравнение системы (x1 -x2 +x3 = 0):

Вывод: Итак, метод Гаусса (или, иначе, метод последовательного исключения неизвестных) состоит в следующем:

1. Путем элементарных преобразований систему уравнений приводят к эквивалентной ей системе с верхнее — треугольной матрицей. Эти действия называют прямым ходом.

2. Из полученной треугольной системы переменные находят с помощью последовательных подстановок (обратный ход).

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

1.3 Итерация для линейных систем

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

Для определенности ограничимся системой из четырех уравнений с четырьмя неизвестными (система четвертого порядка), которую запишем в виде:

Разрешим первое уравнение системы относительно х1 :

Затем разрешим второе уравнение относительно х2 и т. д. Тогда систему можно переписать в виде:

гдеα = -aik /aii , i = 1, 2, 3, 4; k = 1, 2, 3, 4, 5.

Система является частным случаем записи вида:

При этом линейная функция L1 фактически не зависит от х1 .

Зададим какие-либо начальные значения неизвестных (нулевые приближения):

Подставляя эти значения в правые части системы (*), получим первые приближения:

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

Условия сходимости итерационного процесса.

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

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

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

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

1.4 Итерация Якоби

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

Уравнения можно записать в виде:

Это позволяет предложить следующий итерационный процесс:

или (другой вид записи)

Покажем, что если начать с точки P0 = (х1 (0) , х2 (0) , х3 (0) , х4 (0) ) = (1, 2, 2), то итерация (3) сходится к решению (2, 4, 3). Подставим х1 = 1, х2 = 2, х2 = 2 в правую часть каждого уравнения из (3), чтобы получить новые значения:

Новая точка P1 = (х1 (1) , х2 (1) , х3 (1) , х4 (1) ) = (1.75, 3.375, 3), ближе, чем P0 .

Итерация, использующая (3), генерирует последовательность точекk >, которая сходится к решению (2, 4, 3):

Название: Численные методы решения систем линейных алгебраических уравнений
Раздел: Рефераты по математике
Тип: реферат Добавлен 07:31:10 24 июня 2011 Похожие работы
Просмотров: 3515 Комментариев: 13 Оценило: 4 человек Средний балл: 5 Оценка: неизвестно Скачать
kх1(k)х2(k)х3(k)
01.02.02.0
11.753.3753.0
21.843753.8753.025
31.96253.9252.9625
41.9906253.97656253.0
51.994140633.99531253.0009375
151.999999933.999999853.0009375
192.04.03.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)
01.02.02.0
11.753.752.95
21.953.968752.98625
31.9956253.996093752.99903125
81.999999833.999999882.99999996
91.999999983.999999993.0
102.04.03.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 приведены результаты решения СЛАУ методом простой итерации и методом Зейделя на различных шагах итерации:

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

Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

сОДЕРЖАНИЕ

введение………………………………………..……………………. 4

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

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

2. РЕШЕНИЯ ПРАКТИЧЕСКИХ РАБОТ……………………………. 17

2.3. Практика в mathcad …………………………………………………. 20

Приложение А. Блок – схемы алгоритмов

Приложение Б. Код программы pascal

Введение

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

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

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

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

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

В настоящее время появилось значительное число различных программных продуктов (MathCAD, Pascal , Excel и т.д.), с помощью которых, задавая только входные данные, можно решить значительное число задач.

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

Учитывая важность выше указанных проблем, тему своей работы мы определили так: «Численные методы решения систем линейных алгебраических уравнений».

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

Предметом исследования , является выявление эффективности и сравнительная характеристика методов.

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

изучить научную и учебную литературу по теме «Численные методы решения систем линейных алгебраических уравнений;

определить основные этапы изучения темы «Численные методы решения систем линейных алгебраических уравнений»;

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

Структура работы: научная работа состоит из введения, двух глав, заключения, библиографического списка.

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

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

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

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

Пусть дана система линейных уравнений:

Рассмотрим матрицу, составленную из коэффициентов при неизвестных:

Свободные члены и неизвестные можно записать в виде матрицы столбцов:

Тогда, используя правило умножение матриц, эту систему уравнений можно записать так:

Равенство (1) называется матричным уравнением или системой уравнений в матричном виде.

Матрица А коэффициентов при неизвестных называется главной матрицей системы.

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

Любую линейную систему уравнений можно записать в матричном виде. Например, пусть дана система:

Эта система из двух уравнений с тремя неизвестными – x, y,. В высшей математике можно рассматривать системы из очень большого числа уравнений с большим количеством неизвестных и поэтому неизвестные принято обозначать только буквой х, но с индексами:

Запишем эту систему в матричном виде:

Здесь главная матрица системы:

Расширенная матрица будет иметь вид:

Система т линейных уравнений с n неизвестными (или, линейная система ) в линейной алгебре — это система уравнений вида

Здесь x 1 , x 2 , …, x n — неизвестные, которые надо определить. а 11 , а 12 , …, а mn – коэффициенты системы — и b 1 , b 2 , …, b m — свободные члены — предполагаются известными. Индексы коэффициентов (а ij ) системы обозначают номера уравнения ( i ) и неизвестного ( j ), при котором стоит этот коэффициент, соответственно.

Система (1.1) называется однородной, если все ее свободные члены равны нулю ( b 1 = b 2 =…= b m =0 ), иначе неоднородной.

Система (1.1) называется квадратной, если число m уравнений равно числу n неизвестных.

Решение системы (1.1) – совокупность n чисел с 1 , с 2 , …, с n , таких что подстановка каждого с i вместо x i в систему (1.1) обращает все ее уравнения в тождества.

Система (1.1) называется совместной, если она имеет хотя бы одно решение, и несовместной, если у неё нет ни одного решения.

Совместная система вида (1.1) может иметь одно или более решений.

Решения с 1 (1) , с 2 (1) , …, с n (1) и с 1 (2) , с 2 (2) , …, с n (2) совместной системы вида (1.1) называются различными, если нарушается хотя бы одно из равенств:

Совместная система вида (1.1) называется определённой, если она имеет единственное решение; если же у неё есть хотя бы два различных решения, то она называется неопределённой. Если уравнений больше, чем неизвестных, она называется переопределённой.

Система линейных уравнений может быть представлена в матричной форме как:

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

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

Microsoft Office Excel

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

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

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

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

Программа MathCAD по своему назначению позволяет моделировать в электронном документе научно–технические, а также экономические расчёты в форме, достаточно близкой к общепринятым ручным расчётам. Это упрощает составление программы расчёта, автоматизирует перерасчёт и построение графических иллюстраций подобно электронным таблицам Excel, документирование результатов как в текстовом редакторе Word.

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

Достоинством MathCAD является также наличие в его составе электронных книг. Одна из них – учебник по самой программе, другие – справочник по различным разделам математики, физики, радиоэлектроники и др.

К численным методам решения систем линейных уравнений относят такие как: метод Гаусса, метод Крамера, итерационные методы. В методе Гаусса, например, работают над расширенной матрицей системы. А в методе Крамера – с определителями системы, образованными по специальному правилу.

1.2 Метод Гаусса

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

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

Матрица А называется основной матрицей системы, b – столбцом сводных членов.

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

При этом будем считать, что базисный минор (ненулевой минор максимального порядка) основной матрицы находится в верхнем левом углу, то есть в него входят только коэффициенты при переменных x j 1 , …, x jr .

Тогда переменные x j 1 , …, x jr называются главными переменными. Все остальные называются свободными.

Пусть b i =0 для любых i > r .

Перенесём свободные переменные за знаки равенств и поделим каждое из уравнений системы на свой коэффициент при самом левом x ( a ij , i =1 …, r , где i – номер строки).

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

Алгоритм решения методом Гаусса подразделяется на два этапа:

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

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

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

Метод Гаусса требует порядка O ( n 3 ) действий. В простейшем виде случае алгоритм выглядит так:

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

Применение и модификация

Помимо аналитического решения метод Гаусса также применяется для:

нахождения матрицы, обратной к данной (к матрице справа приписывается единичная такого же размера, что и исходная: [ A | E ], после чего приводится к виду единичной матрицы методом Гаусса—Жордана; в результате на месте изначальной единичной матрицы справа оказывается обратная к исходной матрица: [ E | A -1 ];

определения ранга матрицы (согласно следствию из теоремы Кронекера-Капелли ранг матрицы равен числу её главных переменных);

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

Менее трудоемкий по сравнению с другими методами;

Позволяет однозначно установить, совместна система или нет, и если совместна, найти ее решение;

Позволяет найти максимальное число линейно независимых уравнений – ранг матрицы системы.

Итак, метод Гаусса (или, иначе, метод последовательного исключения неизвестных) состоит в следующем:

1. Путем элементарных преобразований систему уравнений приводят к эквивалентной ей системе с верхнее — треугольной матрицей. Эти действия называют прямым ходом.

2. Из полученной треугольной системы переменные находят с помощью последовательных подстановок (обратный ход).

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

Метод Жордана – Гаусса используется для решения квадратных систем линейных алгебраических уравнений, нахождение обратной матрицы, нахождение координат вектора в заданном базисе, отыскания ранга матрицы. Метод является модификацией метода Гаусса. Назван в честь К.Ф. Гаусса и немецкого геодезиста и математика Вильгельма Йордана.

Метод Жордана – Гаусса отличается от метода Гаусса тем, что при выполнении вычислений прямого хода на k -м шаге делим k — e уравнение на a ( k -1) kk (не равное 0) и выполняем дальнейшие вычисления с ведущим элементом, равным единице.

1.3. Метод Крамера

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

Для системы n линейных уравнений с n неизвестными с определителем матрицы системы △ , отличным от нуля, решение записывается в виде:

(1.5)

В другой форме правило Крамера формулируется так: для любых коэффициентов с 1 , с 2 , …, с n справедливо равенство:

(1.6)

В этой форме формула Крамера справедлива без предположения, что △ отлично от нуля, не нужно даже, чтобы коэффициенты системы были бы элементами целостного кольца (определитель системы может быть даже делителем нуля в кольце коэффициентов). Также можно считать, что либо наборы b 1 , b 2 , …, b n и x 1 , x 2 , …, x n либо набор c 1 , c 2 , …, c n состоят не из элементов кольца коэффициентов системы, а какого-нибудь модуля над этим кольцом.

ГЛАВА II . РЕШЕНИЯ ПРАКТИЧЕСКИХ РАБОТ

2.1. Практические в Excel

Рис. 1 – Метод Гаусса excel

Рис. 2 – Метод Крамера excel

Рис. 3 – Матричный метод excel

Практические в Pascal

Рис.4 – Метод Гаусса pascal

Рис.5 – Метод Крамера pascal

Рис.5 – Матричный метод pascal

Практические в Mathcad

Рис.7 – Метод Гаусса mathcad

Рис.8 – Метод Крамера mathcad

Рис.9 — Матричный метод mathcad

В результате проведенной нами работе было выявлено, что:

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

программа на Pascal намного упрощает задачу. С помощью единожды созданной программы можно решать системы линейных уравнений, вводя минимум значений.

В результаты все поставленные задачи были выполнены, цели достигнуты. Мы приобрели навыки в применении различных численных методов на практике. А также были исследованы различные методы.

Алексеев Е., Чеснокова О. MATLAB 7. М., 2006, 464 с.

Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы М.: Бином. Лаборатория знаний, 2003. — 632 с.

Бахвалов Н.С. Численные методы. М.: Наука, 2006. 631 с.

Березин И.С., Жидков Н.П. Методы вычислений, том 1 (2-е изд.). М.: Физматаит, 1962

Ващенко Г.В. Вычислительная математика. Основы конечных методов решения систем линейных алгебраических уравнений. Красноярск: СибГТУ, 2005

Ващенко Г.В. Вычислительная математика. Основы алгебраической и тригонометрической интерполяции. Красноярск: СибГТУ, 2008

Ворожцов Е.В. Разностные методы решения задач механики сплошных сред (учебное пособие). Новосибирск: НГТУ, 1998

Ворожцов Е.В. Сборник задач по теории разностных схем (учебное пособие). Новосибирск: НГТУ, 2000

Демидович Б.П., Марон И.А. Основы вычислительной математики М.: Наука, 2006

Демидович Б.П., Марон И.А., Шувалова Э.З. Численные методы анализа. Приближение функций, дифференциальные и интегральные уравнения. М.: Наука, 1967

Дьяченко В.Ф. Основные понятия вычислительной математики. М.: Наука, 1972

Калиткин Н.Н. Численные методы. М.: Наука, 2011, 592 стр.

Кирьянов Д. Mathcad 12. СПб, 2004, 576с.

Коткин Г., Черкасский В. Компьютерное моделирование физических процессов с использованием MathLab . Новосибирск, 2001.

Крылов В.И. Приближенное вычисление интегралов (2-е изд.). М.: Наука, 1967

Крылов В.И., Бобков В.В., Монастырный П.И. Вычислительные методы. Том II. М.: Наука, 1977.

Кунцман Ж. Численные методы. М.: Наука, 1979.

Лапчик М., Рагулина М., Хеннер Е. . Численные методы. М., 2004, 384 с.

Марчук Г.И. Методы вычислительной математики. М.: Наука, 1977

Ортега Дж., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. М.: Мир, 1975

Протасов И.Д. Лекции по вычислительной математике: учеб. пособ. — М.: Гелиос АРВ, 2009

Поршнев С. В., Беленкова И. В.. Численные методы на базе Mathcad . СПб.: БХВ-Петербург, 2005. 464 с: ил.

Потемкин В. Система MATLAB . Справочное пособие. М., 1997, 350 с.

Тарасевич Ю. Численные методы на Mathcad ‘ e . Астрахань, 2000, 70 с.

Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений. М.: Мир, 1969

Хемминг Р.В. Численные методы (2-е изд.). М.: Наука, 1972

Численные методы решения СЛАУ

Постановка задачи

Прикладные задачи, характерные для проектирования современных объектов новой техники, часто сводятся к многомерным в общем случае нелинейным уравнениям, которые решаются методом линеаризации, т.е. сведением нелинейных уравнений к линейным. В общем случае система [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_\in \mathbb^[/math] — действительная матрица размера [math](n\times n),

i,\,j[/math] — переменные, соответствующие номерам строк и столбцов (целые числа); [math]b=(b_1,\ldots,b_n)^T\in \mathbb^n[/math] — вектор-столбец размера [math](n\times1),

x=(x_1,\ldots,x_n)^T\in \mathbb^n[/math] — вектор-столбец неизвестных, [math]\mathbb^n[/math] — n-мерное евклидово пространство, верхний индекс [math]T[/math] здесь и далее обозначает операцию транспонирования. Требуется найти решение [math]x_<\ast>= (x_<\ast1>,\ldots, x_<\ast n>)^T\in \mathbb^n[/math] системы (1.2), подстановка которого в (1.2) приводит к верному равенству [math]Ax_<\ast>=b[/math] .

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]\begina_<11>x_1+ a_<12>x_2=b_1,\\ a_<21>x_1+ a_<22>x_2=b_2.\end[/math] . Точным решением этой задачи является вектор [math]x_<\ast>= (x_<\ast1>, x_<\ast2>)^T[/math] , компоненты которого определяются координатами точки пересечения двух прямых, соответствующих уравнениям [math]a_<11>x_1+ a_<12>x_2=b_1,[/math] [math]a_<21>x_1+ a_<22>x_2=b_2[/math] (рис. 1.1,а).

На рис. 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=\beginb_1\\\vdots\\b_n\end[/math] столбцы размеров [math]n\times 1[/math] . Это означает, что число уравнений совпадает с числом неизвестных, т.е. [math]m=n[/math] . Предполагается, что выполняется условие [math]\det\equiv|A|\ne0[/math] . Тогда по теореме 5.1 решение системы (10.1) существует и единственно.

Согласно изложенному ранее, метод Гаусса содержит две совокупности операций, которые условно названы прямым ходом и обратным ходом.

Прямой ход состоит в исключении элементов, расположенных ниже элементов, соответствующих главной диагонали матрицы [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_^<(0)>,[/math] [math]i=1,\ldots,n;[/math] [math]j=1,\ldots,n+1[/math] ;

б) Выбрать ведущий элемент одним из двух способов.

Первый способ (схема единственного деления). Выбрать в качестве ведущего элемента [math]a_^<(k-1)>\ne0[/math] .

Второй способ (схема с выбором ведущего элемента). На k-м шаге сначала переставить [math](n-k+1)[/math] оставшихся уравнений так, чтобы наибольший по модулю коэффициент при переменной [math]x_k[/math] попал на главную диагональ, а затем выбрать в качестве ведущего элемента [math]a_^<(k-1)>[/math] .

в) каждый элемент строки, в которой находится ведущий элемент, поделить на него:

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

Поясним алгоритм исключения на рис. 10.1. Пусть рассчитывается значение [math]a_^<(k)>[/math] на k-м шаге. Следует соединить элемент [math]a_^<(k-1)>[/math] с ведущим элементом [math]a_^<(k-1)>[/math] . Получена одна из диагоналей прямоугольника. Вторую диагональ образует соединение элементов [math]a_^<(k-1)>[/math] и [math]a_^<(k-1)>[/math] . Для нахождения значения [math]a_^<(k)>[/math] из его текущего значения [math]a_^<(k-1)>[/math] вычитается произведение элементов [math]a_^<(k-1)>[/math] и [math]a_^<(k-1)>[/math] , деленное на ведущий элемент;

д) если [math]k\ne n[/math] , то перейти к пункту «б», где вместо [math]k[/math] положить [math]k+1[/math] .

Если [math]k=n[/math] , завершить прямой ход. Получена расширенная трапециевидная матрица из элементов [math]a_^<(n)>[/math] , соответствующая [math]\bigl(\widetilde\mid \widetilde\bigr)[/math] .

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

2. По окончании прямого хода может быть вычислен определитель матрицы [math]A[/math] путем перемножения ведущих элементов.

3. В расчетных формулах все элементы расширенной матрицы обозначаются одним символом [math]a[/math] , так как они преобразуются по единым правилам.

4. Понятие нормы квадратной невырожденной матрицы позволяет исследовать влияние малых изменений правой части и элементов матрицы на решение систем линейных уравнений. Положительное число [math]A=\|A\|\cdot\|A^<-1>\|[/math] называется числом обусловленности матрицы . Существует и более общее определение числа обусловленности, применимое к вырожденным матрицам: [math]\operatornameA= \sup_\frac<\|Ax\|><\|x\|>: \inf_\frac<\|Ay\|><\|y\|>[/math] . Чем больше число обусловленности, тем сильнее ошибка в исходных данных сказывается на решении линейной системы. Если число [math]\operatornameA[/math] велико, система считается плохо обусловленной, т.е. решение системы может существенно изменяться даже при малых изменениях элементов матрицы [math]A[/math] и столбца свободных членов [math]b[/math] .

Пример 10.3. Найти число обусловленности матрицы системы [math]\beginx_1+10x_2=b_1,\\ 100x_1+1001x_2=1101. \end[/math] Решить систему при [math]b_1=11[/math] и [math]b_1=11,\!01[/math] , сравнить близость полученных решений.

По формуле (4.2) для матрицы [math]A=\begin 1&10\\ 100&1001 \end[/math] получаем [math]A^<-1>=\begin 1001&-10\\ -1000&1 \end[/math] . Тогда

В результате [math]\operatornameA= \|A\|\cdot\|A^<-1>\|=1101\cdot1011= 1’113’111[/math] . Очевидно, число обусловленности матрицы системы достаточно велико, поэтому система является плохо обусловленной.

При [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\| \begin1\\1 \end— \begin 11,\!01\\0 \end \right\|_1=10,\!01[/math] , т.е. погрешность [math]\Delta x[/math] решения в 1001 раз больше погрешности [math]\Delta b_1[/math] правой части системы.

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

Пример 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 1&-1&0&1\end^T[/math] .

Метод прогонки для решения СЛАУ

Метод применяется в случае, когда матрица [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_=P_x_i+Q_[/math] и подставим в (10.2). Получим

Приводя эту формулу к виду (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_Q_[/math] по формулам (10.4).

2. Значения [math]x_,x_,\ldots,x_1[/math] определить по формуле (10.3):

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

2. Алгоритм метода прогонки называется корректным, если для всех [math]i=1,\ldots,n,

\beta_i-\alpha_iP_\ne0[/math] , и устойчивым, если [math]|P_i| .

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 1&1&1&1 \end^T[/math] в исходную систему убеждаемся, что задача решена верно. Для данного примера [math]\beta_i-\alpha_iP_\ne0,

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 1&2&3&4 \end^T[/math] . Заметим, что условие преобладания диагональных элементов в данном примере не выполнено, но алгоритм метода прогонки позволил получить точное решение. При этом обратим внимание на небольшой порядок системы и отсутствие погрешностей вычислений.

Пример 10.9. Решить методом прогонки систему уравнений

Расширенная матрица системы имеет вид [math]\begin2&1&0&0\!\!&\vline\!\!&4\\ 2&3&-1&-1\!\!&\vline\!\!&9\\ 0&1&-1&3\!\!&\vline\!\!&12\\ 0&0&1&-1\!\!&\vline\!\!&-4 \end[/math] .

1. Прямой ход. Вычислим прогоночные коэффициенты:

Получено решение системы: [math]x_<\ast>=\begin 1&2&-1&3 \end^T[/math] . Результаты расчетов приведены в табл. 10.3

Метод 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] :

\begin2y_1=16,\\ 3y_1+0,\!5y_2=10,\\ y_1+2,\!5y_2+26y_3=16. \end[/math] . Отсюда [math]\beginy_1=8,\\ y_2=(10-3\cdot8)\cdot2=-28,\\[4pt] y_3=\dfrac<16-8+70><26>=3.\end[/math]

3. Решим систему [math]U\cdot x=y:[/math]

\beginx_1+0,\!5x_2+2x_3=8,\\ x_2-10x_3=-28,\\ x_3=3.\end[/math] . Отсюда [math]\begin x_3=3,\\ x_2=-28+10\cdot3=2,\\ x_1=8-2\cdot3-0,\!5\cdot2=1. \end[/math]

Пример 10.11. Решить систему линейных алгебраических уравнений методом LU-разложения.

1. Выполним операцию факторизации:

2. Решим систему линейных уравнений [math]L\cdot y=b[/math] :

\begin3y_1=5,\\ -2y_1+y_2/3=0,\\ 2y_1-y_2/3+5y_3=15. \end[/math] . Отсюда [math]\beginy_1=5/3,\\ y_2=10,\\ y_3=3.\end[/math]

3. Решим систему [math]U\cdot x=y[/math] :

\begin x_1-x_2/3=5/3,\\ x_2+3x_3=10,\\ x_3=3;\end \Rightarrow

Пример 10.12. Решить систему линейных алгебраических уравнений методом LU-разложения

1. Выполним процедуру факторизации:

В результате получаем матрицы LU-разложения:

2. Решим систему уравнений [math]L\cdot y=b:[/math]

\begin2y_1=4,\\ 2y_1+2y_2=9,\\ y_2-y_3/3=12,\\ y_3+5y_4=-4,\end\!\!\! \Rightarrow

3. Решим систему уравнений [math]U\cdot x=y:[/math]

Отсюда записываем решение исходной системы уравнений: [math]x_<\ast>= \begin1&2&-1&3\end^T[/math] .

Метод квадратных корней для решения СЛАУ

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

Пусть [math]A[/math] — симметрическая квадратная матрица системы [math]Ax=b[/math] порядка [math]n[/math] . Решим задачу ее представления в виде

Находя произведение [math]U^T\cdot U[/math] , составим систему уравнении относительно неизвестных элементов матрицы [math]U:[/math]

Система имеет следующий вид:

Из первой строки системы находим

Из второй строки определяем

Из последней строки имеем [math]\textstyle=\sqrt-\sum\limits_^u_^2>>[/math] .

Таким образом, элементы матрицы [math]U[/math] находятся из соотношений

При осуществлении [math]U^TU[/math] -разложения симметрической матрицы могут возникать ситуации, когда [math]u_=0[/math] при некотором [math]i[/math] или подкоренное выражение отрицательно. Для симметрических положительно определенных матриц разложение выполнимо.

Если матрица [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>= \sqrt<2>\,,

при [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-2,\!8x_1+x_2+4x_3=60,\\ 10x_1-x_2+8x_3=10,\\ -x_1+2x_2-0,\!6x_3=20\end[/math] с помощью перестановки уравнений приводится к виду [math]\begin10x_1-x_2+8x_3=10,\\ -x_1+2x_2-0,\!6x_3=20,\\-2,\!8x_1+x_2+4x_3=60, \end[/math] где

|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]\begin4x_1+x_2+9x_3=-7,\\ 3x_1+8x_2-7x_3=-6,\\ x_1+x_2-8x_3=7\end[/math] путем сложения первого и третьего уравнений и вычитания из второго уравнения третьего уравнения преобразуется к виду с преобладанием диагональных элементов: [math]\begin 5x_1+2x_1+x_3=0,\\ 2x_1+7x_2+x_3=-13,\\ x_1+x_2-8x_3=7. \end[/math]

2. Уравнения преобразуются так, чтобы выполнялось условие преобладания диагональных элементов, но при этом коэффициенты [math]\alpha_[/math] не обязательно равнялись нулю.

Например, систему [math]\begin1,\!02x_1-0,\!15x_2=2,\!7,\\ 0,\!8x_1+1,\!05x_2=4 \end[/math] можно записать в форме [math]\beginx_1=-0,\!02x_1+0,\!15x_2+2,\!7,\\ x_2=-0,\!8x_1-0,\!05x_2+4,\end[/math] для которой [math]\|\alpha\|_1= \max\<0,\!17;\,0,\!85\>= 0,\!85 .

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 1,\!2\\1,\!3\\1,\!4 \end[/math] . В поставленной задаче [math]\varepsilon= 0,\!01[/math] .

3. Выполним расчеты по формуле (10.12):

до выполнения условия окончания и результаты занесем в табл. 10.4.

4. Расчет закончен, поскольку выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^ <(k)>\bigr\|=0,\!0027 .

Приближенное решение задачи: [math]x_<\ast>\cong \begin0,\!9996& 0,\!9995& 0,\!9993 \end^T[/math] . Очевидно, точное решение: [math]x_<\ast>=\begin 1&1&1 \end^T[/math] .

Приведем результаты расчетов для другого начального приближения [math]x^<(0)>=\begin 1,\!2&0&0 \end^T[/math] и [math]\varepsilon=0,\!001[/math] (табл. 10.5).

Приближенное решение задачи: [math]x_<\ast>\cong \begin 1,\!0001& 1,\!0001& 1,\!0001 \end^T[/math] .

Метод Зейделя для решения СЛАУ

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

Итерации по методу Зейделя отличаются от простых итераций (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 1,\!2&0&0 \end^T[/math] . В поставленной задаче [math]\varepsilon=0,\!001[/math] .

Выполним расчеты по формуле (10.15): [math]\begin x_1^<(k+1)>=-0,\!1\cdot x_2^<(k)>-0,\!1\cdot x_3^<(k)>+1,\!2\,,\\[4pt] x_2^<(k+1)>=-0,\!2\cdot x_1^<(k+1)>-0,\!1\cdot x_3^<(k)>+1,\!3\,,\\[4pt] x_3^<(k+1)>=-0,\!2\cdot x_1^<(k+1)>-0,\!2\cdot x_2^<(k+1)>+1,\!4\,,\end\!\!\!\!\! (k=0,1,\ldots)[/math] и результаты занесем в табл. 10.6.

Очевидно, найденное решение [math]x_<\ast>= \begin 1&1&1 \end^T[/math] является точным.

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 0&0&0 \end^T[/math] . В поставленной задаче [math]\varepsilon= 0,\!005[/math] .

k=0,1,\ldots[/math] и результаты занесем в табл. 10.7.

Очевидно, найденное решение [math]x_<\ast>= \begin 1&1&1 \end^T[/math] является точным.

4. Расчет завершен, поскольку выполнено условие окончания [math]\bigl\|x^<(k+1)>-x^<(k)>\bigr\|= 0,\!001 .


источники:

http://infourok.ru/nauchnaya-rabota-po-teme-chislennie-metodi-resheniya-sistem-lineynih-algebraicheskih-uravneniy-1019841.html

http://mathhelpplanet.com/static.php?p=chislennyye-metody-resheniya-slau