QR-розкладання калькулятор

Формат чисел
Коментарі рішення
Без опису (тільки відповідь)

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=Розв'язати

  Як обчислити QR-розкладання методом дзеркальних відображень Хаусхолдера

Побудуйте відбивачі, які обнулюють піддіагональні елементи стовпець за стовпцем. Кожний відбивач визначається вектором стовпця, який редукується; добуток відбивачів дає Q (ортогональна матриця), а піддана відбивацям матриця — R (верхня трикутна матриця).

  Розв'язаний приклад дзеркальних відображень Хаусхолдера (2×2)

Запишемо вихідну матрицю
A
:
A
=
3
4
1
2
QR
розкладання є представленням матриці
A
у вигляді:
A
=
Q
*
R
;
Матриця
Q
– ортонормована матриця;
Матриця
R
– верхня трикутна матриця;
Щоб виконати
QR
розкладання за допомогою методу перетворення Хаусхолдера, потрібно зробити наступне:
1)
Обчисліть вектор відбиття Хаусхолдера v для кожного стовпця a матриці A
2)
Для кожного стовпця a матриці A ми розрахуємо матрицю Хаусхолдера H
3)
Після застосування перетворення Хаусхолдера до всіх стовпців матриці A отримана перетворена матриця A' буде верхньою трикутною матрицею R
4)
Ортогональна матриця Q отримується перемноженням усіх матриць Хаусхолдера H
Щоб виконати
QR
розкладання за допомогою методу перетворення Хаусхолдера, потрібно зробити наступне для кожного стовпця
a
матриці
A
:
1)
Обчислимо норму ‖a‖ стовпця a
2)
Визначимо знак (s) стовпця a
s
= -
sgn
(
a
[
i
])
;
// де
sgn(a)
= 1 якщо a[i] ≥ 0, і -1 інакше
a[i]
— i-й елемент стовпця a
i
— номер стовпця
3)
Обчислимо вектор відбиття Хаусхолдера
v
=
a
-
s
*
a
*
e
0
i
;
// де
eᵢ
— стандартний базисний вектор, де i-й елемент дорівнює 1, а всі інші елементи — 0
i
— номер стовпця
4)
Нормалізуємо вектор відображення Хаусхолдера
v_norm
=
v
v
;
5)
Обчислимо матрицю Хаусхолдера
H
0
i
=
I
- 2 *
v_norm
*
v_norm
T
0
;
6)
Застосуємо перетворення Хаусхолдера до матриці
A'
0
i
=
H
0
i
*
A'
0
i - 1
;
7)
Обчислимо матрицю
Q
0
i
=
Q
0
i - 1
*
H
0
i
;
2
Ітерація 1
На першій ітерації матриця
A'
0
0
дорівнює вихідній матриці
A
:
A'
0
0
=
3
4
1
2
Запишемо початкову матрицю
Q
0
0
, яка дорівнює одиничній матриці:
Q
0
0
=
1
0
0
1
Вектор
a
дорівнює
1
-му стовпцю матриці
A'
0
0
:
a
=
3
4
Обчислимо норму
a
стовпця
a
:
a
=
5
;
Визначимо знак (
s
) стовпця
a
:
s
= -
sgn
(
a
[
1
])
= -
sgn
-(
3
) = -(
1
) =
-1
;
Запишемо
1
-й стандартний базисний вектор:
e
0
1
=
1
0
Обчислимо вектор відбиття Хаусхолдера
:
v
=
a
-
s
*
a
*
e
0
1
=
3
4
-
-1
*
5
*
1
0
=
3
4
-
-5
0
=
8
4
;
Нормалізуємо вектор відображення Хаусхолдера
:
v_norm
=
v
v
=
89
100
9
20
Обчислимо вектор відбиття Хаусхолдера
:
H
0
1
=
I
- 2 *
v_norm
*
v_norm
T
0
=
1
0
0
1
- 2 *
89
100
9
20
*
89
100
9
20
=
=
89
100
9
20
·
89
100
9
20
=
4
5
2
5
2
5
1
5
=
1
0
0
1
- 2 *
4
5
2
5
2
5
1
5
=
=
4
5
2
5
2
5
1
5
·
2
=
4
5
*
2
2
5
*
2
2
5
*
2
1
5
*
2
=
1
3
5
4
5
4
5
2
5
=
1
0
0
1
1
3
5
4
5
4
5
2
5
=
1
-
1
3
5
0
-
4
5
0
-
4
5
1
-
2
5
=
-
3
5
-
4
5
-
4
5
3
5
Застосуємо перетворення Хаусхолдера до матриці
A'
0
1
:
A'
0
1
=
H
0
1
·
A'
0
0
=
-
3
5
-
4
5
-
4
5
3
5
·
3
4
1
2
=
-5
0
-2
1
5
2
5
Обчислимо матрицю
Q
0
1
:
Q
0
1
=
Q
0
0
·
H
0
1
=
1
0
0
1
·
-
3
5
-
4
5
-
4
5
3
5
=
-
3
5
-
4
5
-
4
5
3
5
3
Ітерація 2
Вектор
a
дорівнює
2
-му стовпцю матриці
A'
0
1
:
a
=
0
2
5
Обчислимо норму
a
стовпця
a
:
a
=
2
5
;
Визначимо знак (
s
) стовпця
a
:
s
= -
sgn
(
a
[
2
])
= -
sgn
-(
2
5
) = -(
1
) =
-1
;
Запишемо
2
-й стандартний базисний вектор:
e
0
2
=
0
1
Обчислимо вектор відбиття Хаусхолдера
:
v
=
a
-
s
*
a
*
e
0
2
=
0
2
5
-
-1
*
2
5
*
0
1
=
0
2
5
-
0
-
2
5
=
0
4
5
;
Нормалізуємо вектор відображення Хаусхолдера
:
v_norm
=
v
v
=
0
1
Обчислимо вектор відбиття Хаусхолдера
:
H
0
2
=
I
- 2 *
v_norm
*
v_norm
T
0
=
1
0
0
1
- 2 *
0
1
*
0
1
=
=
0
1
·
0
1
=
0
0
0
1
=
1
0
0
1
- 2 *
0
0
0
1
=
=
0
0
0
1
·
2
=
0
*
2
0
*
2
0
*
2
1
*
2
=
0
0
0
2
=
1
0
0
1
0
0
0
2
=
1
-
0
0
-
0
0
-
0
1
-
2
=
1
0
0
-1
Застосуємо перетворення Хаусхолдера до матриці
A'
0
2
:
A'
0
2
=
H
0
2
·
A'
0
1
=
1
0
0
-1
·
-5
0
-2
1
5
2
5
=
-5
0
-2
1
5
-
2
5
Обчислимо матрицю
Q
0
2
:
Q
0
2
=
Q
0
1
·
H
0
2
=
-
3
5
-
4
5
-
4
5
3
5
·
1
0
0
-1
=
-
3
5
-
4
5
4
5
-
3
5
4
Матриця Q, R
Q
=
Q
0
2
=
-
3
5
-
4
5
4
5
-
3
5
R
=
A'
0
2
=
-5
0
-2
1
5
-
2
5
Answer
A = Q · R
Q
=
-
3
5
-
4
5
4
5
-
3
5
R
=
-5
0
-2
1
5
-
2
5
Розмір2×2МетодПеретворення Хаусхолдера

  Методи обчислення

  Джерела