- •Численные методы
- •Сиговцев Генадий Сергеевич, заведующий кафедрой имо
- •Метод Гаусса решениясистем линейных алгебраических уравнений
- •Задача Коши для оду
- •Краевыезадачи для оду
- •Разностныесхемы для краевой задачи с оду 2-го порядка
- •1. Введение
- •1.1. Роль численных методов
- •1.2. Источники и классификация погрешностей
- •1.2.1. Погрешности данных, метода и вычислений
- •1.3. Абсолютная и относительная погрешности вычисления
- •Методы решенияалгебраических уравнений
- •2. Численные методы алгебры
- •2.1. Методы решения алгебраических уравнений
- •2.1.1. Метод деления отрезка пополам
- •2.1.2. Метод хорд
- •2.1.3. Метод Ньютона
- •1.1. Методы решения алгебраических уравнений
- •Метод Гаусса решениясистем линейных алгебраических уравнений
- •2.2. Метод Гаусса решения систем линейных алгебраических уравнений
- •2.1. Интерполяционный многочлен Лагранжа
- •2.2. Использование интерполяционного многочлена для вычисления производной.
- •Итерационныеметоды. Общая схема
- •2.3. Итерационные методы. Общая схема
- •Вариантыитерационных методов
- •2.4. Варианты итерационных методов
- •2.4.1. Метод простых итераций
- •2.4.2. Метод Якоби
- •2.4.3. Метод Зейделя
- •2.4.4. Метод релаксации
- •2.5. Оценка погрешности и мера обусловленности
- •1.3. Итерационные методы решения систем уравнений
- •2.1. Интерполяционный многочлен Лагранжа
- •Алгебраическаяпроблема собственных значений
- •2.6. Алгебраическая проблема собственных значений
- •2.6.1. Степенной метод
- •2.6.2. Метод вращений
- •Задачаинтерполяции. Многочлен Лагранжа.
- •3. Численные методы математического анализа
- •3.1. Задача интерполяции. Многочлен Лагранжа
- •3.1.1. Постановка задачи
- •3.1.2. Построение интерполяционного многочлена Лагранжа
- •3.1.3. Остаточный член
- •Минимизацияостаточного члена
- •3.2. Минимизация остаточного члена
- •3.2.1. Постановка задачи
- •3.2.2. Многочлены Чебышева
- •3.2.3. Минимизация оценки остаточного члена
- •Интерполяционнаяформула Ньютона с разделенными разностями
- •3.3. Интерполяционная формула Ньютона с разделенными разностями
- •Численноедифференцирование
- •3.4. Численное дифференцирование.
- •3.4.1. Использование интерполяционных многочленов с разделенными разностями.
- •3.4.3. Оценка погрешности по методу Рунге..
- •3.4.4. Уточнение приближенного решения.
- •Сплайн-интерполяция
- •3.5. Сплайн - интерполяция
- •3.5.1. Линейный интерполяционный сплайн
- •3.5.2. Кубический интерполяционный сплайн
- •3.5.3. Метод прогонки.
- •Метод наименьших квадратов
- •3.6. Метод наименьших квадратов
- •3.6.1. Подбор эмпирических формул
- •3.6.2. Среднеквадратичные приближения.
- •2.4. Метод наименьших квадратов
- •Квадратурныеформулы
- •3.7. Квадратурные формулы.
- •3.7.1. Формула прямоугольников.
- •3.7.2. Формула трапеций.
- •3.7.3.Формула Симпсона (парабол).
- •3.7.4. Оценка погрешности численного интегрирования.
- •2.5. Квадратурные формулы
- •4.2. Одношаговые методы численного решения
- •4.2.1. Классификация численных методов для задачи Коши
- •МетодЭйлера
- •4.3. Метод Эйлера
- •4.3.1. Разностная схема
- •4.3.2. Погрешность аппроксимации
- •4.3.3. Сходимость
- •Неявный метод Эйлера.
- •Метод Рунге-Кутты второго порядка точности.
- •Явный двухшаговый метод Адамса.
- •Неявный двухшаговый метод Адамса.
- •Методы Рунге-Кутты
- •4.5. Методы Рунге-Кутты второго порядка точности
- •4.5.1. Канонический вид явных одношаговых методов
- •4.5.2. Построение семейства схем второго порядка точности.
- •Метод Рунге-Кутты второго порядка точности.
- •Многошаговые схемы. МетодАдамса
- •4.7. Многошаговые схемы. Метод Адамса
- •4.7.1. Сценарий построения разностных схем
- •Явныесхемы Адамса
- •4.8. Явные схемы Адамса
- •4.8.1. Построение двухшаговой и трехшаговой схем
- •4.8.2. Погрешность аппроксимации
- •4.8.3. Устойчивость на модельной задаче
- •Явный двухшаговый метод Адамса.
- •Явный двухшаговый метод Адамса.
- •4.7. Многошаговые схемы. Метод Адамса
- •4.7.1. Сценарий построения разностных схем
Метод Гаусса решениясистем линейных алгебраических уравнений
2.2. Метод Гаусса решения систем линейных алгебраических уравнений
Рассмотрим задачу решения системы уравнений вида:
(11)
(
)
или
,
где
- матрица коэффициентов системы,
- вектор неизвестных,
- вектор правых частей.
Известно, что
система (11) имеет единственное решение,
если ее матрица невырожденная (т. е.
определитель матрицы
отличен от нуля). В случае вырожденности
матрицы система может иметь бесконечное
число решений (если ранг матрицы
и ранг расширенной матрицы, полученной
добавлением к
столбца свободных членов равны) или не
иметь решений вовсе (если ранг матрицы
и расширенной матрицы не совпадают)
Известно, что решение системы линейных уравнений можно выразить по формулам Крамера через отношение определителей. Но вычисление определителя не проще, чем решение исходной системы. Для решения системы порядка n необходимо вычислить (n+1) определитель, т. е. вычисление решения по формулам Крамера в (n+1) раз более трудоемко, чем решение системы другим методом, например методом Гаусса.
Метод Гаусса основан на приведении путем эквивалентных преобразований исходной системы (11) к виду с верхней треугольной матрицей.
(12)
Тогда из последнего уравнения сразу определяем
.
Подставляя его в предпоследнее уравнение, находим
![]()
и т. д.
Общие формулы имеют вид
,
k=n, n-1,..., 1. (13)
При вычислениях по формулам (13) потребуется выполнить примерно 1/2n2 арифметических действий.
Приведение системы (11) к виду (12) можно выполнить, последовательно заменяя строки матрицы системы их линейными комбинациями.
Первое уравнение
не меняется. Вычтем из второго уравнения
системы (11) первое, умноженное на такое
число, чтобы обратился в нуль коэффициент
при
.
Затем таким же образом вычтем первое
уравнение из третьего, четвертого и т.
д. Тогда исключатся все коэффициенты
первого столбца, лежащие ниже главной
диагонали.
Затем при помощи второго уравнения исключим из третьего, четвертого и т. д. уравнений коэффициенты второго столбца. Последовательно продолжая этот процесс, исключим из матрицы все коэффициенты, лежащие ниже главной диагонали.
Запишем общие формулы процесса. Пусть проведено исключение коэффициентов из k-1 столбца. Тогда остались такие уравнения с ненулевыми элементами ниже главной диагонали:
(14)
Умножим k-ю строку на число
(15)
и вычтем из m-й строки. Первый ненулевой элемент этой строки обратится в нуль, а остальные изменятся по формулам
![]()
(16)
![]()
Производя вычисления по этим формулам при всех указанных индексах, исключим элементы k-го столбца. Будем называть такое исключение циклом процесса. Выполнение всех циклов называется прямым ходом исключения.
Запишем треугольную систему, получающуюся после выполнения всех циклов. При приведении системы к треугольному виду освободятся клетки в нижней половине матрицы системы (11). Получим
(17)
Треугольная система (17) легко решается обратным ходом по формулам (13).
Исключение по
формулам (15) нельзя проводить, если в
ходе расчета на главной диагонали
оказался нулевой элемент
Но в первом столбце промежуточной
системы (14) все элементы не могут быть
нулями: это означало бы, что det A = 0.
Перестановкой строк можно переместить
ненулевой элемент на главную диагональ
и продолжить расчет.
Для уменьшения вычислительной погрешности можно каждое повторение внешнего цикла начинать с выбора максимального по модулю элемента в k-том столбце (главного элемента) и перестановки уравнения с главным элементом так, чтобы он оказался на главной диагонали. Этот вариант называется методом Гаусса с выбором главного элемента.
В качестве одной из характеристик эффективности того или иного алгоритма используют вычислительные затраты, измеряемые количеством элементарных операций, которые необходимо выполнить для получения решения.
Для прямого хода метода Гаусса число арифметических операций, в соответствии с формулами (15), (16), равно

