Bab 4 - Faktorisasi QR

  • View
    632

  • Download
    76

Embed Size (px)

Text of Bab 4 - Faktorisasi QR

Bab IVFaktorisasi QR4.1 PendahuluanFaktorisasi QR dari matrik A berukuran m x n adalah penguraian matrik A menjadiA = Q Rdimana Q Rm x m adalah orthogonal dan R Rm x n segitiga atas. Faktorisasi ini sering juga disebutfaktorisasi orthogonal(orthogonal factorization). Ada beberapa cara yang digunakan untuk menghitung faktorisasi QR ini, antara lain: HouseholderReflection,GivensRotation,Gram-SchmidtdanModifiedGram-Schmidt.4.2 Faktorisasi QR Sebagai Suatu Masalah TransformasiFaktorisasi A = QR dapat ditulis sebagai QTA = R, karena Q adalah matrik orthogonal. Bentuk QTA = R ini dapat dilihat sebagai suatu transformasi dengan matriktransformasi QT. Sehingga, persoalanfaktorisasi QRdapat jugadilihat sebagai suatupersoalantransformasi, yaitumencari matriktransformasi yang orthogonal (Q) sedemikian sehingga QTA = R, dimana R adalah matrik segitiga atas. Contoh 1:1111]1

1111]1

0 0 00 00xx xx x xx x xx x xx x xx x xQTHM, Rev. November, 2011Bab IV - 1Ada beberapa cara untuk mencari matrik transformasi QT, antara lain: (1) menggunakan prinsip pencerminan (reflection), disebut Householder reflection, dan (2) Menggunakan prinsip rotasi (rotation), disebut Given rotation. Pencerminan dan Rotasi Pada R2Matrik standar untuk suatu pencerminan pada garis yang memiliki sudut berlawanan jarum jam terhadap sumbu x adalah (lihat lat. 4.2 no 23 buku aljabar linear elementer, Howard Anton):1]1

2 cos 2 sin2 sin 2 cosTQdan matrik standar untuk rotasi sebesar 0 berlawanan arah jarum jam adalah1]1

cos sinsin cosTQKedua matrik diatas adalah orthogonal dan dapat digunakan untuk membuat nol nilai-nilai padasuatuvektordenganmemilihgarispencerminan dan sudut rotasi yang sesuai.Contoh 2:Misal x = T) 3 , 1 ( . 1) Jika kita pilih garis dengan sudut 15oterhadap sumbu x sebagai garis pencerminan, maka matrik transformasi dari pencerminan ini adalah:1]1

1]1

2 / 3 2 / 12 / 1 2 / 330 cos 30 sin30 sin 30 cos0 00 0TQMaka QTx=(2, 0)T, atauQTakanmentransformasikanxmenjadi vektor dengan komponen nol pada nilai keduanya. HM, Rev. November, 2011Bab IV - 22) Jika kita pilih sudut rotasinya adalah 60o, maka matrik transformasi dari rotasi ini adalah:1]1

1]1

2 / 1 2 / 32 / 3 2 / 1) 60 ( cos ) 60 sin() 60 ( sin ) 60 ( cos0 00 0TQMakaQTx=(2, 0)T, atauQTakanmentransformasikanxmenjadi vektor dengan komponen nol pada nilai keduanya.Dua fenomena diatas menjadi dasar ide pengembangan metode Householder reflectiondanGiven rotationdalammencari matrik Qdari faktorisasi QR. YaitumatrikQdimanaQTdapatmentransformasikanmasing-masing vektor kolomAmenjadi vektor kolommatrikRyangbernilai nol dibawah diagonal utamanya. 4.3 Householder ReflectionDefinisi. Misal v Rnadalah vektor tidak nol.Matrik P berukuran n x n dalam bentuk P = I - 2vvT / vTvdisebutmatrik Householderdan vektor v disebutvektor Householder. Theorema. Matrik Householder P adalah matrik yang simetri dan orthogonal. Sehingga invers dari matrik tersebut adalah dirinya sendiri.HM, Rev. November, 2011Bab IV - 3Bukti. Misal w=v/||v|| yaitusuatuvektorsatuan. MakaPbisaditulis sebagai P = I - 2wwT. Dari sini terlihat bahwa P simetri. Kemudian karena w adalah vektor satuan (||w|| = 1) maka P orthogonal, karena PTP= (I - 2wwT) (I - 2wwT) = I - 4wwT + 4wwTwwT = ITheorema. Misale1adalah vektor yang bernilai nol semua kecuali komponen pertama yang bernilai 1. Maka matrik Householder P = I - 2vvT/vTv dimana vektor v = x t||x||e1, akan mentransformasikan x menjadi suatu vektor yang bernilai nol semua kecuali komponen pertamanya. Bukti. Misal diberikan x Rn maka kita inginkan bahwa Px = e1. Untuk sembarang x Rn kita dapatkanvv vx vx xv vvvI PxTTTT2 2

,_

sehingga Px span{e1} (= direntang e1) dan berimplikasi v span{x, e1}. Dari kondisi itu jika kiat buat v = x + e1 makavTx = xTx + x1dan vTv = xTx + 2x1 + 2sehingga,1211222 1 ev vx vxx x xx x xPxTTTT

,_

+ ++ Agar supaya koefisien x bernilai nol, ini tujuannya supaya hanya nilai ke-1 saja yang tidak bernilai nol, maka kita buat = t||x||, sehingga v = x t ||x|| e1HM, Rev. November, 2011Bab IV - 4Contoh 3:Misal x = (3, 4)T, selanjutnya untuk membentuk matrik Householder yang akan mentransformasikan x menjadi suatu vektor dengan semua komponen bernilai nol kecuali komponen pertamanya adalah sbb:(1) Menggunakan tanda positip, yaitu

,_

,_

+

,_

+ 48015431e x x v, dan1]1

