فرمت عددی
نظرات راه حل
بدون توضیحات (فقط پاسخ)
a
b
c
d
x
y
z
clear
i
Randomize
3131313131351515151515≈83137
نحوه محاسبه تجزیه QR با بازتابهای هاوسهولدر
بازتابکنندههایی بسازید که درایههای زیر قطر را ستون به ستون صفر کنند. هر بازتابکننده با بردار ستون در حال کاهش تعیین میشود؛ حاصلضرب بازتابکنندهها Q (متعامد) و ماتریس بازتابشده R (مثلثاتی بالایی) را میدهد.
مثال حلشده بازتابهای هاوسهولدر (2×2)
ماتریس اولیه
A
را بنویسید:
A
=
3
4
1
2
تجزیه
QR
نمایشی از ماتریس
A
به صورت:
A
=
Q
*
R
است؛
ماتریس
Q
یک ماتریس نرممتعامد (norm-momtayezsaz) است؛
ماتریس
R
یک ماتریس مثلثاتی بالایی (mosalasati balaei) است;
برای انجام تجزیه
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 و در غیر این صورت -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, RQ
=
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 · RQ
=
-
3
5
-
4
5
4
5
-
3
5
R
=
-5
0
-2
1
5
-
2
5
اندازه2×2روشبازتاب های هاوسهولدر