Perubahan Basis Berulang yang Mempertahankan Nilai Eigen
Algoritma menghitung seluruh nilai eigen matriks persegi melalui perubahan basis yang berulang. Setiap langkah menghasilkan matriks serupa, sehingga nilai eigennya tetap sama. Tujuan iterasi adalah memperoleh bentuk diagonal atau bentuk Schur. Konvergensi memerlukan pemilihan strategi pergeseran dan deflasi yang sesuai. Nilai eigen kemudian diperoleh dari elemen diagonal atau blok kecil pada diagonal.
Versi di bawah adalah iterasi tanpa geseran. Algoritma nilai eigen yang dipakai dalam perangkat lunak numerik juga menggunakan geseran, mereduksi matriks ke bentuk Hessenberg, dan memisahkan blok yang sudah konvergen agar proses perhitungan menjadi lebih cepat dan andal.
Satu Iterasi QR
Untuk uji deflasi berikut, terlebih dahulu ubah matriks melalui keserupaan uniter ke bentuk Hessenberg atas, yaitu semua entri di bawah subdiagonal pertama nol. Mulai iterasi dari matriks tersebut. Contoh 2×2 di bawah sudah memenuhi syarat ini.
-
Mulai dengan .
-
Faktorkan matriks saat ini menjadi faktor uniter atau ortogonal dan faktor segitiga atas :
-
Balik urutan kedua faktor untuk memperoleh iterasi berikutnya:
-
Ulangi faktorisasi dan perkalian terbalik tersebut. Elemen subdiagonal yang sangat kecil dibandingkan elemen diagonal di sekitarnya dapat ditetapkan menjadi nol. Pemisahan yang disebut deflasi ini mengisolasi nilai eigen atau blok yang sudah konvergen.
Di sini adalah toleransi yang disesuaikan dengan presisi numerik dan skala masalah. Perubahan kecil pada diagonal saja belum cukup sebagai kriteria berhenti karena elemen di bawah diagonal mungkin masih bernilai signifikan.
Mengapa Nilai Eigen Tidak Berubah
Karena bersifat uniter, . Dengan menyubstitusikan ke dalam perkalian terbalik, kita memperoleh
Jadi, serupa secara uniter dengan . Matriks serupa memiliki polinom karakteristik dan nilai eigen yang sama. Setiap langkah menuliskan transformasi linear yang sama dalam koordinat baru.
Bentuk Hasil Konvergensi
Bentuk akhir bergantung pada jenis matriks dan sistem bilangan yang digunakan.
| Matriks | Bentuk konvergen | Cara membaca nilai eigen |
|---|---|---|
| Real simetris atau kompleks Hermitian | Matriks diagonal | Elemen diagonal adalah nilai eigen real |
| Kompleks umum | Bentuk Schur segitiga atas | Elemen diagonal adalah nilai eigen |
| Real umum | Bentuk Schur real kuasi-segitiga atas | Setiap blok memberi satu nilai eigen real. Setiap blok memberi sepasang nilai eigen kompleks konjugat |
Nilai eigen dapat muncul dalam urutan apa pun. Nilai yang berulang dan susunan khusus perlu ditangani terpisah karena syarat urutan nilai mutlak yang ketat tidak mencakup keduanya.
Iterasi tanpa geseran tidak selalu berkonvergensi ke bentuk tersebut. Sebagai contoh, matriks simetris berikut memiliki faktorisasi dan , sehingga iterasi berikutnya tidak berubah:
Nilai eigennya 1 dan −1. Magnitudo yang sama menjelaskan kebutuhan geseran yang sesuai serta pemeriksaan konvergensi dalam algoritma numerik.
Contoh Kerja Matriks Simetris
Perhatikan matriks simetris
Satu faktorisasi dan perkalian terbalik menghasilkan
Besar elemen di luar diagonal sudah turun dari menjadi . Iterasi berikutnya mendorong kedua elemen di luar diagonal menuju nol:
Diagonal hasil limit memuat nilai eigen dan . Setiap hasil iterasi serupa dengan , sehingga kedua nilai tersebut memang milik matriks semula.