פירוק 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
באמצעות שיטת פ reflections של האוסהולדר, יש לבצע את הפעולות הבאות:
1)
חשב את וקטור ההשתקפות של האוסהולדר v עבור כל עמודה a של המטריצה A
2)
לכל עמודה a של המטריצה A, נחשב את מטריצת האוסהולדר H
3)
לאחר שנפעיל את התמרת האוסהולדר על כל עמודות המטריצה A, המטריצה המשוכפלת המתקבלת A' תהיה המטריצה המשולשת העליונה R
4)
המטריצה האורתוגונלית Q מתקבלת על ידי הכפלת כל מטריצות האוסהולדר H
כדי לבצע פירוק
QR
באמצעות שיטת פ reflections של האוסהולדר, יש לבצע את הפעולות הבאות עבור כל עמודה
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שיטההחזרות האוסהולדר

  שיטות חישוב

  מקורות