For AI agents: use /llms.txt for the Nakafa content index.
Kita ingin mengubah matriks menjadi bentuk segitiga atas, tetapi bukan melalui operasi baris elementer, melainkan melalui transformasi ortogonal yang lebih baik kondisinya. Bayangkan seperti memutar dan memantulkan ruang geometris untuk menyederhanakan matriks, tanpa mengubah sifat fundamentalnya.
Misalkan A∈Rm×n adalah matriks persegi panjang dengan m≥n dan . Maka terdapat matriks ortogonal dengan dan matriks segitiga atas dengan elemen diagonal untuk , sehingga:
PeringkatA=n Q∈Rm×m R∈Rm×n i=1,…,n Representasi ini disebut QR dekomposisi dari A.
Kolom-kolom aj untuk j=1,…,n dari matriks A dapat diorthonormalisasi menggunakan proses Gram-Schmidt:
Kita memperoleh vektor ortonormal qj untuk j=1,…,n sebagai kolom dari matriks ortogonal Q1∈Rm×n. Sebaliknya:
Jadi A=Q1R1 dengan matriks segitiga atas R1∈Rn×n yang elemen diagonalnya rii=∥q~i∥2>0.
Jika Q1 dilengkapi dengan m−n kolom tambahan menjadi matriks ortogonal Q=(Q1Q2)∈Rm×m dan R1 menjadi R=(R10)∈Rm×n, maka A=Q1R1=QR.
Ketika kita memiliki matriks A∈Rm×n dengan m≥n,
ada dua cara untuk merepresentasikan QR dekomposisi. Perbedaannya terletak pada ukuran matriks yang digunakan.
QR dekomposisi penuh menggunakan matriks berukuran penuh:
dengan Q∈Rm×m adalah matriks ortogonal berukuran penuh dan
R∈Rm×n adalah matriks segitiga atas.
Karena bagian bawah matriks R hanya berisi nol, kita bisa menghemat penyimpanan dan komputasi.
QR dekomposisi ekonomis hanya menggunakan bagian yang benar-benar diperlukan:
Di sini Q1∈Rm×n hanya mengambil kolom pertama sampai ke-n
dari Q, dan R1∈Rn×n adalah matriks segitiga atas persegi.
Mengapa disebut ekonomis? Karena kita menghemat ruang penyimpanan dan waktu komputasi.
Alih-alih menyimpan matriks Q berukuran m×m yang bisa sangat besar,
kita hanya perlu Q1 berukuran m×n.
Kolom-kolom matriks Q2∈Rm×(m−n) yang tidak kita pakai membentuk
basis ortonormal dari kernel (ruang nol) KernelAT:
Di sini kernel dari AT adalah himpunan semua vektor x yang memenuhi ATx=0.
QR dekomposisi ekonomis A=Q1⋅R1 dengan kondisi rii>0
untuk semua i=1,…,n adalah unik untuk matriks A
yang memiliki peringkat penuh.
Meskipun proses Gram-Schmidt memberikan cara teoretis yang elegan untuk memperoleh QR dekomposisi,
metode ini tidak cocok untuk perhitungan praktis. Masalah utamanya adalah ketidakstabilan numerik akibat pembatalan,
ortogonalitas kolom-kolom cepat hilang selama komputasi.
Untuk mengatasi masalah ini, kita memerlukan metode yang lebih stabil secara numerik.
Salah satu pendekatan yang paling berhasil adalah prosedur Householder,
yang menggunakan transformasi refleksi ortogonal. Alternatif lain adalah prosedur Givens dengan transformasi rotasi.
Untuk vektor v∈Rm dengan ∥v∥2=1,
kita dapat mendefinisikan matriks transformasi Householder:
Perhatikan bahwa vvT adalah produk diadik (outer product), yaitu perkalian vektor kolom
v∈Rm×1 dengan vektor baris vT∈R1×m.
Hasil perkalian ini adalah matriks m×m dengan peringkat 1 untuk v=0.
Jangan sampai tertukar dengan perkalian skalar vTv∈R yang menghasilkan bilangan tunggal.
Misalkan S=I−2vvT∈Rm×m adalah matriks transformasi Householder
untuk vektor v∈Rm dengan ∥v∥2=1. Maka berlaku:
-
S adalah simetri: ST=S
-
S adalah matriks ortogonal: STS=I
-
Perkalian S⋅x dari S dari kiri dengan vektor x∈Rn
menyebabkan refleksi x pada subruang ,
yaitu pada hiperplane (bidang datar berdimensi tinggi) dengan vektor normal
-
cond2(S)=1
Diberikan matriks A∈Rm×n dengan m≥n
dan PeringkatA=n. Untuk perhitungan QR dekomposisi,
matriks A ditransformasi kolom demi kolom melalui refleksi Householder
menjadi bentuk segitiga atas.
Mulai dengan A1=A dan refleksikan kolom pertama dari A1
terhadap vektor menggunakan bidang refleksi dengan:
Matriks transformasi Householder S1=Im−2v1v1T∈Rm×m. Diperoleh:
dengan r11=±∥a~1∥2 dan A~2∈Rm−1×n−1.
Lanjutkan dengan refleksi kolom pertama dari submatriks dengan bidang refleksi:
Dengan matriks transformasi:
dengan r22=±∥a~2∥2 dan A~3∈Rm−2×n−2, dan seterusnya hingga:
Pada akhirnya diperoleh matriks segitiga atas:
Jadi diperoleh faktorisasi:
dengan Q adalah matriks ortogonal.
Implementasi prosedur Householder:
Untuk i=1,…,n:
Kompleksitas numerik untuk perhitungan QR dekomposisi matriks A∈Rm×n
dengan prosedur Householder pada dasarnya adalah:
-
Karena transformasi ortogonal, berlaku cond2(R)=cond2(A)
-
Elemen diagonal R adalah bilangan ±∥a~i∥2
dari langkah ke-i. Memilih transformasi sehingga semuanya positif memberikan QR dekomposisi.
Jika ∥a~i∥2=0, A tidak memiliki peringkat penuh
dan algoritma berhenti.
Untuk alasan numerik memilih tanda sehingga pembatalan dihindari:
-
Sebagai pengganti membangun Q, dalam penyimpanan kompak juga dapat menyimpan
hanya informasi yang diperlukan untuk transformasi:
-
Jika hanya ingin menghitung QR dekomposisi ekonomis, hapus kolom Q dan baris R yang sesuai.
rentang(v)⊥ di tempat bebas dari A di bawah diagonal dan elemen diagonal dalam vektor tambahan.