1]1

1]1

1]1

1]1

6 . 0 8 . 08 . 0 6 . 04 . 0 8 . 08 . 0 6 . 11 00 116 3232 648021 00 12v vvvI PTTsehingga Px = (-5, 0)T(2) Menggunakantandanegatip, yaitu

,_

,_

,_

42015431e x x v, dan1]1

1]1

1]1

1]1

1]1

4 . 0 8 . 08 . 0 6 . 04 . 1 8 . 08 . 0 4 . 01 00 116 88 42021 00 12v vvvI PTTsehingga Px = (5, 0)TContoh 4:1. Jika x = (21, 5, 4)T maka

,_

,_

+

,_

+ 459545 . 420019545 . 2145211e x x vdan 111]1

0.98300.0212 -0.1822 -0.0212 -0.97350.2277 -0.1822 -0.2277 -0.9565 -v vvvI PTT21sehingga P1x = (-21.9545, 0, 0)THM, Rev. November, 2011Bab IV - 52. Jika x = (21, 5, 4)T merupakan kolom pertama dari suatu matrik, misal:A = 111]1

4 47 57 21Maka perkalian P1dan A akan membuat nol nilai-nilai dibawah diagonal utama pada kolom pertama, yaitu:P1A = 111]1

3560 . 5 0000 . 03051 . 5 0000 . 05611 . 7 9545 . 21Algoritma Faktorisasi QR Dengan Householder ReflectionAlgoritma. Jika diberikanmatrik ARm x nmaka prosedur berikut akan membentuk faktorisasi QR dari A, yaitu A = QR. Tahap 1:Tentukan t buah matrik Householder (Pi) yang akan mentransformasikanmatrikAmenjadi matriksegitiga atas (R), yaitu:Pt P2 P1 A = RIlustrasi untuk matrik A berukuran 5 x 3:111111]1

111111]1

111111]1

111111]1

0 0 00 0 00 000 00 00 0000003 2 1xx xx x xxxxx xx x xx xx xx xx xx x xx x xx x xx x xx x xx x xAP P PHM, Rev. November, 2011Bab IV - 6Tahap 2: Karena Piadalah matrik simetri danorthogonal maka A=P1P2PtR. Selanjutnya, kitadapat membentuk faktorisasi A = QR, dimana Q = P1 P2 Pt Rm x m adalah matrik orthogonal dan R Rmxnadalah matrik segitiga atas yang berukuran sama dengan matrik A.Contoh 5:Tentukan faktorisasi QR dari matrik:A = 111]1

4 47 57 21Jawab:Tahap 1: Menentukan 2 buah matrik Householder(1) Dari contoh 4 diperoleh P1 =111]1

0.98300.0212 -0.1822 -0.0212 -0.97350.2277 -0.1822 -0.2277 -0.9565 -Sehingga P1A = 111]1

