Методы решения систем линейных алгебраических уравнений разделяются на точные и итерационные. Точные методы представляют собой конечные алгоритмы для вычисления корней системы. Это - метод обратной матрицы, метод Крамера, метод Гаусса, метод Жордана-Гаусса, метод главных элементов, метод квадратных корней и др. Несмотря на то, что методы называются точными, результаты вычислений имеют погрешности вследствие неизбежных округлений при выполнении действий.
Итерационные методы позволяют получать корни системы с заданной точностью путем сходящихся бесконечных процессов. К их числу относятся: метод простой итерации, метод Зейделя, метод релаксации и др. Эффективность применения итерационных методов существенно зависят от удачного выбора начального приближения и быстроты сходимости процесса.
Все вышеперечисленные методы (точные и приближенные) имеют свои преимущества и недостатки и поэтому для выбора оптимального (лучшего) метода для решения конкретной системы линейных уравнений требуются знания пользователя.
А. Пусть дана система n линейных уравнений с n неизвестными
Запишем эту систему в матричном виде
х =
или в общем матричном виде
А∙Х=В,
где: А - матрица коэффициентов;
Х – вектор искомых параметров;
В – вектор свободных членов.
Рассмотрим решение линейной системы уравнений различными методами.
Метод обратной матрицы
Дана система линейных уравнений
А∙Х=В.
Умножим правую и левую части системы на обратную матрицу А -1
А-1∙А∙Х= А-1∙В
Так как А-1∙А=Е, то Е∙Х= А-1∙В ЕХ=Х
Так как ЕХ = Х то, Х= А-1∙В.
Таким образом данный метод заключается в нахождении обратной матрицы коэффициентов А -1 и ее умножении на вектор свободных членов В. Нахождение обратной матрицы А -1 при порядке n >4 требует много времени, поэтому метод обратной матрицы редко употребляется.
Метод Крамера
Известно, что
.
Отсюда
,
где , , …,
где
Итак, метод Крамера заключается в вычислении (n +1)-го определителя (∆1, ∆2, ∆3, …, ∆ n) для матриц n -го порядка. Если число велико, то вычисление определителей является трудоемкой задачей.
Наиболее распространенным способом решения системы линейных уравнений является метод последовательного исключения неизвестных или метод Гаусса.
Метод Гаусса
Рассмотрим на простейшем примере известный со школы способ исключения неизвестных при решении систем уравнений. Пусть дана система:
Умножим первое уравнение на такой коэффициент , чтобы в обоих уравнениях коэффициент при х 1 стал бы одинаковым
Теперь вычтем его из второго уравнения, т.е.
-2 х 1+ х 2=7
Мы выполнили операцию исключения неизвестной х 1 из второго уравнения. Запишем систему уравнения после этого исключения в следующем виде. Первое уравнение записываем в исходном виде.
Второе уравнение содержит лишь одно неизвестное, которое легко вычисляется х 2=3. Подставив полученное значение х 2 в первое уравнение, можем вычислить и первое неизвестное х 1.
Проведенные действия и составляют сущность метода Гаусса. Рассмотрим преобразования по методу Гаусса для системы уравнений n -го порядка.
а 11 х 1+ а 12 х 2+ … + а 1 nх n = b 1 |
| ||||||
а 21 х 1+ а 22 х 2+ … + а 2 nх n = b 2 | |||||||
а 31 х 1+ а 32 х 2+ … + а 3 nх n = b 3 | |||||||
… … … … | |||||||
а n 1 х 1+ а n 2 х 2+ … + а nnх n = bn |
Вычтем из второго уравнения первое, умноженное на .
При этом во втором уравнении будет уничтожен коэффициент при х 1.
Затем из третьего уравнения также вычтем первое, умноженное на .
Проделав аналогичные преобразования с остальными уравнениями системы, превратим в нуль все коэффициенты первого столбца, кроме элемента а 11. Получим следующую систему:
а 11 х 1+ а 12 х 2+ а13 х 3+… + а 1 nх n = b 1 |
… | ||
… … … … | |||
Затем при помощи второго уравнения преображенной системы исключим из третьего, четвертого и т.д. уравнений коэффициенты второго столбца лежащие ниже
а 11 х 1+ а 12 х 2+ а13 х 3+… + а 1 nх n = b 1
… … …
Последовательно продолжая этот процесс, исключим из системы все коэффициенты, лежащие ниже главной диагонали. В результате получим треугольную систему уравнений.
а 11 х 1+ а 12 х 2+ а 13 х 3+… + а 1 nх n = b 1
… … …
Процесс получения треугольной системы называется “прямым ходом” по методу Гаусса. Треугольная система легко решается “обратным ходом”. Из последнего уравнения определяется последнее неизвестное . Затем из предпоследнего уравнения постановкой найденного значения х n определяется х n -1. После решения системы уравнений методом Гаусса необходимо делать проверку, подставляя в исходные уравнения найденные значения переменных х i (i = 1, …, n).
При решении системы линейных уравнений методом Гаусса все вычисления можно поместить в следующую таблицу. Рассмотрим таблицу на примере решения системы уравнений третьего порядка.
№ шага преобразований | х х 1 | х х 2 | х х 3 | ||
1) | а 11 | а 12 | а 13 | b 1 | : а 11 |
0 | а 21 | а 22 | а 23 | b 2 | |
а 31 | а 32 | а 33 | b 3 | ||
1 | |||||
1 2) | : | ||||
1 | |||||
2 3) | : | ||||
1 |
Уравнения 1), 2) и 3) составляют искомую треугольную матрицу после “прямого хода”. Число шагов преобразований в “прямом ходе” методом Гаусса равно n -1.
Коэффициенты а 11, , - называются “ведущими” элементами.
При “обратном ходе” можно использовать строки таблицы, содержащие единицы, т.е. вспомогательные уравнения. Имеем далее
ПРИМЕР:
№ шага | х 1 | х 2 | х 3 | B | ||
4 | 1 | 2 | 12 | : 4 | ||
0 | 2 | 8 | 4 | 30 | ||
1 | 2 | 4 | 17 | |||
1 | 0,25 | 0,5 | 3 | х 2 | х 1 | |
1 | 0 | 7,5 | 3 | 24 | ||
0 | 1,75 | 3,5 | 14 | |||
1 | 0,4 | 3,2 | х 1,75 | |||
2 | 0 | 2,8 | 8,4 | |||
3 | 1 | 3 |
Треугольная система
4 х 1+ х 2+2 х 3=12
7,5 х 2+3 х 3=24
2,8 х 3=8,4
или
х 1+0,25 х 2+0,5 х 3=3
х 2+0,4 х 3=3,2
х 3=3
Обратный ход
х 2=3,2-0,4∙3=2
х 1=3-0,25∙2-0,5∙3=1
Вычисление определителя методом Гаусса
(третий способ, без вывода)
Определитель матицы А равен произведению всех “ведущих” элементов при преобразовании ее по методу Гаусса.
Для вычисления определителя матрицы А выполняется только “прямой” ход методом Гаусса, причем столбец свободных членов В становится излишним.
ПРИМЕР: дана матрица
det А =4∙7,5∙2,8=84
Вычисление обратной матрицы методом Гаусса
А ∙ А -1 = Е
Матрицы А и Е известны, требуется определить А -1. Обозначим столбцы матрицы А -1 через х 1, х 2, …, х n т.е.
Столбцы для матрицы Е обозначим через Е 1, Е 2, …, Е n
Тогда можем записать n систем уравнений
Ах 1= Е 1
Ах 2= Е 2
Ах n = Е n
Развернем первое матричное уравнение Ах 1= Е 1
х =
Другие матричные уравнения аналогичны.
Следовательно, для получения обратной матрицы А -1 достаточно выполнить n решений методом Гаусса систем линейных уравнений с разными правыми частями - y столбцами матрицы Е.
Полученные решения х 1, х 2, …, х n будут столбцами искомой обратной матрицы А -1.
Трангуляции матрицы
Квадратную матрицу А можно представить как произведение двух треугольных матриц А=LW, где
L – нижняя треугольная матрица,
W – верхняя треугольная матрица.
Матрица W вычисляется при прямом ходе Гаусса
а 11 а 12 а 13 … а 1 n
0 …
0 0 …
… … … … …
0 0 0 …
У матрицы L наоборот все элементы выше главной диагонали нулевые. Остальные элементы матрицы L вычисляются в результате деления элементов по столбцам, полученных при том же прямом ходе Гаусса, на ведущие элементы. Сначала вычисляются элементы первого столбца матрицы L делением на ведущий элемент а 11, затем после первого шага “прямым ходом” метода Гаусса вычисляются элементы второго столбца, начиная с диагонального, делением на ведущий элемент а 11 и т.д.
Требуется решить системы уравнений
Ах = В
Так как А = LW то LWх = В
Обозначим Wх = Z
Тогда вместо системы Ах = В можем записать ей эквивалентную
LZ = В
Wx = Z (5)
Решение эквивалентной системы с треугольными матрицами L и W занимает гораздо меньше времени, чем решение исходной системы Ах = В. Это обстоятельство очень важно при необходимости решать систему уравнений многократно при одной и той же матрице А и разных векторах свободных членов В, что обычно имеет место при расчетах режимов работы электрических систем. Триангуляция же матрицы А проводится только один раз.
То есть элементы матрицы А – это, как правило, параметры схемы замещения эл. системы, В – вектор узловых токов или мощностей. Часто ставится задача определения параметров большего числа режимов при изменении токов или мощностей потребителей в узлах при неизменной схеме замещения. Если триангуляция матрицы А осуществлена, то можно быстро пользуясь системой (5) посчитать необходимые режимы, меняя в этой системе вектор В. Для каждого режима сначала решается треугольная подсистема LZ = В относительно Z последовательной подстановкой в уравнения подсистемы найденных значений неизвестных из предыдущих уравнений, начиная с Z 1
Z 1 = b 1
= b 2
= b 3
… … … … …
= bn
Значение Z 1 уже известно из первого уравнения, Z 2 определяется из второго уравнения подстановкой в него значения Z 1 и т.д. Определяются все Z. Затем аналогично решается вторая треугольная подсистема Wx = Z путем обратной подстановки, начиная с х n (аналогично обратному ходу методом Гаусса).
Метод Жордана-Гаусса
Метод Жордана-Гаусса называют еще методом Гаусса без обратного хода. Сущность его состоит в том, что на втором шаге переменная исключается из всех уравнений, кроме второго, на третьем шаге исключается также из всех уравнений, кроме третьего и т.д. После шагов в каждом уравнении остается одна неизвестная, т.е. получим решение системы таким образом, исключение переменных по методу Жордана-Гаусса эквивалентно преобразованию матрицы коэффициентов в единичную. Рассмотрим таблицу вычислений по методу Жордана-Гауса.
№ шага преобразований | A | C | B | ||
0 | а 11 | a 12 | … | a 1 n | b 1 |
а 21 | a 22 | … | a 2 n | b 2 | |
а 31 | a 32 | … | a 3 n | b 3 | |
… | … | … | … | … | |
а n 1 | an 2 | … | ann | bn | |
1 | 1 | … | |||
0 | … | ||||
0 | … | ||||
… | … | … | … | … | |
0 | … | ||||
… | … | … | … | … | … |
n | 1 | 0 | … | 0 | |
0 | 1 | … | 0 | ||
.. | .. | … | … | ||
0 | 0 | … | 1 |
Нахождение обратной матрицы методом Жордана-Гаусса
Рассмотрим вычислительную процедуру определителя А-1 на конкретном примере.
А∙А -1= Е
Пусть
А х 1 х 2 х 3 Е 1 Е 2 Е 3
х =
№ шага преобразования | х х 1 | х х 2 | х х 3 | Е 1 | Е 2 | Е 3 |
4 | 1 | 2 | 1 | 0 | 0 | |
0 | 2 | 8 | 4 | 0 | 1 | 0 |
1 | 2 | 4 | 0 | 0 | 1 | |
1 | 0,25 | 0,5 | 0,25 | 0 | 0 | |
1 | 0 | 7,5 | 3 | -0,5 | 1 | 0 |
0 | 1,75 | 3,5 | -0,25 | 0 | 1 | |
1 | 0 | 0,4 | 0,2667 | -0,0333 | 0 | |
2 | 0 | 1 | 0,4 | -0,0667 | 0,1333 | 0 |
0 | 0 | 2,8 | -0,1333 | -0,2333 | 1 | |
1 | 0 | 0 | 0,2857 | 0 | -0,1428 | |
3 | 0 | 1 | 0 | -0,0477 | 0,1666 | -0,1428 |
0 | 0 | 1 | -0,0476 | -0,0833 | 0,357 |
Проверка:
х =
По такой же вычислительной схеме можно вычислять значения переменных х 1, х 2, х 3, …, х при одной матрице коэффициента А и разных столбцах свободных членов В 1, В 2, В 3, …, В n.
Недостатки метода Гаусса (его недостатки и способы их устранения)
1. Если определитель матрицы А мал, то из-за ошибок округлений сильно снижается точность получения искомых корней.
2. Метод Гаусса требует, чтобы диагональные элементы в процессе исключения переменных не были равны нулю (т.к. строки делятся на них). Поэтому часть применяют метод Гаусса с выбором главного элемента, который заключается в следующем. При обращении в нуль элементов первого столбца из всей матрицы выбирается наибольший элемент и затем в нуль элементы второго столбца, рассматривается сокращенная матрица (путем вычеркивания в уже полученной системе первого уравнения) и в ней наибольший элемент переставляется на ее первое место и т.д.
3. Метод Гаусса требует большего объема памяти ЭВМ по сравнению с итерационными методами. Существуют различные приемы по сокращению занимаемой памяти ЭВМ при решении методом Гаусса электроэнергетических задач.
Например, необходимо решить систему
Yy ∙ Uy = Iy
при использовании метода узловых напряжений.
Перенумерация
- Экономичность памяти
- Сокращение времени счета
Y= | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
→ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
1 | + | + | + | 1 | + | + | + | 3 | ||||||||||||||||
2 | + | + | + | 2 | + | + | + | 6 | ||||||||||||||||
3 | + | + | 3 | + | + | + | 10 | |||||||||||||||||
4 | + | + | + | 4 | + | + | + | 14 | ||||||||||||||||
5 | + | + | 5 | + | + | 17 | ||||||||||||||||||
6 | + | + | + | 6 | + | + | + | + | + | 21 | ||||||||||||||
7 | + | + | + | 7 | + | + | + | + | 24 | |||||||||||||||
8 | + | + | + | + | 8 | + | + | 26 | ||||||||||||||||
9 | + | + | + | + | + | 9 | + | + | + | 27 | ||||||||||||||
10 | + | + | 10 | + | + | + |
(30 х 70)
Я=10 х 10=100 Я=52 (26)
В ряде случаев для нахождения корней системы линейных уравнений удобнее пользоваться приближенными итерационными методами (или методами последовательных приближений).
Метод простой итерации
Дана система линейных уравнений
Предположим, что диагональные элементы аii, i = 1- n не равны 0. В любом случае строки и столбцы можно поменять местами так, чтобы диагональные элементы не были равны 0. Разделим каждую строку на ее диагональный элемент: первую строку на , вторую строку на и т.д. Получим следующую систему
где ; .
В матричном виде эту систему можно записать
+ х = или .
Отсюда . (1)
Выполненная выше операция называется приведением системы линейных уравнений к виду, удобному для итераций.
Зададим произвольное начальное значение всех неизвестных корней системы (в матричном виде Х = Х (0))и подставим это значение в правую часть системы уравнений (1).
Вычислим ,
где Х (0) – начальное (исходное) приближение к корням системы уравнений,
Х (1) - первое приближение к корням системы уравнений.
Затем процесс повторим, подставив найденные на первой итерации значения Х = Х (1) в правую часть системы уравнений и вычислим вторые приближения корней
. И так далее.
Итерационный процесс повторяем до тех пор, пока на какой-нибудь к-й итерации не выполнится условие
<ε,
где ε – заданная точность определения корней системы.
Поскольку в вектор Х входит n неизвестных, то условие окончания итерационного процесса, должно быть выполнено для всех n корней.
Пример: дана система линейных уравнений
Приведем систему уравнений к виду, удобному для итерации
Зададим начальные приближения к корням равными нулю и точность расчета ε = 0,001.
Начнем итерационный процесс вычисления корней.
1 итерация
2 итерация
и т.д. до выполнения условий
Вычисления сведем в таблицу
№ итерации (к) | |||
0 | 0 | 0 | 0 |
1 | 2 | 3 | 5 |
2 | 1,92 | 3,19 | 5,04 |
3 | 1,9094 | 3,1944 | 5,0446 |
4 | 1,9092 | 3,1949 | 5,0448 |
Примечание: число цифр после запятой в вычисляемых приближениях к корням надо брать на один порядок больше чем в заданной точности ε.