Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. В 2 частях. Ч.2. Учебное пособие
.pdf
ПРЕОБРАЗОВАНИЕ ХАУСХОЛДЕРА
R
R
R
pxp
Рассмотрим нормированный вектор
n
стве
существует (1)n -мерная гиперплоскость p, к которой орто-
n
, 1p . В простран-
p
гонален вектор p,
(, ) 0
где
– вектор, принадлежащий этой гиперплоскости.
x можно записать следующее разложение:
Для
n
xpxp, (, )
где (, )
p
Векторы
x и p коллинеарные, вектор N
(, ) (, ) (, )(, ) (, ) (, ) 0
Значит,
xx x симметричен вектору x относительно данной гиперплоско-
xx – проекция вектора x на гиперплоскость p, вектор
2
p
xx
N
p
px px px pр px px
N
p
p
xx x, (25)
p , (24)
N
p
.
x , поскольку
p
2
p
.
2
p
2
2
сти (рис. 1).
Рис. 1. Симметрия относительно
гиперплоскости
(, ) ( , )
Заметим, что
тогда новый отражённый вектор
xxpxp xpppp
p
11
p
Т T
(2 )
xEppx
, где
T
. Линейный оператор
T
– матрица,
pp

отражения Хаусхолдера с симметричной матрицей
R
x
y
x
p
ется ортогональным.
Пусть
xp, тогда
x и p коллинеарные, т. е.
(2 ) 2 Hx E pp x x p p x x
γxp
TT
0
,
γR
, то
T
явля-
2HE pp
. Если векторы
(γ )( 2 )γγ2( , ) γγ Hp E pp p p ppp p x
T
.
Геометрическое свойство преобразования Хаусхолдера: ортогональные векторы переводятся сами в себя, коллинеарные – в противоположные.
Основная задача, для решения которой применяется метод отражений Хаусхолдера, состоит в преобразовании вектора
n
x в другой
вектор с заранее заданным числом нулевых компонент, начиная с некоторой позиции:
( , , ..., ) , , ..., , 0, ..., 0
xx x xx x
12 12
T
nk
Пусть требуется преобразовать вектор
( ,0,..., 0)yyye
111
T
, где
(1,0, ..., 0)e
1
( , , ..., )
T
. Заметим, что
T
.
xx
12
T
в вектор
n
yyx
1
22
так как преобразование Хаусхолдера ортогональное и сохраняет длину
вектора. Тогда
нием Хаусхолдера
где
px xe
y x
1
. При выборе знака желательно исключить вычитание,
1
2
,
yxe
2
xe Hx E ppx
1
2
. Воспользуемся преобразова-
1
2
(2 )
T
, откуда
/ppp
2
чтобы избежать накопления вычислительной погрешности. Имеем
β, ,...,
xxp
12
T
, где
n
β sign ( )xx
.
1
2
Если требуется обнулить координаты вектора с некоторой позиции
i, то матрица преобразования Хаусхолдера примет вид
E0
(1)(1)
ii
H
0H
(1)(1)
ni ni
. (26)
,
,
Замечание. Матрицу преобразования Хаусхолдера
H не хранят.
Можно заметить, что [2]
ij
δ 2
ij i j
12
pH
, (27)

где δij – символ Кронекера. Все операции произведения должны быть
x
x
ξ
R
R
R
R
реализованы с учётом соотношения (27).
Пример. Рассмотрим вектор
нулить
. Рассуждаем следующим образом:
3
(1, 3, 4)x
T
, в котором требуется об-
– первый элемент, от-
2
личный от 0 и за которым требуется обнулить вектор, значит, матрица
1
0
Хаусхолдера имеет вид
По алгоритму
(ξβ,ξ )(8,4) p
12
Находим
Результат:
Проверка:
HE pp
β sign( ) 5x ξ
и
2
xHx
22
ОРТОГОНАЛИЗАЦИЯ ГРАМА–ШМИДТА
H
0H
2
/(2,1)/5ppp
10 42 0,6 0,8
T
01 21 0,8 0,6
10 0 1 1
00,60,83 5
00,80,64 0
xx
26
, см. формулу (26).
22
2
, где (3, 4)
T
.
2
2
5
– нормы совпадают.
.
. Значит,
.
Постановка задачи ортогонализации: на базе множества векторов
m
i
1
i
n
построить ортонормальную систему
x
m
i
1
i
n
q
таким об-
разом, чтобы линейные оболочки, натянутые на эти наборы векторов,
совпадали:
span , , ..., span , , ...,
12 12
где (, )δ
Пусть
m
i
i
qq q. Поскольку система векторов
12
рованная,
qq .
ij ij
X и Q – матрицы, составленные из вектор-столбцов
n
x
1
, , ...,
и
m
q
i
1
i
m
n
, т. е.
Q – ортогональная матрица.
xx x qq q ,
mm
Xxxx,
nm m
13
, , ...,
12
q
m
ортонорми-
i
1
i
nm
Q

