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

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

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ПРЕОБРАЗОВАНИЕ ХАУСХОЛДЕРА
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
явля-
2HE 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)yyye
111
T
, где
(1,0, ..., 0)e
1
( , , ..., )
T
. Заметим, что
T
.
xx
12
T
в вектор
n
yyx
1
22
так как преобразование Хаусхолдера ортогональное и сохраняет длину вектора. Тогда
нием Хаусхолдера
где
px xe
y  x
1
. При выборе знака желательно исключить вычитание,
1
2
,
yxe
2
xe Hx E ppx
1
2
. Воспользуемся преобразова-
1
2
(2 )
T
, откуда

/ppp
2
чтобы избежать накопления вычислительной погрешности. Имеем
β, ,...,

xxp
12
T
, где
n
β sign ( )xx
.
1
2
Если требуется обнулить координаты вектора с некоторой пози­ции
i, то матрица преобразования Хаусхолдера примет вид
E0

(1)(1)
ii
H

 
0H

(1)(1)
ni ni
  
. (26)
,
,
Замечание. Матрицу преобразования Хаусхолдера
H не хранят.
Можно заметить, что [2]

ij
δ 2
ij i j
12
pH
, (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)/5ppp
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
1kq
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
rqq 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
(, )(, )(, )0qq 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)
rqq
35
. Получаем
(2/5,4/5,1) q
2
1
23 3 2
T
;
(, )20/35r xq , тогда
/(1,2,2)
i
rqq
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.
Матрица преобразования Хаусхолдера
( β,,)xxxp
11 21 31
1)
β 5 ,
2)
(2,1,0)x
1
T
и
β sign ( )xx
T
,
1
25,1,0 p


5x ;
2
T
11 1
,
. Вычисляем:
2
10 4 5p
2
T
2HE 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,1x

2
22
2
 
10 0
,
5,1p


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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]