![]()
Для обратного хода по формулам (13) число арифметических операций равно

![]()
Общие вычислительные затраты метода Гаусса:
![]()
Таким образом, ![]()
Выполнение прямого хода метода Гаусса позволяет также вычислить значение определителя матрицы системы.
При замене строк матрицы их линейными комбинациями значение определителя не меняется. Знак меняется при каждой перестановке строк. Для треугольной матрицы величина определителя равна произведению элементов, стоящих на главной диагонали. Поэтому определитель вычисляется по формуле:

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

Видно, что если
рассматривать j-й столбец обратной
матрицы как вектор, то он является
решением линейной системы вида (11) с
матрицей
и специальной правой частью (в которой
на
месте стоит единица, а на остальных
нули).
Таким образом, для
обращения матрицы надо решить
систем линейных уравнений с одинаковой
матрицей
и разными правыми частями. Приведение
матрицы
к треугольной делается при этом только
один раз, а правые части преобразуются
по формулам (15)-(16).
Преобразование
матрицы требует порядка
операций.
Действия по преобразованию правых
частей систем и обратный ход метода
Гаусса повторяются
раз, а однократное преобразование правых
частей и обратный ход требуют порядка
операций. Следовательно, суммарные
вычислительные затраты на обращение
матрицы составляют:
.
Таким образом, преобразование матрицы требуется порядка 2/3n3 операций. Для преобразования правых частей и для обратного хода требуется порядка 3/2n2 операций. Всего таких преобразований n, получаем суммарные затраты
2/3n3 + 3/2n2n = 13/6n3.
Обращение матрицы
сводится к решению
систем линейных уравнений, но требует
лишь примерно втрое больше действий,
чем решение одной системы уравнений.
Это объясняется тем, что при решении
линейной системы большая часть вычислений
связана с приведением матрицы к
треугольному виду, а это при обращении
матрицы делается только один раз.
Обратный ход и преобразование правых
частей выполняются много быстрее.
Вообще говоря,
метод Гаусса применим для решения любых
систем линейных уравнений, так как он
позволяет получить решение системы,
если оно существует (включая случай,
когда часть неизвестных является
свободной и решений бесконечно много)
и обнаружить отсутствие решения (когда
система несовместна). В последнем случае
после очередного k-го
шага прямого хода обнаруживается
ситуация, когда все элементы матрицы
системы ниже k-ой
строки равны нулю, а среди соответствующих
компонент вектора
есть ненулевые значения.1.2. Решение
систем линейных алгебраических уравнений
методом Гаусса.
Тема: Решение системы линейных уравнений методом Гаусса.
Пример.