Процедура ортогонализации Грама–Шмидта строится следующим
q
q
q
q
q
q
образом. Вычислим первый вектор в виде
/rqx ,
1111
r x
11 1
Рис. 2. Процедура Грама–Шмидта в R
Для построения вектора
r
вектор
x
22121
(, )(, ) (,)0r qq xq qq , откуда
21 21 1211
Далее для
где
r выбирается из условия
kk
и определим по правилу вычитания векторов
12 1
r
. Так как
k = 3, …, m обобщим полученный результат
rr
воспользуемся рис. 2. Введём новый
2
должен быть ортогональным к
1
11k
qx q
kk k k ik i
i
1kq
2
сти векторов. Умножим (29) скалярно на
1
k
qq q qq xq qq
kkkj kj ikij kj jkjj
x
,, ,(),),(
rrr
1
i
. (28)
2
2
, то
2
r, xq.
12 2 1
, (29)
,
r – из условия ортогонально-
ik
q :
j
, (30)
2
1
q
j
2
откуда
(, )
r xq . (31)
jk k j
Процедура продолжается до тех пор, пока не будут построены все
m
векторы
или очередное
q
i
1
i
r обнулится. Алгоритм имеет вид
kk
14

Классический алгоритм Модифицированный алгоритм
j
j
j
j
j
R
R
Для j от 1 до m
Для i от 1 до
(, )
r xq
ij j i
qx q
jj iji
r
q
jj j
Если
, то КОНЕЦ
r0
jj
1ii
11j
r
i
2
/
rqq
jjj
1jj
1j
Для j от 1 до m
Для i от 1 до
r qq
ij j i
r q
jj
Если
r
jj
qx
j
1j
(,)
0
rqq q
jiji
1ii
;
2
, то КОНЕЦ
/
rqq
jjj
1jj
Численная реализация процедуры ортогонализации Грама–Шмидта
может привести к потере ортогональности системы векторов, поскольку
возможно накопление погрешности вычислений в линейном комбинировании (29). Для устранения этой проблемы требуется совместить
шаги алгоритма (29) и (31) [2].
Пример. Построить ортонормированную систему векторов по ба-
T
зису
(2,1,0)x
1
,
(2,0,1)x
2
Решение. Проверим, что система векторов
базис, т. е. матрица, столбцы которой – это векторы
рожденной, т. е.
X
det det 1 0 2 1 0
По методу Грама–Шмидта построим
3
3
:
q
1ii
1)
1111
/rqx , где
11 1
T
,
(1, 2,2) x
3
T
221
012
ортонормированную систему
. Тогда
5r x
.
1
(2,1,0)
q
1
5
.
3
3
образует
x
1ii
x , является невы-
i
T
;
15

q
q
R
2)
22121
куда
22 2
3)
qx q
33 3
1
3
q
(1,2,2)
9
Проверка.
r
x
,
3/ 5r q
2
r
ii
1
i
T
и
33 3
(, )(, )(, )0qq qq q q и 1
12 13 23
(,)4/5r xq ,
12 2 1
и
,
2222
(, )0r xq ,
13 3 1
1/3r q
/ ( 2, 4,5)
rqq
35
. Получаем
(2/5,4/5,1) q
2
1
23 3 2
T
;
(, )20/35r xq , тогда
/(1,2,2)
i
rqq
q ,
3333
T
; от-
1
T
.
3
1, 3i
.
Замечание. В примере используется векторная норма
k
как
xq
kiki
ir
где матрица
а столбцы ортогональной матрицы
Представление матрицы
, то
1
XQR
, (32)
R является верхней треугольной
rr r
11 12 1
R
0
rr
22 2
Q
– это векторы
X в виде (32) будем называть QR-раз-
m
m
, (33)
r
mm
ложением.
Пример. Из предыдущей задачи можно найти матрицу
3
цами
i
3
и матрицу R в виде (33), тогда
q
1
i
2/ 5 2/3 5 1/3 5 4/ 5 0
QR X
1/ 5 4/3 5 2/3 0 3/ 5 4 5/3
0 5/3 5 2/3
00 1/3
. Так
2
m
.
q
i
i
1
Q
со столб-
.
16

