Алгоритм вычисления определителя матрицы
Определение 2.2. Если все главные миноры матрицы А n-го порядка отличны от нуля, то есть
а11¹0, ¹0, …, detA¹0, (2.11)
то проведение процесса исключения без перестановок гарантируется.
Определение 2.3. Если для матрицы А условия (2.11) выполнены, то определитель этой матрицы равен произведению ведущих элементов в методе последовательного исключения Гаусса.
Пусть выполнены условия (2.11), тогда
detA=a11 , (2.12)
где a1j=a1j/a11, (j>1).
Дальше поступаем, как в методе Гаусса. Первую строку определителя (2.12) умножаем на а21 и вычитаем из второй строки. Затем первую строку определителя (2.12) умножаем на а31 и вычитаем из третьей строки и т.д. (такие преобразования не изменяют величины определителя). Тогда получим
detA=a11 =а11 .
Дальше повторим, тогда будем иметь
detA=a11 , (2.13)
где a2j= / , (j>2).
Дальше, первую строку определителя (2.13) умножаем на и вычитаем из второй строки. Затем первую строку определителя (2.13) умножаем на и вычитаем из третьей строки и т.д. Тогда получим
detA=a11 = a11 .
Повторим описанную выше процедуру, тогда получим
detA=a11 = a11
и т.д. пока не получим
detA=a11 .…. , (2.14)
где = - aк-1к , aк-1к= / ,
(k=2, 3,…,n).
Замечание 2.2. Если при detA¹0 условия (2.11) не выполнены, то реализация процесса исключения включает в себя перестановки соответствующих строк. При этом измениться только знак определителя, так как перестановка двух строк влечет перемену знака определителя. Для сохранения нужного знака определителя надо в формуле (2.11) приписывать нужный знак ведущим элементам, которые вычислялись с перестановкой строк.
|
|
Алгоритм вычисления обратной матрицы
Из линейной алгебры известно, что
АА-1=Е , (2.15)
где Е – единичная матрица, А-1 – обратная матрица.
Если обозначить i-й столбец обратной матрицы через yi= , а i-й столбец единичной матрицы через еi= , то (2.15) можно переписать в виде
АА-1=(Ау1, Ау2,…, Ауn)=(е1, е2,…, еn)=Е или
Аyi=ei , (i=1, 2, …, n).
Рассмотрим расширенную матрицу
. (2.16)
Процесс исключения (прямой ход) будем проводить для всех строк расширенной матрицы (2.16).
Пусть а11¹0, тогда первая строка матрицы (2.16) будет такой после деления на а11
(1, a12, a13,…, a1n, b11, b12,…, b1n ), (2.17)
где a1j=a1j/a11, (j>1), b1j=e1j/a11 , (j³1).
С помощью строки (2.17) исключим все элементы первого столбца ai1 матрицы (2.16) для которых i>1. В результате получим
, (2.18)
где =aij-ai1a1j , (i, j³2), =eij-ei1b1j , (i³2, j³1).
|
|
На следующем этапе разделим вторую строку матрицы (2.18) на ¹0, тогда эта строка примет вид
(0, 1, a23, a24,…, a2n, b21, b22,…, b2n ), (2.19)
где a2j= / , (j>2), b2j= / , (j³1).
Используя строку (2.19) исключим все элементы второго столбца при i>2 матрицы (2.18). Тогда получим
,
где = - a2j , (i, j³3), = - b2j , (i³3, j³1).
Продолжая, таким образом, окончательно получим
,
где akj= / , (j³k+1), bkj= / , (j³1),
= - akj , (i, j³k+1), = - bkj , (i³k+1, j³1).
На этом заканчивается процесс исключения – прямой ход. Дальше реализуется обратный ход, для этого решается система уравнений
= , (i=1, 2,…,n),
что позволяет найти все столбцы обратной матрицы А-1
у1= ,…, yn= .
Метод Халецкого
При решении системы уравнений Ax=b методом Халецкого [2-4, 10,11] используется «теорема о LU разложении» (см. §1.3) согласно которой можно написать
A=LU, (2.20)
где
L= , U= .
Тогда согласно формуле (2.20) элементы lij , uij определяются по формулам
(i³j>1). (2.21)
(2.22)
Далее искомый вектор х вычисляется решением двух систем уравнений
Ly=b,
Ux=y.
Так как матрицы L и U треугольные, эти системы решаются по формулам
|
|
(2.23)
где ain+1=bi , (i=1,…,n).
(2.24)
Формулы (2.21)-(2.24) составляют алгоритм метода.
Метод квадратных корней
Метод квадратных корней [2, 3, 11] применяется при решении системы уравнений
Ах=b, (2.25)
когда матрица А – симметричная, т.е. А=АТ , (aij=aji). При detA¹0 согласно «теореме о LU разложении» (см. §1.3) можно записать A=LU, где U=T, L=TT. Тогда
А=ТТ Т, (2.26)
где
Т= , ТТ= .
Расписывая, формулу (2.26) получим формулы для вычисления tij
Отсюда находим
(2.27)
Система линейных алгебраических уравнений (2.25) имеет единственное решение, если tii¹0 (i=1,…,n), так как detA=(detT)2=(t11.t22. … .tnn)2¹0.
Используя, формулу (2.26) систему уравнений (2.25) можно переписать в виде двух систем уравнений
ТТy=b, (2.28)
Тх=у. (2.29)
Расписывая, систему уравнений (2.28) получим
|
|
(2.30)
Расписывая, систему уравнений (2.29) получим
(2.31)
Из формулы (2.30) находим
(2.32)
Из формул (2.31) определяем неизвестные
(2.33)
Формулы (2.27), (2.32) и (2.33) составляют алгоритм метода квадратных корней.
Метод прогонки
Метод прогонки [9, 11] предназначен для решения системы линейных уравнений
Ax=b, (2.34)
когда матрица А – трехдиагональная и ненулевые элементы определяются следующим образом: aij¹0, если j=i-1, j=i, j=i+1.
Введем обозначения
aii-1=-ai , aii=ci , aii+1=-di .
Тогда система уравнений (2.34) запишется в виде
(2.35)
Решение (2.35) будем искать в виде
xi=aixi+1+bi , (2.36)
где ai, bi–неизвестные прогоночные коэффициенты.Подставив, найденные из (2.36) xi-1 в среднее уравнение из системы (2.35), получим для 2£i£n-1 :
(2.37)
Из сравнения (2.36) и (2.37) следует, что
(2.38)
Зная a1,b1 по формулам (2.38) можно найти все ai, bi для i=2, 3,…, n, то есть провести прямой ход прогонки.
Если удастся найти xn , то по формуле (2.36) при известных ai, bi можно вычислить неизвестные xi для i=n-1, n-2,…, 1, то есть провести обратный ход прогонки. Поэтому дальше определяем a1,b1 и xn.
Из первого уравнения системы (2.35) найдем
чтовместе с уравнение
х1=a1х2+b1
из (2.36) при i=1 дает
(2.39)
Далее, из последнего уравнения системы (2.35) и из (2.36) при i=n-1 имеем систему уравнений
откуда находим
(2.40)
Таким образом, алгоритм метода прогонки при решении СЛАУ (2.35) заключается в следующем:
1) по формулам (2.39) и (2.38) вычисляются коэффициенты ai, bi для i=1, 2,…,n (прямой ход);
2) по формулам (2.40) и (2.36) вычисляются неизвестные xi для i=n-1, n-2,…, 1 (обратный ход).
Метод прогонки реализуется, если нет деления на нуль в формулах (2.38)-(2.40). Для выполнения этого условия достаточно, чтобы detA¹0.
Так как при использовании метода прогонки заранее неизвестен detA, тонеобходим простой способ оценки устойчивости метода.
Достаточные условия устойчивости метода прогонки. Для устойчивости метода прогонки достаточно выполнение неравенств:
Рассмотренный здесь вариант метода прогонки называется правой прогонкой. Название метода следует из того, что при обратном ходе неизвестные xi вычисляются справа налево, т.е. сначала xn , xn-1 и т.д.
Существует метод левой прогонки, в котором неизвестные xi вычисляются слева направо, т.е. сначала х1 , х2 и так далее.
Комбинация левой и правой прогонок дает метод встречных прогонок.
Дата добавления: 2018-04-15; просмотров: 270; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!