Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы математического моделирования в микроэлектронике. Модели в форме СЛАУ. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Если все угловые миноры матрицы системы
aa
, , det
aA
  
11 11 2
11 12
aa
21 22
n
не равны нулю, то алгоритм метода Гаусса является всегда реализуе­мым [2, с. 439].
Упражнение 3.7. Для матрицы 2 × 2 проверьте верность
этого утверждения.
Так же без доказательства примем еще два практически важных до­статочных условия сходимости метода Гаусса, которые вытекают из сформулированного выше утверждения:
матрица системы A должна быть симметричной и положительно
определенной, т. е.
AA
T
и для любого

0 ( , ) 0xAxx
, так как
в этом случае должен выполняться критерий Сильвестра для A > 0;
матрица системы A должна обладать свойством строго диагональ-
n
ного преобладания, т. е.
aai

ii i j
jji
1,

Как показано в [3, с. 17],
.
СЛАУ со строгим диагональным преобладанием всегда разрешима, притом единственным образом, а определитель ее матрицы системы от­личен от нуля.
Упражнение 3.8 (*). Что такое критерий Сильвестра и как он
формулируется для отрицательно определенных матриц A < 0?
Приведите численный пример такой матрицы. Если матрица
СЛАУ будет отрицательно определенной, то будет ли метод
Гаусса гарантировать получение решения?
3.4.2. ЭФФЕКТИВНОСТЬ МЕТОДА ГАУССА
Очень важным является вопрос об эффективности метода Гаусса. Для ответа на него необходимо подсчитать количество арифметиче­ских операций с плавающей точкой, которые требуются для его реа­лизации.
71
При точном выполнении подсчета потребуются два математических равенства, которые можно обосновать методом математической индук­ции:
n
 
 
 
Упражнение 3.9. Докажите равенства (3.20).

() ,
nk
k
1
n

() .
nk
k
1
(1)
nn
2

(1)(21)
nn n
2
(3.20)
6
Результаты подсчета всех операций в процессе прямого хода по формулам (3.17) представим в виде табл. 3.2 и 3.3. Отметим, что эти формулы содержат в себе три вложенных цикла по индексам i, j, k. Вна­чале вычислим количество операций, которые необходимо выполнить для приведения матрицы A к верхней треугольной матрице U. Эти дан­ные приведены
в табл. 3.2.
Далее с учетом преобразований правой части определим общее число операций при прямом ходе в методе Гаусса, которые представим в табл. 3.3.
Для обратного хода результаты показаны в табл. 3.4.
Таблица 3.2
Общее число операций при приведении A к U
Шаг k
1 (n − 1)2 (n − 1)2 n − 1
2 (n − 2)2 (n − 2)2 n − 2
… … … …
n − 1 1 1 1
Всего
Количество
сложений-вычитаний
(1)(21)
nn n
6
Количество
умножений
(1)(21)
nn n
6
72
Количество
делений
(1)
nn
2
Таблица 3.3
Общее число операций при прямом ходе в методе Гаусса
Операция Величины m
Умножение
Деление
Сложение и вычитание
Всего
Оценка
Общее число операций при обратном ходе в методе Гаусса
Операция Количество действий
Умножение
(k)
, a
b
ik
ij
(1)(21)
nn n
6
(1)
nn
2
(1)(21)
nn n
6
(1)(21) (1)
nn n nn
32
2
32
nOn
3
()
(1)
nn
2
(k)
i
(1)
nn
2
n
(1)
nn
2
n
()On
2
2
Таблица 3.4
Деление n
(1)
Сложение и вычитание
nn
2
Всего n2
Оценка
()On
2
Из табл. 3.3 и 3.4 следует, что больше всего операций затрачива­ется на прямом ходе, причем их оценка составляет порядка
73
(2 / 3) .n
3
Это число совершенно несравнимо с величиной !,nn определяющей количество операций для вычисления определителя в методе Крамера.
Если принять, что средняя производительность коммерческого ПК на процессоре Intel Core i7 равна m
= 250 гигафлопс
(2,5 10
в секунду), то затраты машинного времени на решение СЛАУ порядка
11
операций
n
составят время, оценки которого представлены в табл. 3.5.
Таблица 3.5
Оценки общего числа операций
и машинного времени в методе Гаусса
n 10 100 500 1000 10000 28,2 · 10
секунд
5
~8,3 · 107 ~6,7 · 108 ~6,7 · 1011 ~1,5 · 1013
~0,3 милли
секунд
~2,7 милли-
секунд
~2,7 се-
кунды
~1 минута
NПК ~667 ~6,7 · 10
~2,7 наносе-
tПК
кунд
~2,7 микро-
3
Как следует из табл. 3.5, время расчета методом Гаусса СЛАУ по-
4
n =
10
составляет ~2,7 секунды, что вполне приемлемо для прак-
рядка тики. Понятно, что реальное время может быть в несколько раз больше,
так как не все операции входят в оценку
(2 / 3)n
3
и будут еще прилич-
ные «накладные расходы», связанные с хранением данных и пересыл­кой их в память и из памяти. Однако это увеличение времени все равно не будет значительным и общее реальное время в этом случае останется в пределах нескольких секунд.
3.4.3. МАТРИЧНАЯ ИНТЕРПРЕТАЦИЯ МЕТОДА ГАУССА И ФАКТОРИЗАЦИЯ МАТРИЦЫ СИСТЕМЫ
Описанный выше циклический процесс прямого хода метода исклю­чений Гаусса может быть записан на языке матриц как последователь­ное умножение модифицированных матрицы системы и правых частей СЛАУ на нижние треугольные матрицы
MM M
12 1
личаются от единичной матрицы наличием в нус
где
.ikm Сами множители рассчитываются из формул исключения (3.17),
k = 1, 2, …, n – 1; i = k + 1, …, n:
74
,,, ,
k-столбце множителей ми-
которые от-
n
A
      
