Алгоритм вычисления определителя матрицы



Определение 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!