Записывается расширенная матрица

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

Полученный результат записывается в матрицу k.

Из каждой строки матрицы k вычитается строка, содержащая главный элемент, умноженная на элемент, стоящий на пересечении текущей строки и столбца, содержащего главный элемент.
![]()
В результате коэффициенты при
обращаются
в нуль.
Дальнейшие вычисления производятся аналогично.



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

Вектор-столбец является решением исходной системы.

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


Для вычисления по формулам составляются матрицы A1 (из исходной матрицыAберутся диагональные элементы) иA2 (из исходной матрицыAберутся элементы, стоящие ниже главной диагонали).
В качестве начального приближения берется произвольный вектор (можно взять вектор правых частей). Задается количество итераций.

Вычисления по формулам производятся до тех пор, пока не совпадут две последние итерации.

За решение системы можно принять результат последней итерации.

1.3.2. Решение систем линейных алгебраических уравнений методом релаксации.
Тема: Решение системы линейных уравнений
методом релаксации с точностью
.
Пример.

Выбирается параметр релаксации. В качестве начального приближения берется вектор правых частей.

Вычисления производятся по формуле до тех пор, пока не совпадут две последние итерации.

1.4. Вычисление собственных чисел и собственных векторов матрицы.
Тема: Вычисление собственных чисел и собственных векторов матрицы методом вращения.
Пример.

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

Строится ортогональная матрица простого
поворота. Угол подбирается так, чтобы
у матрицы A0 элемент
обратился
в нуль.

Дальнейшие преобразования проводятся аналогично.





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

