Численные методы решения систем линейных алгебраических уравнений
Введение
Линейная алгебра, численные методы – раздел вычислительной математики, посвященный математическому описанию и исследованию процессов численного решения задач линейной алгебры.
Среди задач линейной алгебры наибольшее значение имеют две: решение системы линейных алгебраических уравнений, определение собственных значений и собственных векторов матрицы. Другие часто встречающиеся задачи: обращение матрицы, вычисление определителя и т.д.
Любой
численный метод линейной алгебры
можно рассматривать как
На практике в большинстве случаев найти точное решение возникшей математической задачи не удается. Это происходит главным образом не потому, что мы не умеем этого сделать, а поскольку искомое решение обычно не выражается в привычных для нас элементарных или других известных функциях. Поэтому важное значение приобрели численные методы, особенно в связи с возрастанием роли математических методов в различных областях науки и техники и с появлением высокопроизводительных ЭВМ.
Под численными методами подразумеваются методы решения задач, сводящиеся к арифметическим и некоторым логическим действиям над числами, т.е. к тем действиям, которые выполняет ЭВМ.
В
настоящее время появилось
Конечно,
использование таких
Учитывая важность выше указанных проблем, тему своей работы мы определили так: «Численные методы решения систем линейных алгебраических уравнений ».
В качестве объекта исследования выступают различные численные методы решения линейных алгебраических уравнений и систем линейных алгебраических уравнений.
Предметом исследования, является выявление эффективности и сравнительная характеристика методов.
Задачи исследования:
- изучить и проанализировать литературу по проблемам численных методов;
- изучить научную и учебную литературу по теме «Численные методы решения систем линейных алгебраических уравнений;
- определить основные этапы изучения темы «Численные методы решения систем линейных алгебраических уравнений»;
- продемонстрировать на примерах использование методов.
Дипломная работа состоит из введения, двух глав, заключения, списка используемой литературы (20 наименований).
Во введении обоснована актуальность темы исследования, определены объект, предмет, проблема и задачи исследования.
В первой главе изучается теория и терминология численных методов с примерами и пояснениями.
Во второй главе рассматривается применение численных методов решения линейных алгебраических уравнений в теории и на практике.
В
заключении подведены итоги и
сделаны основные выводы.
Глава I. Теоретические основы исследования
§1 ЧИСЛЕННЫЕ МЕТОДЫ
Разрешимость системы линейных уравнений.
Когда мы говорим о главной матрице системы линейных уравнений, то всегда имеем в виду квадратную матрицу nхn, т. е. матрицу с одинаковым количеством строк и столбцов. Это важно.
Если, например, количество строк (количество уравнений в системе) будет меньше, чем количество столбцов (фактически, количества неизвестных), то система будет неопределенной, т. е. мы не сможем однозначно определить все неизвестные (решить систему).
Но это не единственное ограничение. Из векторной алгебры известно, что система линейных уравнений имеет решение (однозначное) тогда и только тогда, когда ее главный определитель не равен нулю: Δ ≠ 0.
Рассмотрим случай, когда определитель системы равен нулю. Здесь возможны два варианта:
- Δ = 0 и каждый из дополнительных определителей Δxi = 0. Это имеет место только тогда, когда коэффициенты при неизвестных xi пропорциональны, т. е. каждое уравнение системы получается из первого уравнения умножением обеих его частей на число k. При этом система имеет бесчисленное множество решений.
- Δ = 0 и хотя бы один дополнительный определитель Δxi ≠ 0. Это имеет место только тогда, когда коэффициенты при всех неизвестных xi, пропорциональны. При этом получается система из противоречивых уравнений, которая не имеет решений [7].
- Матричный метод решения систем линейных алгебраических уравнений
Пусть дана система линейных уравнений:
Рассмотрим матрицу, составленную из коэффициентов при неизвестных:
Свободные члены и неизвестные можно записать в виде матрицы столбцов:
Тогда, используя правило умножение матриц, эту систему уравнений можно записать так:
или
A·x = b. (1)
Равенство (1) называется матричным уравнением или системой уравнений в матричном виде.
Матрица
А коэффициентов при
Иногда рассматривают также расширенную матрицу системы, т. е. главную матрицу системы, дополненную столбцом свободных членов, которую записывают в следующем виде:
Любую линейную систему уравнений можно записать в матричном виде. Например, пусть дана система:
Эта система из двух уравнений с тремя неизвестными – x, y,. В высшей математике можно рассматривать системы из очень большого числа уравнений с большим количеством неизвестных и поэтому неизвестные принято обозначать только буквой х, но с индексами:
Запишем эту систему в матричном виде:
Здесь главная матрица системы:
Расширенная матрица будет иметь вид:
Microsoft Office Excel. Если же говорить о программе Excel, которая является одной из наиболее известных в обработке электронных таблиц, то без преувеличения можно утверждать, что ее возможности практически неисчерпаемы.
Обработка
текста, управление базами данных -
программа настолько мощна, что
во многих случаях превосходит
За всю историю табличных расчетов с применением персональных компьютеров требования пользователей к подобным программам существенно изменились. В начале основной акцент в такой программе, как, например, Visi Calc, ставился на счетные функции. Сегодня, положение другое. Наряду с инженерными и бухгалтерскими расчетами организация и графическое изображение данных приобретают все возрастающее значение. Кроме того, многообразие функций, предлагаемое такой расчетной и графической программой, не должно осложнять работу пользователя. Программы для Windows создают для этого идеальные предпосылки.
В последнее время многие как раз перешли на использование Windows в качестве своей пользовательской среды. Как следствие, многие фирмы, создающие программное обеспечение, начали предлагать большое количество программ для Windows.
MathCAD.
Программа MathCAD по своему назначению позволяет моделировать в электронном документе научно–технические, а также экономические расчёты в форме, достаточно близкой к общепринятым ручным расчётам. Это упрощает составление программы расчёта, автоматизирует перерасчёт и построение графических иллюстраций подобно электронным таблицам Excel, документирование результатов как в текстовом редакторе Word.
Программа Mathcad известна за лёгкость, с которой математические уравнения, текст, и графика могут быть объединены в одном документе. Кроме того, вычислительные способности Mathcad распространяются от сложения столбца чисел к решению интегралов и производных, решение систем уравнений и больше.
Достоинством MathCAD является также наличие в его составе электронных книг. Одна из них – учебник по самой программе, другие – справочник по различным разделам математики, физики, радиоэлектроники и др.
К
численным методам решения
1.2
Метод Гаусса – прямой
и обратный ход
Рассмотрим метод Гаусса. Например, пусть дана расширенная матрица некоторой системы m линейных уравнений c n неизвестными:
Будем считать, что a11 ≠ 0 (если это не так, то достаточно переставить первую и некоторую другую строку расширенной матрицы местами). Проведем следующие элементарные преобразования:
C2-(a21/a11)*C1,
...
Cm-(am1/a11)*C1,
т.е. Ci-(ai1/a11)*C1, i = 2, 3, ..., m.
Т. е. от каждой строки расширенной матрицы (кроме первой) отнимаем первую строку, умноженную на частное от деления первого элемента этой строки на диагональный элемент а11.
В результате получим матрицу:
Т. е. первая строка осталась без изменений, а в столбце под а11 на всех местах оказались нули. Обратим внимание, что преобразования коснулись всех элементов строк, начиная со второй, всей расширенной матрицы системы.
Теперь наша задача состоит в том, чтобы получить нули подо всеми диагональными элементами матрицы А – aij, где I = j.
Повторим наши элементарные преобразования, но уже для элемента α22.
C1-(a12/α22)*C2,
...
Cm-(αm2/α22)*C2,
т.е. Ci-(αi2/α22)*C2, i = 3, ..., m.
Т. е. от каждой строки расширенной матрицы (теперь кроме первой и второй) отнимаем вторую строку, умноженную на частное от деления первого элемента этой (текущей) строки на диагональный элемент α22.
Такие преобразования продолжаются до тех пор, пока матрица не приведется к верхнее - треугольному виду. Т. е. под главной диагональю не окажутся все нули:
Вспомнив, что каждая строка представляет собой одно из уравнений линейной системы уравнений, легко заметить, что последнее m-ое уравнение принимает вид:
γmn*xn = δm.
Отсюда легко можно найти значение первого корня – xn = δm/γmn.
Подставив это значение в предыдущее m-1-е уравнение, легко получим значение xn-1-ого корня.
Таким
образом, поднимаясь до самого верха
обратным ходом метода Гаусса, мы последовательно
найдем все корни системы уравнений [5].
Пример 1
Рассмотрим систему уравнений:
Главный
определитель данной системы:
Δ
= [1*(-4)*(-2)+2*2*1+(-1)*(-1)*(
т. е. Δ ≠ 0.
Т. е. система определена и разрешима. Решим ее по методу Гаусса.
Проведем прямой ход метода Гаусса, выписав предварительно расширенную матрицу системы:
Получим нули под главной диагональю в первом столбце расширенной матрицы. Для получения нуля в элементе 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:
-5/2x3 = 3/2,
x3 = (3/2):(-5/2) = 3/2*(-2/5) = -3/5.
Корень x3 = -3/5 найден. Подставим его в верхнее (второе) уравнение системы (-2x2-3x3 = 1):
-2x2-3(-3/5) = 1,
-2x2+9/5 = 1,
-2x2 = 1-9/5,
-2x2 = -4/5,
x2 = (-4/5):(-2) = (-4/5)*(-1/2) = 2/5.
Корень x2 = 2/5 найден. Подставим его и корень х3 в верхнее (первое) уравнение системы (x1-x2+x3 = 0):
x1-2/5+(-3/5) = 0,
x1-5/5 = 0,
x1 = 5/5 = 1.
Проверка:
т. е.
т. е.
и т. д [9].
Вывод: Итак, метод Гаусса (или, иначе, метод последовательного исключения неизвестных) состоит в следующем:
- Путем элементарных преобразований систему уравнений приводят к эквивалентной ей системе с верхнее - треугольной матрицей. Эти действия называют прямым ходом.
- Из полученной треугольной системы переменные находят с помощью последовательных подстановок (обратный ход).
- При этом все преобразования проводятся над так называемой расширенной матрицей системы, которую и приводят к верхнее - треугольному виду в прямом ходе метода.
- Итерация для линейных систем
Способ итераций дает возможность получить последовательность приближенных значений, сходящихся к точному решению системы, подобно тому, как это делается для одного уравнения.
Для
определенности ограничимся системой
из четырех уравнений с четырьмя неизвестными
(система четвертого порядка), которую
запишем в виде:
Разрешим первое уравнение системы относительно х1:
х1
= (-a12/a11)х2-a13/a11х3-a14/a11
Затем разрешим второе уравнение относительно х2 и т. д. Тогда систему можно переписать в виде:
где α = -aik/aii, i = 1, 2, 3, 4; k = 1, 2, 3, 4, 5.
Система является частным случаем записи вида:
При этом линейная функция L1 фактически не зависит от х1.
Зададим какие-либо начальные значения неизвестных (нулевые приближения):
х1(0), х2(0), х3(0), х4(0).
Подставляя эти значения в правые части системы (*), получим первые приближения:
Полученные первые приближения могут быть так же использованы для получения вторых, третьих и т. д. приближений. Т. е. можно записать:
Условия
сходимости итерационного процесса.
Установим условия, выполнение которых обеспечит сходимость получающихся приближений к истинному (точному) решению системы х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), генерирует последовательность точек {Pk}, которая сходится к решению (2, 4, 3):
| 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].
Вывод:
- Способ итераций дает возможность получить последовательность приближенных значений, сходящихся к точному решению системы. Для этого система приводится к виду (для случая системы из четырех уравнений):

- Числовые последовательности
- Чистая прибыль
- Чмсловые последовательности основной общеобразовательной школе с применением компьютерных технологий
- Чорна рада
- Чрезвычайные ситуации криминогенного характера
- Чрезвычайные ситуации экологического характера (2)
- Что такое государственное регулирование тарифов на услуги ЖКХ?
- Через тернии к звёздам
- Чёрная металургия
- Честь, достоинство, деловая репутация
- Чехия и ее роль в европейском туризме
- Численное моделирование осесимметричных процессов теплопроводности
- Численное решение краевых задач для двумерного уравнения колебания
- Численные алгоритмы для решения краевой задачи принципа максимума