QR ayrışımı hesap makinesi

Çözüm yorumları
Açıklama olmadan (yalnızca cevap)

a

b

c

d

x

y

z

AC

i

ab
x2
xn

Randomize

Sayı biçimi
3131313131351515151515≈52188552198585858586
Yuvarla
Ondalık noktadan sonraki basamaklar
10
=Çöz

  Givens dönüşleri ile QR ayrışımını hesaplama

Alt köşegen giriş değerlerini birer birer sıfırlamak için bir dizi 2x2 düzlem dönüşü uygulayın. Her Givens dönüşü üzerinde çalıştığı iki giriş değeri tarafından belirlenir. Dönüşlerin kümülatif çarpımı Q'dur ve dönüştürülen matris R'dir.

  Givens dönüşleri - çalışılmış örnek (3×3)

Başlangıç matrisini
A
yazın:
A
=
1
1
0
1
0
1
0
1
1
QR
ayrışımı,
A
matrisinin şu şekilde bir gösterimidir:
A
=
Q
*
R
;
Q
matrisi, ortonormal bir matristir;
R
matrisi, bir üst üçgen matristir;
Givens rotasyonlarını kullanarak
A
matrisinin ana köşegeninin altındaki tüm elemanları sıfır yapabiliriz;
Bu yöntem yinelemeli bir yöntemdir ve bir yinelemede bir elemanı sıfıra dönüştüreceğiz;
Son yinelemede, ana köşegenin altındaki tüm elemanlar sıfıra dönüştürüldüğünde,
R
matrisini elde edeceğiz;
Her yinelemede
R
matrisini hesaplarken, ana köşegenin altındaki elemanları sıfıra dönüştürmek için
G
matrisini hesaplayacağız;
Tüm transpoze edilmiş
G
matrislerini çarparak
Q
matrisini hesaplayabiliriz;
Elemanları sol üst köşeden sağ alt köşeye doğru sırayla sıfırlayacağız;
Her yinelemede aşağıdaki değişkenleri tanımlamamız gerekir:
a
, sıfıra dönüştürmek istediğimiz elemanla aynı sütunda ana köşegende bulunan Aₖ₋₁ matrisinin elemanıdır
a
=
a
0
k - 1
0
i,i
;
b
, sıfıra dönüştürmek istediğimiz Aₖ₋₁ matrisinin elemanıdır
b
=
a
0
k - 1
0
j,i
;
// burada
j
, sıfıra dönüştürmek istediğimiz bir elemanın bulunduğu satır'in numarasıdır
i
, sıfıra dönüştürmek istediğimiz bir elemanın bulunduğu sütun'in numarasıdır
k
yineleme numarasıdır
Aₖ₋₁
, önceki yinelemede hesaplanan matristir
Sonra, aşağıdaki değerleri hesaplamamız gerekir:
r
=
a
2
0
+
b
2
0
;
c
=
a
r
;
s
= -
b
r
;
Şimdi
G
matrisini oluşturabiliriz:
1)
G matrisinin temeli, n'ye n boyutunda bir birim matristir
// burada
n
, A matrisinin satır sayısıdır
2)
[i,i] indeksi altındaki eleman c'ye eşittir
g
0
i,i
=
c
;
3)
[j,j] indeksi altındaki eleman c'ye eşittir
g
0
j,j
=
c
;
4)
[j,i] indeksi altındaki eleman s'ye eşittir
g
0
j,i
=
s
;
5)
[i,j] indeksi altındaki eleman -s'ye eşittir
g
0
i,j
=
-s
;
G
matrisini oluşturduktan sonra, onu soldan
A
0
k - 1
matrisi ile çarpabiliriz ve
A
0
k
matrisini elde ederiz;
Bu adımda,
j,i
indeksi altındaki elemanı sıfırlayacağız;
Q
0
k - 1
matrisini de
G
T
0
matrisi ile çarpacağız ve
Q
0
k
matrisini elde edeceğiz;
2
Yineleme 1
İlk yinelemede,
A
0
0
matrisi orijinal matris
A
'e eşittir:
A
0
0
=
1
1
0
1
0
1
0
1
1
Kimlik matrisine eşit olan ilk matris
Q
0
0
'ı yazın:
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
517766953
1250000000
;
c
=
a
r
=
1
1
517766953
1250000000
=
1767766953
2500000000
;
s
= -
b
r
= -
1
1
517766953
1250000000
=
-
1767766953
2500000000
;
G
=
c
s
0
-s
c
0
0
0
1
=
1767766953
2500000000
-
1767766953
2500000000
0
1767766953
2500000000
1767766953
2500000000
0
0
0
1
;
Matris
A
0
1
A
0
1
=
G
0
·
A
0
0
=
1767766953
2500000000
-
1767766953
2500000000
0
1767766953
2500000000
1767766953
2500000000
0
0
0
1
·
1
1
0
1
0
1
0
1
1
=
1
517766953
1250000000
0
0
1767766953
2500000000
-
1767766953
2500000000
1
1767766953
2500000000
1767766953
2500000000
1
Matris
G
T
0
G
T
0
=
1767766953
2500000000
1767766953
2500000000
0
-
1767766953
2500000000
1767766953
2500000000
0
0
0
1
Matris
Q
0
1
Q
0
1
=
Q
0
0
·
G
T
0
=
1
0
0
0
1
0
0
0
1
·
1767766953
2500000000
1767766953
2500000000
0
-
1767766953
2500000000
1767766953
2500000000
0
0
0
1
=
1767766953
2500000000
1767766953
2500000000
0
-
1767766953
2500000000
1767766953
2500000000
0
0
0
1
3
Yineleme 2
i
=
2
;
j
=
3
;
a
=
a
0
k - 1
0
i,i
=
a
0
1
0
2,2
=
-
1767766953
2500000000
;
b
=
a
0
k - 1
0
j,i
=
a
0
1
0
3,2
=
1
;
r
=
a
2
0
+
b
2
0
=
-
1767766953
2500000000
2
0
+
1
2
0
=
1
1123724357
5000000000
;
c
=
a
r
=
-
1767766953
2500000000
1
1123724357
5000000000
=
-
1443375673
2500000000
;
s
= -
b
r
= -
1
1
1123724357
5000000000
=
-
8164965809
10000000000
;
G
=
1
0
0
0
c
s
0
-s
c
=
1
0
0
0
-
1443375673
2500000000
-
8164965809
10000000000
0
8164965809
10000000000
-
1443375673
2500000000
;
Matris
A
0
2
A
0
2
=
G
0
·
A
0
1
=
1
0
0
0
-
1443375673
2500000000
-
8164965809
10000000000
0
8164965809
10000000000
-
1443375673
2500000000
·
1
517766953
1250000000
0
0
1767766953
2500000000
-
1767766953
2500000000
1
1767766953
2500000000
1767766953
2500000000
1
=
1
517766953
1250000000
0
0
1767766953
2500000000
1
1123724357
5000000000
0
1767766953
2500000000
816496581
2000000000
-1
193375673
1250000000
Matris
G
T
0
G
T
0
=
1
0
0
0
-
1443375673
2500000000
8164965809
10000000000
0
-
8164965809
10000000000
-
1443375673
2500000000
Matris
Q
0
2
Q
0
2
=
Q
0
1
·
G
T
0
=
1767766953
2500000000
1767766953
2500000000
0
-
1767766953
2500000000
1767766953
2500000000
0
0
0
1
·
1
0
0
0
-
1443375673
2500000000
8164965809
10000000000
0
-
8164965809
10000000000
-
1443375673
2500000000
=
1767766953
2500000000
1767766953
2500000000
0
816496581
2000000000
-
816496581
2000000000
8164965809
10000000000
1443375673
2500000000
-
1443375673
2500000000
-
1443375673
2500000000
4
Matris Q, R
Q
=
Q
0
2
=
1767766953
2500000000
1767766953
2500000000
0
816496581
2000000000
-
816496581
2000000000
8164965809
10000000000
1443375673
2500000000
-
1443375673
2500000000
-
1443375673
2500000000
R
=
A
0
2
=
1
517766953
1250000000
0
0
1767766953
2500000000
1
1123724357
5000000000
0
1767766953
2500000000
816496581
2000000000
-1
193375673
1250000000
Answer
A = Q · R
Q
=
1767766953
2500000000
1767766953
2500000000
0
816496581
2000000000
-
816496581
2000000000
8164965809
10000000000
1443375673
2500000000
-
1443375673
2500000000
-
1443375673
2500000000
R
=
1
517766953
1250000000
0
0
1767766953
2500000000
1
1123724357
5000000000
0
1767766953
2500000000
816496581
2000000000
-1
193375673
1250000000
Boyut3×3YöntemGivens rotasyonu

  Hesaplama yöntemleri

  Kaynaklar