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

Численные методы. В 2 частях. Ч.2. Учебное пособие

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Псевдообратную матрицу определим как [5]

AUΣ VVΣ U
mn mr rr r n nr rr rm
 
T1T
. (114)
Тогда решение СЛАУ (113) можно найти по формуле
1T
АЛГОРИТМ НА БАЗЕ ОРТОГОНАЛЬНЫХ ПРЕОБРАЗОВАНИЙ
()
xVΣ Uf
. (115)
Для построения SVD используют двухэтапный алгоритм. На первом
шаге матрицу ниями Хаусхолдера за (k – 1)-итерацию,
A приводят к двухдиагональному виду преобразова-
mn
min ( , )kmn
(1)(2)(1)(1)(2)(1)
kk
      
матрицы Хаусхолдера, матрицы Хаусхолдера,
обнуляющие столбцы обнуляющие строки
UUUAVVV
h
22
... 0
h
mn
h
. (116)
1,
,
mn
hh

11 12

0...0
Если
, то требуется умножение слева на матрицу Хаусхолдера для зану-
mn
, то необходимо дополнительное умножение справа, если
mn


00...


00...

ления оставшихся ненулевых компонент.
Второй этап алгоритма – этап «преследования» – заключается в по-
следовательном занулении недиагональных элементов преобразовани­ями на базе вращений Гивенса
( ) (1) ( 1) (1) (1) ( 1) (1) ( )
sk k s
 
... ... ... ...
UU U U AVV VV
   
матрицы Гивенса матрицы Хаусхолдера, матрицы Хаусхолдера, матрицы Гивенса
для нижней диагонали обнуляющие столбцы обнуляющие строки для вер
diag σ ,..., σ
.
1
r
Сначала обнуляется
элемент
h . Алгоритм повторяется для него. Следующие итерации
21
h . В результате становится ненулевым
12
71
 
хней диагонали
выполняются для
()m
туру матрицы
() 1m
A до тех пор, пока не будет получена искомая диагональная
рицы матрица
A . Алгоритм «преследования» повторяется для мат-
Σ
. При этом ортогональные матрицы U и V определяются как
так, чтобы сохранить двухдиагональную струк-
,1kkh
произведение матриц ортогональных преобразований, обнуляющих элементы столбцов и строк на каждом этапе алгоритма построения SVD соответственно. Алгоритм приведён в [4, с. 387].
АЛГОРИТМ С ИСЧЕРПЫВАНИЕМ
T
...
j
m
1
Пусть
rkr A
2
u
jk
A и
. Заметим, что 0
n
2
,
1
j
v
kj
1
рует, что векторы рами для матриц
mnR
1
u и 1v будут доминирующими собственными векто-
1
AA и TAA соответственно.
AUΣV , тогда
 при
ij
и
  . Последнее условие гаранти-
12
T
Алгоритм с исчерпыванием структурно
щим образом при
Выбрать строку
1.
()
k

Если
2.
A

(0)
AA,
vA
ε
,
i
(0)
U0,
() ( 1)
kk
max
()
k

A


,
i
, то SVD построено. Здесь ε – априорно задан-
min ,rmn . Потребуем, чтобы
r
(0)
V0 и
 
r
auv

ij ik k kj ij
1
k
1,kr
выглядит следую-
(0)
Σ 0 .
,
i
, где
A

i
,
2
ная точность.
Вычислять до сходимости к доминирующему собственному век-
3.
тору
(1) ()T
kk
u
()
k
()
Av
() ()T
kk
()
vv
()
k
v
,
()T ( 1)
kk
()
uA
()T ()
kk
()
uu
.
, где
n
2
.
a
ij
j
1
72
Замечание. Критерием останова является неизменность нормы
R
R
вектор-строки
4.

5.
U
,
kk
() ( 1)
kk
AA U V
ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ SVD
()k
v или вектор-столбца
()
k
u
,
V

()
u
 
kk
,,

kk
()
k
v
,
()
v
k
()k
u .
и
uv
,
() ()kk
k
. Перейти на шаг 1.
1kk
.
SVD можно интерпретировать как последовательность трёх линей-
ных преобразований: поворот (умножение на ортогональную мат-
T
V
рицу ние на ортогональную матрицу
тонормированный базис матрицы
странстве нирования имеют место равенства
), растяжение (умножение на матрицу Σ) и поворот (умноже-
).
U
Из определения SVD следует, что столбцы матрицы
, , ...,
uu u в пространстве
12
образуют ортонормированный базис
V
n
. По свойству ортогональных матриц и операции транспо-
m
и
AV UΣ
образуют ор-
U
m
, , ...,
vv v в про-
12
T
AU VΣ
, а столбцы
n
, которые
можно записать в виде

Av
mnR
i
0, 1, ,
где
A , r – ранг матрицы
,1,,
ir
u
ii
ir n

A
и
Au
.

,1,,
ir
v
T
ii
i
0, 1, ,
ir m