100 0 100 0
   
   

12
   
 

 
10 0 0 1 0 0
m
21
01 0 0 1 0, , ...
mmMM
31 32
 
00 1 0 0 1
mm
12
nn
  
00

     
.. .
M
n
  
100 0 0
 
010 0 0
 

1

000 1 0
 
000 1

 
 
m
,1
nn
При этом получается следующая цепочка уравнений:
А xb A MA b Mb

 
(2) (2) (2) (1) (2) (1)
А xb A MA b Mb
   
 
 

() () () ( 1) () ( 1)
kk k k k k
А xb A MA b Mb

,
11

,
22

,

kk

(1) (1) (1) (1)
   


(1) (1)
nn
А xb A
( 1) ( 2) ( 1) ( 2)
nnnn

MA b Mb

11
nn


(3.21)
(3.22)
.
1()nA
Матрица
– верхняя треугольная матрица, которую обозначим
как U (от англ. upper). Тогда из (3.22) следует, что
UM M MMA

12 21
nn

... .
(3.23)
Разрешая (3.23) относительно матрицы, получаем
11 1 1
  
MM M M U
  
12
21
nn

.
(3.24)
75
Замечательное свойство матриц
M
,,,
MM M
состоит в том, что
12 1
n
их обратные матрицы получаются из исходных путем замены знаков у множителей в k-столбце:
  

12
   
1000 1000
  
11


 
 
10 0 0 1 0 0
m
21
01 0 0 1 0, , ...
mmMM
31 32
    
00 1 0 0 1
nn
12
     
... .
M
 
Упражнение 3.10. Проверьте равенства (3.25) для случая мат-
риц 3 × 3.
  
00

(3.25)
100 0 0
 
010 0 0

1

  
n
1

000 1 0
 
000 1

 
 
m
nn
,1
Без доказательства примем еще одно утверждение (см. например,
[1, стр. 156]).
11

MM
Произведение матриц
приводит к нижней треугольной
1kk
матрице, которая отличается от единичной наличием поддиагональных
1
элементов матриц
k
и
1
M
на их обычных местах, например:
1k
100 0
 
m

11
MM

12
 
mm
 

mm

Упражнение 3.11. Докажите равенство (3.26).
10 0
21
31 32

12
nn
76
 
10
.
(3.26)
0
01
Тогда все произведение обратных матриц будет равно
M
A
M
M
100 0
 
m
11 1
 
MM L

 
mm
n
 
 
10 0
21
31 3212 1

nn n
123
 