Подобное QR-разложение можно получить с помощью вращений
x
j
x
Гивенса и отражений Хаусхолдера. Для этого достаточно привести мат-
X к верхнему треугольному виду (33) с помощью вращений Ги-
рицу
венса или отражений Хаусхолдера и последовательно перемножить матрицы ортогональных преобразований
T
QX R, (34)
где
11 1 1 1 1
QGG G G G G
... ... ...
12 1 1 2 1
mm
ванных матриц преобразования Гивенса;
mm m
– произведение транспониро-
QHH H – произве-
12 1m
дение матриц преобразования Хаусхолдера [1].
221
Пример. Приведём матрицу
X
10 2
012
к верхней треуголь-
ной форме посредством преобразований Гивенса.
Решение. Обнулим компоненту
ется в плоскости координат с номером
1x . Если поворот выполня-
21
i и j, где i – номер строки; j –
номер столбца матрицы, то применение алгоритма вращений Гивенса
даёт формулы для
sin 1 / 1 ( 2) 1 / 5
22
sin /
22
xx
ij ij jj
cos 2 / 5
и
и
cos /
. Строим матрицу пово-
22
xx
jijjj
. Имеем
рота Гивенса
2/ 5 1/ 5 0
cos sin 0
T
G
21
11 12
sin cos 0 1 / 5 2 / 5 0
21 22
001
001
.
Получаем подобную матрицу
21 0 2 2 1 5 4 0
T
XGX
21
11
120 10 2 0 2 5
55
00 5
012
17
0525
.

Обнулим компоненту
x
x
22
/
xx
ij ij jj
и
cos /xxx
и
cos 2 / 3
,
cos /
22 32 22
.
22
32
xx
jj ij jj
. Получим
Строим матрицу поворота Гивенса
5x . Вновь применим формулы
22
и вычислим
sin 5 / 5 2 5 / 3
sin /xxx
32 32 22
2
sin
22
2
10 0
T
0cos sin 0 2/3 5/3
G
32
0sin cos
22 23
32 33
10 0
05/32/3
.
Получаем верхнюю треугольную матрицу
30 0 54/5 0
11
T
RGX
32
02 5 02 5 03/545/3
3
052 0525
54 0
5
00 1/3
.
Восстановим последовательность матричных произведений
TTT
RGXGGX
32 32 21
Q
TTT
QGG
32 21
2/ 5 1/ 5 0 2/ 5 2/3 5 1/3
, откуда
T
10 0 2/51/50
02/3 5/31/52/50
05/32/3
001
QR X
Q
05/32/3
.
2/3 5 4/3 5 5 /3 и 1/ 5 4/3 5 2/3 .
1/3 2/3 2/ 3
T
Проверка:
QX R и
18

Замечание. Также из
R
R
R
QGG
. Сравните результат с формулой (34).
21 32
TTT
QGG
32 21
сразу можно вычислить
Замечание. Столбцы матрицы Q образуют ортонормированный
3
базис
i
Пример. Приведём матрицу
3
.
q
1
i
221
X
10 2
012
к верхней треуголь-
ной форме посредством преобразований Хаусхолдера.
Решение. Обнулим поддиагональные компоненты первого
столбца матрицы X. Отражение производится в двумерной гиперплоско-
сти из
2
, так как длина преобразуемого первого вектор-столбца с учё-
том диагонального элемента равна 3.
Матрица преобразования Хаусхолдера
( β,,)xxxp
11 21 31
1)
β 5 ,
2)
(2,1,0)x
1
T
и
β sign ( )xx
T
,
1
25,1,0 p
5x ;
2
T
11 1
,
. Вычисляем:
2
10 4 5p
2
T
2HE pp
,
, где
/ppp
2
/ppp
;
2
,
2/ 5 1/ 5 0
3)
HEpp
1
имеем подобную матрицу
4)
T
21/52/50
001
XHX
;
54/5 0
02/5 5
1
01 2
.
Обнулим поддиагональные компоненты второго столбца мат-
X
рицы
из
. Отражение производится в одномерной гиперплоскости
1
, так как длина преобразуемого второго вектор-столбца с учётом
19

диагонального элемента равна 2. По формуле (24) матрица Хаусхол-
дера
H
2
0H
22
, где
HEpp
22
T
.
2
0
1
Вычисляем:
T
1)
2)
β 3/ 5 ,
HEpp
3)
2/ 5,1x
2
22
2
10 0
,
5,1p
T
3/ 5x
2
2
T
,
10 5 5 2 5
01
;
6p
2
21
63
51 52
,
/ppp
;
2
, откуда
H ;
02/3 5/3
2
05/32/3
4)
получаем верхнюю треугольную матрицу
54/5 0
RHX
2
03/545/3
00 1/3
.
Восстановим последовательность матричных произведений
RHXHHX
221
Q
, откуда
T
2/5 1/5 0 2/5 2/35 1/3
T
QHH Q
Проверка:
Замечание. Также из
QHH вследствие симметричности матриц Хаусхолдера. Сравните
12
2/3 5 4/3 5 5/3 и 1/ 5 4/3 5 2/3 .
21
1/3 2 / 3 2/3
T
QX R и
QR X
.
T
QHH
21
05/32/3
сразу можно вычислить
результат с формулой (34).
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