(117)
Таким образом, SVD порождает четыре фундаментальных про-
странства.
Область значений оператора с матрицей A обозначается как
1.
Range( ) span , , ...,
2.
span , , ...,
vv v.
3.
Range( ) span , , ...,
Auuu.
12
r
Ядро оператора с матрицей A обозначается как Ker( ) A
12
rr n
Область значений оператора с матрицей
T
Avvv.

12
r
73
T
A обозначается как
4. Ядро оператора с матрицей
span , , ...,
uu u.
12
rr m
T
Вывод.
к
Ker( )A , а Range( )A – ортогональное дополнение к
Range( )A
совпадает с ортогональным дополнением
Пример. Построим SVD для матрицы
T
A обозначается как
21

A

12

Решение
54

T
Определим
1.
Найдём собственные значения матрицы
2.
Из
T
det ( ) 0  AEA
Матрица
3.
AA

45

, что
22R
Σ – сингулярные числа матрицы
T
и
9 и
1
54

AA

45

1.
2
ратные корни из собственных значений матриц
30

Σ
чаем
 
4.
Столбцы матрицы
A
рицы
(или собственные векторы матрицы
ный вектор для
54


1

45

Найдём собственный вектор для
T
()  AA E u 0
u
2
22
1
(1, 1)

2
, где
  .
01
uu

11
1
12
9:
1
44



44

T
. Получаем
...
mmR
U – левые сингулярные векторы мат-
54

 
45

U
r
T
111
, откуда
0
2

2
11

1

11
2

AA ). Найдём собствен-
или
,AA u u
u
1
1:
2


uu

22

.
T
Ker( ) A
T
Ker ( )A
.
.
.
T
AA или TAA.
A
(или квад-
T
AA и TAA ). Полу-
T
T
()  AA E u 0
1
(1, 1)
11
T
.
2
T
222
,AA u u
или
44
откуда
0,
44
74
T
5. По свойству SVD имеет место равенство
1

1

2

T
i
1
. Получаем
1
v
1

vAu
ii
Проверка:

AUΣV
211 1
 
11
 
121 1
32 2
 
11

1
V


11
2

1
T
2
.
11 3011 21
 

110111 12

и
v
AU VΣ
, откуда
21 1

1

2

12 1
2

.
Замечание. Процедуры поиска собственных значений и векторов
T
матрицы
AA можно совместить, если для этих целей использовать ор-
тогональные преобразования.
T
Так как
AA – симметричная матрица, то по теореме Шура суще-
ствует ортогональное преобразование подобия, диагонализующее её,
TT
т. е.
берем
DUAAU
Из
det ( ) 0  AA E
μ 9  , тогда
1
Гивенса для обнуления компоненты
и
sin 1 / 2 имеем
RQ-итерация даёт
Столбцы матрицы
11


1
U

11
2

. Применим QR-итерации со сдвигом по Уилкинсону.
T
, что

AAA E
9 и
1
T
μ
1. В качестве сдвига вы-
2
44
 

44

. Выполним поворот
4. При cos 1 / 2
11 44 88
 

11
T

GA
80
T
GAG


00

– собственные векторы для
G
и по свойству SVD получаем


11 4 4 0 0
22

10
T

DGAG E
и
V

μ

09

T
AA . Значит,
11


1

11
2

.
.
С помощью SVD можно реализовать фильтрацию и сжатие данных,
которые задаются в виде матрицы. Рассмотрим зашумлённое пиксель­ное изображение.
В каждой ячейке число означает уровень интенсивности цвета (от 0
до 1). Значения, лежащие между 0 и 1, можно трактовать как помехи.
.
75
Из матрицы сингулярных чисел Σ отбрасывают те строки и
столбцы, которые оказались меньше априорно заданного порога ε.
Одно из применений SVD – реализация алгоритмов обучения нейрон-
ных сетей.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ ПО ТЕМЕ
«СОБСТВЕННЫЕ ЗНАЧЕНИЯ И SVD»
Изучить и реализовать алгоритмы решения полной проблемы соб-
ственных значений и SVD-разложения матриц на базе методов ортого­нальных преобразований.
Разработать программу для вычисления собственных значений
1.
нормальных матриц на базе QR-итераций со сдвигами.
Для указанных матриц построить круги Гершгорина, вычислить
2.
собственные значения, вычислить число обусловленности
1
AA
2
AA
а)
Α
3.
Разработать программу для SVD вещественных матриц на базе
и сравнить с числом обусловленности Cond ( )
2
1
.
301
21
 
41 1
 
14 1

 
114


; б)
33412
 
Α
4
0151

11 45
 

5
21519
.
Cond ( ) A
2
A
двухэтапного алгоритма и алгоритма с исчерпыванием.
В двухэтапном алгоритме бидиагонализацию выполнять на базе
4.
отражений Хаусхолдера, приведение к диагональной форме – с помо­щью метода вращений Гивенса.
Найти решение системы уравнений с помощью SVD
5.
2 1 2 1
 
0 3 1 4
 
1 1 0 0