10,
(3.27)
0
1
где обозначение нижней треугольной матрицы L взято от англ. low. С учетом новой матрицы L равенство (3.24) запишется как
,
LU (3.28)
т. е. матрица А факторизуется (раскладывается на произведение): ниж- ней треугольной матрицы L и верней треугольной матрицы U, причем диагональ матрицы L состоит из единиц.
Без доказательства сформулируем условие, когда факторизация всегда возможна и единственна. Для этого необходимо и доста­точно, чтобы все угловые миниоры матрицы А были не равны нулю [2, с. 454].
Пример. Факторизация матрицы СЛАУ 3 × 3. Вновь рассмотрим
разобранный выше пример со СЛАУ

xxx
20,
123

xxx
2233,
123
xx
 
32.
12
Очевидно, что матрицы из множителей на первом и втором шаге
и
равны
2
100 1 0 0
   
MM
210, 0 1 0.

12
   
101 0 0,51
 
77
1
Тогда их обратные матрицы будут
100 1 0 0
   
11


MM
2 1 0, 0 1 0.
12
   
101 0 0,51
 
Произведение обратных даст нижнюю треугольную матрицу L
100

11

LM M

12

210.
 
10,51

Верхнюю треугольную матрицу выпишем из решенного выше при-
мера:
12 1
 
021.
U

 
000,5

Таким образом, факторизованная матрица A раскладывается в про-
изведение двух матриц
100 121
 
ALU
  
210 021.
 
1 0,5 1 0 0 0,5

В завершение проверим необходимое и достаточное условие факто-
ризации. Первый угловой минор Δ
= 1.
1
Второй и третий миноры равны
121
12
   
23
22
2, 2 2 3 1,
130

т. е. условие факторизации выполняется.
78
Упражнение 3.12. Прямыми перемножениями покажите,
А
А
A
что в разобранном примере
 
11 11
 
11 1 1 2 2 2 2

, ,MM M M EMM M M E

11
12
, .LM M ALU
Упражнение 3.13. Для рассмотренного примера проверьте
следующие равенства:
(1) (1) (1) (1)
 
xb А MA b Mb
(2) (2) (2) (1) (2) (1)

xb А M А bMb
, , ,
, , .

11

22
Полученный результат факторизации позволяет описать алгоритм ме-
тода исключения Гаусса в компактной трехшаговой матричной форме:
LU
1) факторизовать матрицу
2) решить СЛАУ с нижней треугольной матрицей
3) решить СЛАУ с верхней треугольной матрицей
;
Ly b

Ux y
;
.
В англоязычной литературе этот алгоритм получил название метод
Дулиттла (англ. Doolittle LU method).
Заметим, что основные вычислительные затраты в компактном ме-
тоде приходятся на первый шаг факторизации и равны оценке O(n
3
). Ре-
шение треугольных систем 2 и 3 фактически эквивалентно процедуре обратного хода в методе Гаусса. Поэтому для них оценка операций со­ставляет O(n
2
), что значительно меньше, чем шаг 1.
Данная форма оказывается весьма полезной как теоретическая ос­нова метода Гаусса, на базе которой удобно рассматривать некоторые другие варианты исключений Гаусса, такие как метод Холецкого (или метод квадратного корня) для симметричных положительно опреде­ленных плотных матриц, методы прогонки для сильно разряженных матриц и т. д.
Пример. Решение СЛАУ компактным методом Дулиттла. Вновь
рассмотрим наш учебный пример СЛАУ:
20,
xxx

123
2233,
xxx

123
 
32.
xx
 
12
79
Как было установлено выше, треугольные матрицы L и U при фак­торизации А имеют вид
100 121
 
210, 021.
LU

 
1 0,5 1 0 0 0,5

Выполним теперь шаги 2 и 3. Очевидно, что шаг 2 состоит в реше­нии нижней треугольной системы
Ly b y

  
210 3.
 
10,51 2

100 0

Или в покомпонентной записи
000,
yy y
  
123
203,
yy y

12 3
10,5 2.
yyy
   
123
Тогда решение этой системы есть
На третьем шаге решаем СЛАУ
12 1 0

Ux y x
 

021 3.
 
000,5 0,5

Или в покомпонентной записи
20,
xxx

123
02 3,
xxx
  
123
00 0,50,5.
xx x
 
12 3
y

1

2
 
y
3

(0; 3; 0,5)y
x

1

2
 
x
3

T
.
Окончательно обратным ходом получаем
80
(1; 1; 1)x 
T
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]