Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы математического моделирования в микроэлектронике. Модели в форме СЛАУ. Учебное пособие
.pdf
Если все угловые миноры матрицы системы
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
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
