فرمت عددی
نظرات راه حل
بدون توضیحات (فقط پاسخ)
a
b
c
d
x
y
z
clear
i
Randomize
3131313131351515151515≈83137
نحوه محاسبه تجزیه QR با چرخشهای گیونز
دنبالهای از چرخشهای صفحه 2×2 را اعمال کنید تا درایههای زیر قطر را یکی یکی صفر کنید. هر چرخش گیونز با دو درایهای که بر آن عمل میکند تعیین میشود. حاصلضرب تجمعی چرخشها Q است و ماتریس چرخششده R است.
مثال حلشده چرخشهای گیونز (3×3)
ماتریس اولیه
A
را بنویسید:
A
=
1
1
0
1
0
1
0
1
1
تجزیه
QR
نمایشی از ماتریس
A
به صورت:
A
=
Q
*
R
است؛
ماتریس
Q
یک ماتریس نرممتعامد (norm-momtayezsaz) است؛
ماتریس
R
یک ماتریس مثلثاتی بالایی (mosalasati balaei) است;
می توانیم از چرخش های گیونز (Givens) برای صفر کردن تمام عناصر زیر قطر اصلی ماتریس
A
استفاده کنیم؛
این روش تکراری است و در یک تکرار یک عنصر را به صفر تبدیل می کنیم؛
در آخرین تکرار، زمانی که تمام عناصر زیر قطر اصلی به صفر تبدیل شوند، ماتریس
R
را بدست خواهیم آورد؛
در حین محاسبه ماتریس
R
در هر تکرار، ماتریس
G
را برای صفر کردن عناصر زیر قطر اصلی محاسبه می کنیم؛
می توانیم ماتریس
Q
را با ضرب تمام ماتریس های منتقل شده
G
محاسبه کنیم؛
عناصر را از بالا به پایین از چپ به راست صفر می کنیم؛
در هر تکرار نیاز به تعریف متغیرهای زیر داریم:
a
عنصر ماتریس Aₖ₋₁ است که در قطر اصلی در همان ستون به عنوان عنصری که می خواهیم آن را به صفر تبدیل کنیم قرار داردa
=
a
0
k - 1
0
i,i
;
b
عنصر ماتریس Aₖ₋₁ است که می خواهیم آن را به صفر تبدیل کنیمb
=
a
0
k - 1
0
j,i
;
// که در آن
j
شماره سطر ردیف است که در آن عنصری وجود دارد که می خواهیم آن را به صفر تبدیل کنیمi
شماره سطر ستون است که در آن عنصری وجود دارد که می خواهیم آن را به صفر تبدیل کنیمk
شماره تکرار استAₖ₋₁
ماتریسی است که در تکرار قبلی محاسبه شده استدر مرحله بعد، باید مقادیر زیر را محاسبه کنیم:
r
=
a
2
0
+
b
2
0
;
c
=
a
r
;
s
= -
b
r
;
اکنون می توانیم ماتریس
G
را بسازیم:
1)
پایه ماتریس G یک ماتریس واحد با اندازه n در n است// که در آن
n
تعداد سطرهای ماتریس A است2)
عنصر زیر شاخص [i,i] برابر با c استg
0
i,i
=
c
;
3)
عنصر زیر شاخص [j,j] برابر با c استg
0
j,j
=
c
;
4)
عنصر زیر شاخص [j,i] برابر با s استg
0
j,i
=
s
;
5)
عنصر زیر شاخص [i,j] برابر با -s استg
0
i,j
=
-s
;
پس از ساخت ماتریس
G
، می توانیم آن را در ماتریس
A
0
k - 1
از سمت چپ ضرب کنیم، و ماتریس
A
0
k
را بدست آوریم؛
در این مرحله، عنصر زیر شاخص
j,i
را صفر می کنیم؛
همچنین ماتریس
Q
0
k - 1
را در ماتریس
G
T
0
ضرب می کنیم و ماتریس
Q
0
k
را بدست می آوریم؛
2
تکرار 1در اولین تکرار، ماتریس
A
0
0
برابر با ماتریس اصلی
A
است:
A
0
0
=
1
1
0
1
0
1
0
1
1
ماتریس اولیه
Q
0
0
را بنویسید، که برابر با ماتریس واحد است:
Q
0
0
=
1
0
0
0
1
0
0
0
1
i
=
1
;
j
=
2
;
a
=
a
0
k - 1
0
i,i
=
a
0
0
0
1,1
=
1
;
b
=
a
0
k - 1
0
j,i
=
a
0
0
0
2,1
=
1
;
r
=
a
2
0
+
b
2
0
=
1
2
0
+
1
2
0
=
1
41
100
;
c
=
a
r
=
1
1
41
100
=
71
100
;
s
= -
b
r
= -
1
1
41
100
=
-
71
100
;
G
=
c
s
0
-s
c
0
0
0
1
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
;
ماتریس
A
0
1
A
0
1
=
G
0
·
A
0
0
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
·
1
1
0
1
0
1
0
1
1
=
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
ماتریس
G
T
0
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
ماتریس
Q
0
1
Q
0
1
=
Q
0
0
·
G
T
0
=
1
0
0
0
1
0
0
0
1
·
71
100
71
100
0
-
71
100
71
100
0
0
0
1
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
3
تکرار 2i
=
2
;
j
=
3
;
a
=
a
0
k - 1
0
i,i
=
a
0
1
0
2,2
=
-
71
100
;
b
=
a
0
k - 1
0
j,i
=
a
0
1
0
3,2
=
1
;
r
=
a
2
0
+
b
2
0
=
-
71
100
2
0
+
1
2
0
=
1
11
50
;
c
=
a
r
=
-
71
100
1
11
50
=
-
29
50
;
s
= -
b
r
= -
1
1
11
50
=
-
41
50
;
G
=
1
0
0
0
c
s
0
-s
c
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
;
ماتریس
A
0
2
A
0
2
=
G
0
·
A
0
1
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
·
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
ماتریس
G
T
0
G
T
0
=
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
ماتریس
Q
0
2
Q
0
2
=
Q
0
1
·
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
·
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
4
ماتریس Q, RQ
=
Q
0
2
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
A
0
2
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
Answer
A = Q · RQ
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
اندازه3×3روشچرخش گیونز