3560 . 5 0000 . 03051 . 5 0000 . 05611 . 7 9545 . 21(3) Untuk membuat P1A menjadi segitiga atas maka kita harus membuat nol elemen (3,2). Karena matrik Householder akan mentransformasikan suatuvektor menjadi vektor yangbernilai nol kecuali komponen pertamanya, maka untuk membuat nol elemen (3,2) dari matrik P1Adiatas, kita pilihvektor x=(5.3051, -5.3560)T. HM, Rev. November, 2011Bab IV - 7Selanjutnya lakukan prosedur seperti Contoh 3, no 1, untuk menentukan vektor dan matrik Householder, yaitu:

,_

,_

+

,_

+ 3560 . 58437 . 12015386 . 73560 . 53051 . 51e x x vSupayamatrikHouseholder yangdibentukakanmembuat nol nilai dibawah diagonal utama dari kolom dua, maka kita buat v = (0.0000, 12.8437, -5.3560)TSelanjutnya kita peroleh 111]1

0.7037 0.71050.00000.7105 0.7037 -0.00000.0000 0.00001.000022v vvvI PTTSehingga P2P1A = 111]1

0000 . 0 0000 . 05386 . 7 0000 . 05611 . 7 9545 . 21Tahap 2: Menentukan matrik Q dan R- Q = P1P2 = 111]1

0.67670.71330.1822 -0.67670.7001 -0.2277 -0.2900 -0.03080.9565 -- R = 111]1

0000 . 0 0000 . 05386 . 7 0000 . 05611 . 7 9545 . 21Teknik Implementasi Vektor HouseholderAlgoritma. Dalam implementasi ke program komputer, untuk menghidari saling meniadakan maka tandatpada formula vektor Householder v dipilih sama dengan tanda dari komponen ke-1 dari x, sehingga v menjadi berbentukHM, Rev. November, 2011Bab IV - 8v = x + sign(x1) ||x|| e1selanjutnya, untuk efisiensi space memori maka v dinormalkan sehingga komponen pertama v bernilai 1 atau v(1) = 1.Algoritma berikut ini akan menghitung vektor v :Langkah 1: n = panjang(x), = ||x|| = 2 2221 nx x x + + + Langkah 2: Jika 0 maka = x(1) + sign(x(1)) ,v(2:n) = x(2:n)/Langkah 3: v(1) = 1Contoh 6:Jika x = (21, 5, 4)T makaLangkah 1:n = 3, = ||x|| = 21.9545Langkah 2: = x(1) + sign(x(1)) = 21 + 21.9545 = 42.9545v(2) = x(2)/ = 5/42.9545 = 0.1164v(3) = x(3)/ = 4/42.9545 = 0.0931Langkah 3:v(1) = 1Sehingga v = (1.0000, 0.1164, 0.0931)THM, Rev. November, 2011Bab IV - 94.4 Givens RotationMatrikGiven, disebut jugaGivenrotationatauGiventransformation, adalah matrik yang berbentuk:G(i, k, ) = k ikic ss c111111111]1

1 0 0 00 00 00 0 0 1 dimana c = cos dan s = sin . Matrik Given jelas orthogonal karena GTG = I.Perkalian suatu vektor x dengan G(i, k, )T, yaitu G(i, k, )Tx, adalah suatu rotasi dengan sudut berlawanan arah jarum jam pada bidang koordinat (i,k).Contoh 7:Matrik Given berukuran 2 x 2 akan berbentuk:G(1, 2, ) = 1]1

1]1

cos sinsin cosc ss c dan G(1, 2, )T = 1]1

cos sinsin cos.Sehingga G(1, 2, )Tx =1]1

1]1

21cos sinsin cosxx merupakan suatu rotasi dengan sudut berlawanan arah jarum jam pada bidang koordinat (x1, x2).HM, Rev. November, 2011Bab IV - 10Misal x Rn, maka perkalian x dengan matrik Given G(i, k, )T adalah: 111111111]1

+111111111]1

111111111]1

111111111]1

nk ik inkinkixcx sxsx cxxxxxxc ss cyyyy 1 1 11 0 0 00 00 00 0 0 1 atau' + k i j jika xk j jika cx sxi j jika sx cxyjk ik ij,Dari formula diatas, kita dapat membuat nilai yk menjadi nol yaitu dengan cara membuat nilai2 2 2 2k ikk iix xxs danx x xc++Contoh 8:Jika x = (1, 2, 3, 4)T dan kita ingin membuat nol elemen terakhir. Jika kita pilih i = 3 dan k = 4, maka5416 945316 932423424233++ ++x xxs danx x xcsehinggaG(3, 4)T = 1111]1

5 / 3 5 / 4 0 05 / 4 5 / 3 0 00 0 1 00 0 0 1, dan G(3, 4)Tx = 1111]1

1111]1

11