Lampiran A : Faktorisasi QR
Lampiran A : Faktorisasi QR
Sebelum kita membahas tentang faktorisasi, mari terlebih dahulu kita lihat suatu contoh penguraian suatu matrik A 2x2 yang sederhana menjadi perkalian dua matrik sederhana. Tahapan penguraiannya adalah sebagai berikut. Misalkan
Kita dapat memandang bahwa matrik A tersusun dari dua vektor kolom yaitu
dan kolom kedua yaitu . Katakanlah bahwa vektor kolom pertama adalah a1, dan
vektor kolom kedua adalah a2.
1 1 Sekarang mari kita ambil dua buah vektor referensi, yaitu v1 = dan v2 = .
1 0 Sekarang tugas kita yang pertama adalah menyatakan kolom vektor a1 sebagai
kombinasi linier dari referensi v1 dan v2. Tugas pertama ini gampang, karena :
a 1 = =2· = 2v 1 = 2v 1 + 0v 2
Berikutnya adalah menyatakan kolom vektor a2 sebagai kombinasi linier dari referensi v1 dan v2. Dengan mencoba-coba, kita peroleh salah satu solusi adalah :
a 2 = =4· +1· = 4v 1 + 1v 2
Sekarang kita susun kolom vektor a1 dan a2 untuk menghasilkan matrik A. Kita peroleh :
A = a 1 a2 = 2v 1 + 0v 2 4v 1 +v 2
=D·E
Faktorisasi QR bekerja dengan cara yang sama. Faktorisasi QR ini mendekomposisi suatu matrik A menjadi komponen BASISnya atau matrik Q, dan komponen bobotnya atau matrik R.
Keistimewaan dari Basis Q yang dipilih ini adalah bahwa ia bersifat ortonormal (i.e. setiap kolomnya tegak lurus dengan kolom lain, dan panjang norm orde 2 nya adalah 1). Dengan sifat seperti ini, maka inverse dari matrik Q adalah transposenya. Q T −1 =Q .
Matrik Bobot Q, di sisi lain adalah matrik yang berbentuk segitiga atas. Ada pun proses untuk memperoleh Q dan R adalah cara Ortogonalisasi
Gramm-Schmidt. Mari kita lihat lagi contoh sebelumnya.
. Pertama kita buat dulu vektor referensi atau basis pertama yang berasal dari normalisasi kolom pertama dari A. Dengan demikian:
Dengan demikian, kolom pertama matrix A dapat ditulis sebagai
a 1 = =2· 2· √ =2 2·v 1 =2 2·v 1
Dengan kata lain
a 1 = =2· 2· √ =2 2·v 1 =2 2·v 1
2 2 1 Selanjutnya, untuk mencari basis v 2 , kita reduksi dulu kolom kedua dari A dengan
basis v 1 , sisanya baru kita normalisasi untuk menghasilkan v 2
a 2 = =< , √ >· √ +r= +r
Basis v 2 diambil dari normalisasi sisa r.
1 0.5 √ 0.5 1 1 v 2 = q
2 −1 Dengan demikian, kolom kedua dari matrik A sekarang dapat kita nyatakan sebagai
kombinasi linier dari v1 dan v2 sebagai:
Kita kumpulkan dalam satu sistem persamaan untuk a1 dan a2:
A = a 1 a2 = 2 2·v 1 +0·v 2 √ 9 2 ·v 1 + 0.5 2·v 2
√ =Q·R
Di sini: Matrik Q adalah matrik orthonormal; dan matrik R adalah matrik segitiga atas.
1 Faktorisasi QR untuk Over determined system
Overdetermined system adalah sistem persamaan linier yang mana jumlah persamaan lebih banyak dari pada jumlah variabel yang tidak diketahui.
x + y = 10 2x + y = 15 x + 2y = 30
Overdetermined system dapat terdiri dari set persamaan yang konsisten, sebagai contoh :
x + y = 10 2x + y = 15 2x + 2y = 20
Atau set persamaan tidak konsisten
x + y = 10 x + y = 11
2x + 2y = 19
Untuk set persamaan yang konsisten, hanya terdapat satu pasangan solusi yang memenuhi semua persamaan. Untuk set persamaan yang tidak konsisten, justru tidak ada nilai yang memenuhi semua persamaan. Solusi terbaik diperoleh dengan mencari nilai ’terbaik’ yang mendekati pemenuhan semua persamaan.
Mari kita tinjau set persamaan overdetermined yang tidak konsisten di atas. Atau set persamaan tidak konsisten
x + y = 10 x + y = 11
2x + 2y = 19
Secara matrik, dapat kita tulis sebagai:
Penyelesaian Persamaan Underdetermined dengan faktorisai QR
Sekarang mari kita coba menyelesaikan persamaan underdetermined dengan faktorisasi QR.
Untuk sederhananya, mari kita lihat contoh sistem persamaan linier berikut.
x +y+z=1 x + y + 2z = 3
Kita susun dalam persamaan matrik
dapat ditulis sebagai
A·
y =p z
Ada banyak pilihan solusi untuk sistem persamaan underdetermined tersebut. Salah satunya adalah dengan faktorisasi QR.
Dengan demikian:
Dengan teknik dekomposisi QR yang telah dibahas sebelumnya, A T dapat dituliskan sebagai :
=Q·R=
Jika kita pandang matrik R =
−0.4082
0 , maka dapat kita pandang ia
Dengan demikian persamaan semula :
A·
y =p z
menjadi :
x T T (A ) ·
y =p z
atau
Oleh karena Q adalah matrik orthonormal, maka (Q T ) −1 = Q, serta
Sebetulnya lebih tepat menyebut (R T ) −1 sebagai (R T ) + oleh karena R bukanlah matrik persegi.
2 QR Faktorisasi dengan Transformasi Householder
2.1 Prinsip: Membuat elemen nol pada vektor
Jika kita memiliki vektor
Maka selalu mungkin untuk mentransformasi X dengan matrik transformasi P
sehingga menjadi matrik X B yang memiliki banyak elemen 0. x
Dengan kata lain
B =P·X=
. Matrik P dapat dipandang sebagai matrik perotasi atau matrik pencerminan. Teknik mencari matrik perotasi diteliti oleh Givens, sedangkan teknik mencari matrik pencerminan diteliti oleh Householder (Alston Householder, 1965).
Gambar berikut memperlihatkan teknik pencerminan oleh matrik P.
Garis cermin g
Pencerminan Vektor B dengan garis g,
menghasilkan vektor X B yang memiliki
beberapa elemen bernilai 0.
Pada Pencerminan, panjang vektor X B adalah
sama dengan panjang vektor X semula. Operasi pencerminan dapat diwakili matrik P
X B =P · X Householder menurunkan bahwa, jika diberikan suatu vektor X dengan dimensi n,
... x
maka dapat dicari matrik V yaitu
1 − |X|
yang mana
P T =I
n −2·V·V / (V ·V)
Sedemikian sehingga
X B =P·X
adalah vektor dengan semua elemen 0 kecuali elemen pertama. Dengan kata lain :
1 +x 2 + ... + x n 2 2
...
Mari kita lihat contoh berikut ini: Misalkan
Dengan demikian :
25 = 5 Dengan demikian
Dengan demikian, Matrik Pencerminan Householder dapat dihitung dengan :
P =I n −2·V·V / (V ·V)=
−2·
0010
−3
0001
2 −3 2 1 4 ·
Sekarang kita test matriks P ini dengan mengalikannya dengan X semula. Kita peroleh :
0.4 0.7333 −0.1333 −0.5333 2 PX =
0.4 0.7333 −0.1333 −0.5333 2 PX =
Seperti yang diharapkan yaitu:
PX =
2.2 Pemaktoran Matrik ke komponen Q dan R
Sebelum kita lanjutkan dekomposisi matrik atau pemaktoran matrik. Kita bahas dulu cara bagaimana menjadikan matrik sebarang A, menjadi matrik segitiga atas A S . Ilustrasi sederhana diberikan pada gambar berikut.
Gambar 1. Tahap pengubahan suatu matrik X sebarang ke matrik segitiga atas
Mula-mula kita memiliki suatu matrik X seperti gambar matrik paling kiri dari
1 Gambar 1 tersebut. Pandang kolom paling kiri yang berisi , dengan prinsip
sebelumnya, kita dapat mencari matrik V, kemudian matrik P1 sehingga P1 dikalikan
0 dengan matriks X kita peroleh kolom pertama matrik tengah pada gambar yaitu .
Kolom kedua dari matrik tengah pada gambar adalah yang merupakan hasil
perkalian P1 dengan kolom kedua dari matrik X yaitu .
Tugas kita selanjutnya adalah mentransformasi bagian kolom kedua yaitu y
menjadi bentuk 0 . 0
Proses mengubah y 3 menjadi bentuk 0 tentu saja mudah, karena kita
y (y 2 +y 2
+y 2 2 3 4 )
tinggal mencari matrik V
y 3 kemudian mencari P H 2
2 V 2 / (V 2 V 2 ) . Terakhir, kita kalikan P H 2 dengan y 3 untuk memperoleh 0 .
4 0 Bisakah proses ini kita modifikasi sehingga proses ini menjadi mengalikan suatu
5y
0y 2
matrik P 2 dengan matrik tengah yaitu
Dengan kata lain, mengalikan P 2 dengan
tidak mengubah kolom pertama 0y 3
2 dan baris pertama dari
. 0y 3
0y
Jawaban atas permasalahan ini adalah dengan menyusun matrik P 2 dari P H 2 dengan cara :
0P
Sebagai contoh, jika
Dengan teknik sederhana ini, maka perkalian dengan P2 tidak mengganggu baris pertama dan kolom pertama dari matriks tengah.
2.3 Contoh Ilustrasi
Mari kita diagonal ataskan matrik pada contoh pada Gambar 1 sebelumnya:
. Kita tahu bahwa untuk menciptakan banyak 0 pada kolom pertama, kita gunakan matrik Householder sebelumnya yaitu :
Kita kalikan dengan X, kita perloleh:
Selanjutnya kita nol-kan kolom kedua. Kita punya :
1.67 . Kita pilih V =
Selanjutnya kita hitung P H 2 :
Sekarang kita terapkan trik sebelumnya : P 2 =
, kita peroleh :
Dengan demikian :
0 0.923 0.355 0.0.142 0 4.3 0 4.3 0 4.69 P 2 (P 1 X )=
0 0.142 −0.663 0.735 0 0.67 0 0.67 0 0 Dengan demikian hasil akhir adalah:
P 2 (P 1 X ) = QX = R =
Dengan Q = P 2 P 1 .
Oleh karena Q adalah ortogonal, maka Q T − 1=Q . Dengan demikian :
Dengan kata lain, X bisa direpresentasikan sebagai perkalian antara matrik orthonormal Q dan matrik segitiga atas R.
2.4 QR dekomposisi dengan Column Pivoting
Suatu matrik A yang dapat dipandang sebagai kumpulan kolom-kolom (vektor a 1 ,a 2 , ... , a N ):
A=
Kita dapat menghitung panjang euclidean (norm l2) dari setiap vektor (a 1 ,a 2 , ... , a N ) tersebut, dan mengambil vektor dengan panjang euclidean terbesar, dan meletakkan pada kolom pertama.
Sebagai contoh:
Misalkan A= −0.5 0.6 0.4 .
Panjang dari setiap kolom adalah : Kolom 1:
−1 q
1.02 Di sini kita melihat bahwa kolom kedua memiliki panjang euclidean terbesar yaitu 2
1.536, dengan demikian kita pindahkan kolom kedua ini ke kolom pertama, menjadi, katakan A 2 .
Selanjutnya, dekomposisi QR dilakukan pada A 2 .
1 −1 1.02 −0.65 0.27 0.70 0 0 0.014 Setelah tadi kita melihat bahwa kolom kedua adalah yang memiliki panjang euclidean
terbesar, kita akan ambil kolom berikutnya yang terbesar. Untuk keperluan ini, kita lihat Matrik Hasil R yaitu :
Kolom pertama berasal dari kolom dengan norm terbesar sebelumnya, jadi kita tidak tinjau lagi kolom pertama ini. Kita perhatikan kolom kedua dan ketiga. Baris pertama juga kita abaikan, karena proses diagonalisasi tidak mengubah nilai dari matrik ini.
Jadi kita tinjau sisanya yaitu R 22 yang tersusun dari baris 2 dan 3 serta kolom 2 dan
3 dari matrik R.
Kita hitung panjang euclidean masing-masing kolom dari R 22 kita peroleh : Kolom pertama :
Dengan demikian kolom kedua harus kita pindahkan ke kolom pertama dari R 22 . Tapi jika kita kembalikan ke asalnya, kolom kedua dari R 22 berasal dari kolom 1 dari Matrik A, sedangkan kolom 2 dari R 22 berasal dari kolom ke 3 dari matrik A. Jika kita pandang matrik A sekali lagi yang terdiri dari tiga kolom, maka KOLOM
2 adalah yang paling signifikan panjang euclideannya, setelah itu KOLOM 3 (setelah
kita lakukan analisis pada R 22 ) dan terakhir KOLOM 1.
Jika matrik A kita ubah urutannya dengan cara ini maka kita peroleh :
Matrik yang telah dipermutasi (A B ) yang kemudian dilakukan dekomposisi QR:
Teknik mempermutasikan kolom dari A sebelum QR dekomposisi ini disebut dengan dekomposisi QR dengan column pivoting. Penyelesaian persamaan linier A · x = y dilakukan dengan mendekomposisi A B = Q B ·R B . Solusi akhir disusun kembali sesuai dengan permutasi yang dilakukan.
2.5 Penyelesaian masalah sistem persamaan linier Underdetermined
Tinjau sistem persamaan berikut:
−0.5x 1 + 0.6x 2 + 0.4x 3 = 1.2
dan
x 1 +x 2 +x 3 =3
Sistem persamaan tersebut memiliki dua persamaan dengan tiga variabel tidak diketahui. Akan ada banyak solusi dari persamaan tersebut.
langsung. Solusi kedua dengan QR dan pivot kolom. Sistem persamaan tersebut dalam matrik dapat dituliskan sebagai:
Kita dekomposisi A dengan melakukan column pivoting, kita peroleh urutan permutasi adalah : 2, 1, 3. Setelah kita permutasikan, kita peroleh matrik A B :
1 1 1 Dekomposisi QR pada A B diperoleh:
=Q B ·R B
0.1715 Kembalikan ke persamaan semula (Ax=y −− > QRx=y):
Di sini urutan x adalah x
untuk menyesuaikan permutasi 2, 1, 3 pada A
sebelumnya.
−0.5145 −0.8575 Karena orthonormal, maka
−0.8575 0.5145 −0.8575 0.5145 Setelah ruas kanan dihitung dan disederhanakan, kita peroleh:
Oleh karena kolom R telah diurutkan dari norm euclidean terbesar ke terkecil, maka dampak dari kolom ke-3 adalah paling minimal. Oleh karena itu kita abaikan kolom ini, yang berkorespondensi dengan membuat x 3 = 0, kita peroleh penyederhanaan menjadi:
Atau Tinjau sistem persamaan berikut:
−1.1662x 2 − 0.6002x 1 = −3.1899
dan
0x 2 − 0.9432x 1 = 0.5145
Selesaikan dari baris paling bawah: diperoleh :
Substitusikan pada persamaan baris pertama diperoleh :
Dengan demikian, solusi dari :
−0.5x 1 + 0.6x 2 + 0.4x 3 = 1.2
dan
Dengan sudut pandang variabel dari yang memberikan kontribusi besar sampai variabel yang memberikan kontribusi kecil. Solusi ini sesuai dengan operator backslash (\) dari Matlab.