2 0 1 1

 
x
,
76
в отчёте привести матрицы T, , U Σ V и сравнить полученный результат с решением
6.
Excel-файл содержит изображение в виде пиксельной матрицы
*T
(1, 1, 1)x
.
Интенсивность цвета задаётся вещественным числом типа
double.
С помощью SVD решить задачу о сжатии данных. Экспериментально определить, сколько байт памяти можно сэкономить при условии, что текст теряет не более 20 % качества отображения.
Пояснение. Пусть
ствующие тексту,
a
ij
a – элементы исходной матрицы, соответ-
ij
– элементы матрицы после SVD. Текст теряет не
более 20 % качества отображения, если
aa
ij ij
max 0, 2
,
ij
a
ij
77
.
R
R
M
y
9. РЕШЕНИЕ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Системой нелинейных уравнений (СНУ) будем называть
( ) ( ), ( ), ..., ( )
где
ff fFx x x x

12
( , , ..., )
xx x F0, (118)
12
n
T
и :
n
nn
RRF – нелинейное отобра-
жение.
Если систему (118) удастся записать в виде
где
nn
:
Rφ
– нелинейное отображение, то решение задачи (118)
, (119)
()x φ x
есть неподвижная точка данного отображения.
Итерационный процесс строится следующим образом.
Метод простой итерации (МПИ) для СНУ
1.
Выбрать начальное приближение
(1) ()
2.
Вычислить
kk
x φ x
()
, k = 0, 1, 2, …
(0)
x0
Итерационный процесс продолжается до тех пор, пока не выпол-
нено равенство (118), или на очередной итерации величина
(1) () ()
kk k
δ
xx x
22
не станет меньше некоторой априорно за-
данной точности ε.
МПИ обладает плохой сходимостью, поэтому на
должны быть наложены ограничения: если ство и
, что () ()φ x φ yxy
1 
R – замкнутое множе-
,Mx
n
, тогда φ имеет в M
nn
:
Rφ
78
неподвижную точку x* и МПИ сходится при любом начальном прибли-
(0)
жении
x [6].
Замечание. Сформулированные ограничения эквивалентны
условию
Предположим, что каждая компонента векторной функции
(), (),..., ()
ff f xx x

12
1φ .
()Fx
T
n
является элементом класса
2
(),C
где Ω –
ограниченная область. Тогда можно записать ряд Тейлора в окрестность
(0)
точки
x :
() ( ) ( )( ) o Fx Fx Fx x x x x
(0) (0) (0) (0)

. (120)
Подставим (120) в (118) и запишем
1
(0) (0) (0)

x x Fx Fx

() ()

. (121)
Итерационный процесс в методе Ньютона организуется следующим
образом.
Метод Ньютона для СНУ
1.
Выбрать начальное приближение
kk k k
2.
Вычислить
(1) () () ()

xx FxFx
 
(0)
x
1
() ()
, k = 1, 2…
Итерационный процесс продолжается до тех пор, пока не выпол-
нено равенство (118), или на очередной итерации величина
(1) () ()
kk k
xx x
22
не станет меньше некоторой априорно задан-
δ
ной точности ε.
Замечание. На каждой итерации алгоритма метода Ньютона тре-
()
k
буется обращение матрицы Якоби
Fx
. Если матрица Якоби явля-
()
ется прямоугольной, то строят псевдообратную матрицу.
Замечание. Существуют различные вариации метода Ньютона
для решения СНУ с точки зрения вычисления и использования обратной матрицы Якоби.
79
Можно модифицировать метод Ньютона следующим образом.
Метод Ньютона для СНУ
1.
Выбрать начальное приближение
() () ()
2.
3.
Решить
Вычислить
kk k
() ()
Fx x Fx
(1) () ()
kk k
xx x
β
(0)
x
() ( 1) ()kk k
 xx x
, где
, k = 1, 2, …
Параметр релаксации β подбирается так, чтобы величина относи-
тельной ошибки
kk k
δ
xx x
22
на каждой итерации умень-
(1) () ()
шалась. Идея заключается в следующем: выбрать β = 1 и, если вели­чина ∆ не уменьшается, положить β = β / 2. В этом случае возможен ава­рийный выход, когда параметр β < ε.
n
2
Рассмотрим функцию
() ()
Gx x
i
1
. Такая функция достигает
f
i
своего минимума в точке, которая является решением задачи (118), по­скольку
() 0Gx
минимума функции
. Поэтому решение задачи (118) эквивалентно поиску
.
()Gx
Простейший градиентный метод строится следующим образом.
Градиентный метод спуска для СНУ
1.
Выбрать начальное приближение
() ()
2.
3.
k

Вычислить
arg min ( )
 Gx Gx
kk

0
(1) () ()
kk k
xx Gx
k
(0)
x
()
, k = 1, 2, …
Итерационный процесс продолжается до тех пор, пока не выпол-
нено равенство (118), или на очередной итерации величина
(1) () ()
kk k
xx x
22
не станет меньше некоторой априорно задан-
ной точности ε.
Пример. Решить систему уравнений с точностью
xy
ye xe 
0, 0
80
.
ε 0,01
:
δ
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]