• Tidak ada hasil yang ditemukan

Bab 4 - Faktorisasi QR

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab 4 - Faktorisasi QR"

Copied!
22
0
0

Teks penuh

(1)

Bab IV

Faktorisasi QR

4.1 Pendahuluan

Faktorisasi QR dari matrik A berukuran m x n adalah penguraian matrik A menjadi

A = Q R

dimana Q ∈ Rm x m adalah orthogonal dan R Rm x n segitiga atas. Faktorisasi ini

sering juga disebut faktorisasi orthogonal (orthogonal factorization). Ada beberapa cara yang digunakan untuk menghitung faktorisasi QR ini, antara lain: Householder Reflection, Givens Rotation, Schmidt dan Modified Gram-Schmidt.

4.2 Faktorisasi QR Sebagai Suatu Masalah Transformasi

Faktorisasi A = QR dapat ditulis sebagai QTA = R, karena Q adalah matrik

orthogonal. Bentuk QTA = R ini dapat dilihat sebagai suatu transformasi dengan

matrik transformasi QT. Sehingga, persoalan faktorisasi QR dapat juga dilihat

sebagai suatu persoalan transformasi, yaitu mencari matrik transformasi yang orthogonal (Q) sedemikian sehingga QTA = R, dimana R adalah matrik segitiga

atas. Contoh 1:             =             0 0 0 0 0 0 x x x x x x x x x x x x x x x x x x QT

(2)

Ada 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 R

2

Matrik 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):

      − = θ θ θ θ 2 cos 2 sin 2 sin 2 cos T Q

dan matrik standar untuk rotasi sebesar θ0 berlawanan arah jarum jam adalah

      − = θ θ θ θ cos sin sin cos T Q

Kedua matrik diatas adalah orthogonal dan dapat digunakan untuk membuat nol nilai-nilai pada suatu vektor dengan memilih garis pencerminan dan sudut rotasi yang sesuai.

Contoh 2:

Misal x = (1, 3)T.

1)

Jika kita pilih garis dengan sudut 15o terhadap sumbu x sebagai garis

pencerminan, maka matrik transformasi dari pencerminan ini adalah:       − =       − = 2 / 3 2 / 1 2 / 1 2 / 3 30 cos 30 sin 30 sin 30 cos 0 0 0 0 T Q

Maka QTx = (2, 0)T, atau QT akan mentransformasikan x menjadi

(3)

2)

Jika kita pilih sudut rotasinya adalah –60o, maka matrik transformasi

dari rotasi ini adalah:

      − =       − − − − − = 2 / 1 2 / 3 2 / 3 2 / 1 ) 60 ( cos ) 60 sin( ) 60 ( sin ) 60 ( cos 0 0 0 0 T Q

Maka QTx = (2, 0)T, atau QT akan mentransformasikan x menjadi

vektor dengan komponen nol pada nilai keduanya.

Dua fenomena diatas menjadi dasar ide pengembangan metode Householder reflection dan Given rotation dalam mencari matrik Q dari faktorisasi QR. Yaitu matrik Q dimana QT dapat mentransformasikan

masing-masing vektor kolom A menjadi vektor kolom matrik R yang bernilai nol dibawah diagonal utamanya.

4.3 Householder Reflection

Definisi. Misal v ∈ Rn adalah vektor tidak nol. Matrik P berukuran n x n

dalam bentuk

P = I - 2vvT / vTv

disebut matrik Householder dan vektor v disebut vektor Householder.

Theorema. Matrik Householder P adalah matrik yang simetri dan orthogonal. Sehingga invers dari matrik tersebut adalah dirinya sendiri.

(4)

Bukti. Misal w = v/||v|| yaitu suatu vektor satuan. Maka P bisa ditulis 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 = I

Theorema. Misal e1 adalah vektor yang bernilai nol semua kecuali komponen

pertama yang bernilai 1. Maka matrik Householder P = I - 2vvT/vTv

dimana vektor v = x ± ||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 = αe

1. Untuk

sembarang x ∈ Rn kita dapatkan

v v v x v x x v v vv I Px 2T T = − 2TT     =

sehingga Px ∈ span{e1} (= direntang e1) dan berimplikasi v ∈ span{x, e1}.

Dari kondisi itu jika kiat buat v = x + αe1 maka

vTx = xTx + αx 1 dan vTv = xTx + 2αx1 + α2 sehingga, 1 2 1 1 2 2 2 1 e v v x v x x x x x x x Px T T T T α α α α     + + + − =

Agar supaya koefisien x bernilai nol, ini tujuannya supaya hanya nilai ke-1 saja yang tidak bernilai nol, maka kita buat α = ±||x||, sehingga v = x

(5)

Contoh 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 = + =  + 501 = 48 4 3 1 e x x v , dan       − − − =       −       =       −       = − = 6 . 0 8 . 0 8 . 0 6 . 0 4 . 0 8 . 0 8 . 0 6 . 1 1 0 0 1 16 32 32 64 80 2 1 0 0 1 2 v v vv I P T T sehingga Px = (-5, 0)T

(2)

Menggunakan tanda negatip, yaitu = − =  − 510 =  − 42 4 3 1 e x x v , dan       − =       − − −       =       − − −       = − = 4 . 0 8 . 0 8 . 0 6 . 0 4 . 1 8 . 0 8 . 0 4 . 0 1 0 0 1 16 8 8 4 20 2 1 0 0 1 2 v v vv I P T T sehingga Px = (5, 0)T Contoh 4: 1. Jika x = (21, 5, 4)T maka           =           +           = + = 4 5 9545 . 42 0 0 1 9545 . 21 4 5 21 1 e x x v dan           = − = 0.9830 0.0212 0.1822 -0.0212 0.9735 0.2277 -0.1822 0.2277 0.9565 -v v vv I P T T 2 1 sehingga P1x = (-21.9545, 0, 0)T

(6)

2.

Jika x = (21, 5, 4)T merupakan kolom pertama dari suatu matrik, misal: A =           − 4 4 7 5 7 21

Maka perkalian P1 dan A akan membuat nol nilai-nilai dibawah diagonal

utama pada kolom pertama, yaitu: P1A =           − − − 3560 . 5 0000 . 0 3051 . 5 0000 . 0 5611 . 7 9545 . 21

Algoritma Faktorisasi QR Dengan Householder Reflection

Algoritma. Jika diberikan matrik A ∈ Rm x n maka prosedur berikut akan

membentuk faktorisasi QR dari A, yaitu A = QR.

Tahap 1: Tentukan t buah matrik Householder (Pi) yang akan

mentransformasikan matrik A menjadi matrik segitiga atas (R), yaitu:

Pt … P2 P1 A = R

Ilustrasi untuk matrik A berukuran 5 x 3:

                 →                   →                   →                  = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x A P P P

(7)

Tahap 2: Karena Pi adalah matrik simetri dan orthogonal maka

A = P1 P2 … Pt R. Selanjutnya, kita dapat membentuk

faktorisasi A = QR, dimana Q = P1 P2 … Pt ∈ Rm x m adalah

matrik orthogonal dan R ∈ Rm x n adalah matrik segitiga

atas yang berukuran sama dengan matrik A. Contoh 5:

Tentukan faktorisasi QR dari matrik: A =           − 4 4 7 5 7 21 Jawab:

Tahap 1: Menentukan 2 buah matrik Householder (1) Dari contoh 4 diperoleh P1 =

          0.9830 0.0212 0.1822 - 0.0212 0.9735 0.2277 - 0.1822 0.2277 0.9565 - Sehingga P1A =           − − − 3560 . 5 0000 . 0 3051 . 5 0000 . 0 5611 . 7 9545 . 21

(3)

Untuk membuat P1A menjadi segitiga atas maka kita harus

membuat nol elemen (3,2). Karena matrik Householder akan mentransformasikan suatu vektor menjadi vektor yang bernilai nol kecuali komponen pertamanya, maka untuk membuat nol elemen (3,2) dari matrik P1A diatas, kita pilih vektor x = (5.3051, -5.3560)T.

(8)

Selanjutnya lakukan prosedur seperti Contoh 3, no 1, untuk menentukan vektor dan matrik Householder, yaitu:

    − =     +     − = + = 3560 . 5 8437 . 12 0 1 5386 . 7 3560 . 5 3051 . 5 1 e x x v

Supaya matrik Householder yang dibentuk akan membuat nol nilai dibawah diagonal utama dari kolom dua, maka kita buat v = (0.0000, 12.8437, -5.3560)T

Selanjutnya kita peroleh

          = − = 0.7037 0.7105 0.0000 0.7105 0.7037 0.0000 0.0000 0.0000 1.0000 2 2 v v vv I P T T Sehingga P2P1A =           − − − 0000 . 0 0000 . 0 5386 . 7 0000 . 0 5611 . 7 9545 . 21

Tahap 2: Menentukan matrik Q dan R

-

Q = P1P2 =           0.6767 0.7133 0.1822 -0.6767 0.7001 0.2277 -0.2900 0.0308 0.9565

--

R =           − − − 0000 . 0 0000 . 0 5386 . 7 0000 . 0 5611 . 7 9545 . 21

Teknik Implementasi Vektor Householder

Algoritma. Dalam implementasi ke program komputer, untuk menghidari saling meniadakan maka tanda ± pada formula vektor Householder v dipilih sama dengan tanda dari komponen ke-1 dari x, sehingga v menjadi berbentuk

(9)

v = x + sign(x1) ||x|| e1

selanjutnya, 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 2 2

2

1 x xn

x + + ⋯+ Langkah 2: Jika µ≠ 0 maka

β = x(1) + sign(x(1)) µ, v(2:n) = x(2:n)/β Langkah 3: v(1) = 1 Contoh 6: Jika x = (21, 5, 4)T maka Langkah 1: n = 3, µ = ||x|| = 21.9545 Langkah 2: β = x(1) + sign(x(1)) µ = 21 + 21.9545 = 42.9545 v(2) = x(2)/ β = 5/42.9545 = 0.1164 v(3) = x(3)/ β = 4/42.9545 = 0.0931 Langkah 3: v(1) = 1 Sehingga v = (1.0000, 0.1164, 0.0931)T

(10)

4.4 Givens Rotation

Matrik Given, disebut juga Given rotation atau Given transformation, adalah matrik yang berbentuk:

G(i, k, θ) = k i k i c s s c                       − 1 0 0 0 0 0 0 0 0 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, θ) =       − =       − θ θ θ θ cos sin sin cos c s s c dan G(1, 2, θ)T =      − θ θ θ θ cos sin sin cos . Sehingga G(1, 2, θ)Tx =            − 2 1 cos sin sin cos x x θ θ θ θ

merupakan suatu rotasi dengan sudut θ berlawanan arah jarum jam pada bidang koordinat (x1,

(11)

Misal x ∈ Rn, maka perkalian x dengan matrik Given G(i, k, θ)T adalah:                       + − =                                             − =                       n k i k i n k i n k i x cx sx sx cx x x x x x c s s c y y y y ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋯ ⋯ ⋮ ⋱ ⋮ ⋮ ⋮ ⋯ ⋯ ⋯ ⋮ ⋮ ⋱ ⋮ ⋮ ⋯ ⋯ ⋯ ⋮ ⋮ ⋮ ⋱ ⋮ ⋯ ⋯ ⋯ ⋮ ⋮ ⋮ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 atau      ≠ = + = − = k i j jika x k j jika cx sx i j jika sx cx y j k i k i j ,

Dari formula diatas, kita dapat membuat nilai yk menjadi nol yaitu dengan

cara membuat nilai

2 2 2 2 k i k k i i x x x s dan x x x c + − = + = Contoh 8:

Jika x = (1, 2, 3, 4)T dan kita ingin membuat nol elemen terakhir. Jika kita

pilih i = 3 dan k = 4, maka

5 4 16 9 4 5 3 16 9 3 2 4 2 3 4 2 4 2 3 3 = − + − = + − = = + = + = x x x s dan x x x c sehingga G(3, 4)T =             − 4/5 3/5 0 0 5 / 4 5 / 3 0 0 0 0 1 0 0 0 0 1 , dan G(3, 4)Tx =             =                         − 0 5 2 1 4 3 2 1 5 / 3 5 / 4 0 0 5 / 4 5 / 3 0 0 0 0 1 0 0 0 0 1

(12)

Algoritma Faktorisasi QR Dengan Given Rotation

Algoritma. Jika diberikan matrik A ∈ Rm x n maka prosedur berikut akan

membentuk faktorisasi QR dari A, yaitu A = QR.

Tahap 1: Tentukan t buah matrik Given (Gi) yang akan membuat

matrik A menjadi segitiga atas (R), yaitu: R A G G GT T T t ⋯ 2 1 =

Ilustrasi untuk matrik A berukuran 4 x 3:

R x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x A T T T T T T G G G G G G =                →                 →                 →                →                 →                 →              = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) 4 , 3 ( ) 3 , 2 ( ) 4 , 3 ( ) 2 , 1 ( ) 3 , 2 ( ) 4 , 3 (

Tahap 2: Karena Gi adalah matrik orthogonal maka A =

R G G

G1t 1 t . Selanjutnya, kita dapat membentuk

faktorisasi A = QR, dimana Q = G1 ⋯Gt−1Gt ∈ Rm x m adalah matrik orthogonal dan R ∈ Rm x n adalah matrik

(13)

Contoh 9:

Tentukan faktorisasi QR dari matrik: A =           − 4 4 7 5 7 21 Jawab:

Tahap 1: Menentukan 3 buah matrik Given

(1)

Misal x = (21, 5, 4)T, untuk membuat nol komponen ketiga ambil i = 2

dan j = 3, sehingga: 6247 . 0 16 25 4 7809 . 0 16 25 5 2 3 2 2 3 2 3 2 2 2 = + − = + − = = + = + = x x x s dan x x x c

-

Matrik Given G1(2,3)T =           − =           − 7809 . 0 6247 . 0 0 6247 . 0 7809 . 0 0 0 0 1 0 0 0 0 1 c s s c

-

Kemudian G1TA =           − 7.4963 0 9673 . 2 4031 . 6 7 21

(2)

Misal x = (21, 6.4031, 0)T, untuk membuat nol komponen kedua ambil

i = 1 dan j = 2, sehingga: 2917 . 0 9545 . 21 4031 . 6 9565 . 0 9545 . 21 21 2 2 2 1 2 2 2 2 1 1 == + − = = = + = x x x s dan x x x c

-

Matrik Given G2(1,2)T =           − =           − 1 0 0 0 9565 . 0 2917 . 0 0 2917 . 0 9565 . 0 1 0 0 0 0 c s s c

(14)

-

Kemudian G2TG1TA =           − 7.4963 0 7967 . 0 0 5611 . 7 9545 . 21

(3)

Misal x = (7.5611, 0.7967, -7.4963)T, untuk membuat nol komponen

ketiga ambil i = 2 dan j = 3, sehingga:

9944 . 0 5385 . 7 4963 . 7 1057 . 0 5385 . 7 7967 . 0 2 3 2 2 3 2 3 2 2 2 = = + − = = = + = x x x s dan x x x c

-

Matrik Given G3(2,3)T =           − =           − 1057 . 0 9944 . 0 0 9944 . 0 1057 . 0 0 0 0 1 0 0 0 0 1 c s s c

-

Kemudian G3TG2TG1TA =           0 0 5386 . 7 0 5611 . 7 9545 . 21

Tahap 2: Menentukan matrik Q dan R

-

Q = G1G2G3 =           0.6767 0.7134 0.1822 0.6767 0.7002 0.2278 0.2901 0.0308 0.9565

-

R =           0 0 5386 . 7 0 5611 . 7 9545 . 21 Catatan:

Given rotation memerlukan waktu komputasi kurang lebih dua kali lebih banyak dari Householder reflection. Akan tetapi, untuk kasus dimana hanya sedikit elemen matrik yang akan dinolkan, Given rotation adalah metode yang dipilih. Karena Given rotation dapat menentukan posisi yang akan di nolkan.

(15)

Teknik Implementasi Nilai c dan s

Algoritma. Dalam implementasi ke program komputer, untuk menghidari overflow maka proses perhitungan nilai c dan s dapat dilakukan dengan cara berikut:

Diberikan skalar a dan b, algoritma berikut akan menghitung nilai c dan s

sehingga      =             − 0 t b a c s s c T : if b = 0 then c = 1; s = 0; else

if |b| > |a| then k = -a/b; s = 1/(1+k2)0.5; c = sk;

else k = -b/a; c = 1/(1+k2)0.5; s = ck

end Contoh 10:

Jika x = (1, 2, 3, 4)T dan kita ingin membuat nol elemen terakhir. Jika kita

pilih i = 3 dan k = 4, maka a = 3, b = 4 dan

( )

5 3 4 3 5 4 5 4 4 3 1 1 1 1 ; 4 3 2 2  = −     − = = = − + = + = − = − = dan c sk k s b a k Sehingga G(3, 4)T =             − − − 5 / 3 5 / 4 0 0 5 / 4 5 / 3 0 0 0 0 1 0 0 0 0 1 , dan G(3, 4)Tx =             − =                         − − − 0 5 2 1 4 3 2 1 5 / 3 5 / 4 0 0 5 / 4 5 / 3 0 0 0 0 1 0 0 0 0 1

(16)

4.5 Metode Gram-Schmidt

Metode lain yang dapat digunakan untuk mencari faktorisasi QR adalah metode Gram-Schmidt. Pada metode ini, matrik Q yang dihasilkan bukan matrik bujursangkar sehingga bukan merupakan matrik orthogonal. Matrik Q yang dihasilkan adalah matrik dengan vektor kolom yang orthonormal.

Definisi. Misal A ∈ Rm x n, maka faktorisasi QR "skinny'' dari A adalah

A = Q1 R1

dimana Q1 ∈ Rm x n memiliki kolom-kolom yang orthonormal dan R1 ∈

Rn x n adalah matrik segitiga atas dengan entri pada diagonalnya

positip. Untuk membedakan dengan faktorisasi sebelumnya, faktorisasi QR “skinny” ditulis dengan menggunakan indeks 1, yaitu A = Q1R1

4.5.1 Classical Gram-Schmidt

Metode Gram-Schmidt pertama yang digunakan untuk menghitung faktorisasi QR "skinny" dikenal dengan nama Classical Gram-Schmidt (CGS). Metode ini didasarkan ide bahwa setiap matrik dapat dibuat menjadi matrik yang memiliki vektor kolom yang orthonormal dan disebut matrik Q1. Selanjutnya

matrik R1 didapat dari matode langsung berdasarkan hubungan A = Q1R1.

Berikut ini adalah metode faktorisasi QR dengan menggunakan CGS:

Misal A = [a1 | a2 | ….. | an], dimana ai ∈ Rm adalah vektor kolom ke-i dari A

(17)

Penentuan Matrik Q: Langkah 1: v1 = a1; ⇒ q1 = v1/ v1 Langkah 2: v2 = a2 − a2,q1 q1; ⇒ q2 = v2/ v2 Langkah 3: v3 = a3 − a3,q1 q1− a3,q2 q2; ⇒ q3 = v3/ v3 …. Langkah n: i n n n n i i n n n a a q q q v v v , ; / 1 1 = ⇒ − =

− = Penentuan Matrik R:

Karena q1, q2, …, qn adalah vektor yang orthonormal, maka:

n n n n n n n n n n q q a q q a q q a a q q a q q a q q a a q q a q q a q q a a , , , , , , , , , 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 1 + + + = + + + = + + + = ⋯ ⋮ ⋯ ⋯ atau

[

] [

]

              = n n n n n n n n q a q a q a q a q a q a q a q a q a q q q a a a , , , , , , , , , 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 ⋯ ⋮ ⋮ ⋮ ⋯ ⋯ ⋯ ⋯

Karena untuk j ≥ 2, vektor qj orthogonal terhadap a1, a2, …., aj-1, maka

semua entri dibawah diagonal adalah nol dan matrik tersebut menjadi matrik segitiga atas dan disebut matrik R1, yaitu:

R1 =               n n n n q a q a q a q a q a q a , 0 0 , , 0 , , , 2 2 2 1 1 2 1 1 ⋯ ⋮ ⋮ ⋮ ⋯ ⋯

(18)

Algoritma Faktorisasi QR Dengan Classical Gram-Schmidt

Algoritma. Jika diberikan matrik A ∈ Rm x n dengan vektor kolom yang bebas

linear maka prosedur berikut akan membentuk faktorisasi QR dari A, yaitu A = QR.

Tahap 1: Lakukan n kali proses Gram-Schmidt terhadap masing-masing vektor kolom A = [a1, a2, .., an] untuk membentuk

vektor-vektor kolom yang orthonormal dari Q = [q1,

q2, .., qn]

Tahap 2: Tentukan nilai-nilai diatas diagonal utama dari matrik R

Contoh 11:

Tentukan faktorisasi QR dari matrik: A =           − 4 4 7 5 7 21 Jawab:

Tahap 1: Penentuan matrik Q -           = = 4 5 21 1 1 a v            = = 1822 . 0 2277 . 0 9565 . 0 1 1 1 v v q -           − − =           −           − = − = 3776 . 5 2780 . 5 2324 . 0 3776 . 1 7220 . 1 2324 . 7 4 7 7 , 1 1 2 2 2 a a q q v            − − = = 7133 . 0 7001 . 0 0308 . 0 2 2 1 v v q Sehingga           − − = 7133 . 0 1822 . 0 7001 . 0 2277 . 0 0308 . 0 9565 . 0 Q

(19)

Tahap 2: Penentuan matrik R       =       = 5386 . 7 0 5611 . 7 9545 . 21 , 0 , , 2 2 1 2 1 1 q a q a q a R

Teknik Implementasi Algoritma Classical Gram-Schmidt

Algoritma. Dalam implementasi ke program komputer, kolom ke-k dari matrik Rn x n dan Qm x n dapat dibangun serentak pada langkah ke-k, sbb:

k = 1 v = A(1:m, k) R(k,k) = ||v|| Q(1:m,k) = v/R(k,k) for k = 2 to n R(1:k-1, k) = Q(1:m, 1:k-1)T A(1:m, k) v = A(1:m, k) - Q(1:m, 1:k-1) R(1:k-1, k) R(k, k) = ||v|| Q(1:m, k) = v / R(k, k) end Contoh 12:

Untuk Contoh 11, proses yang dilakukan oleh algoritma CGS sbb:

Langkah 1 (k = 1):           − − − =       − − = 1822 . 0 2277 . 0 9565 . 0 0 9545 . 21 Q R Langkah 2 (k = 2):           − − =       = 7133 . 0 1822 . 0 7001 . 0 2277 . 0 0308 . 0 9565 . 0 5386 . 7 0 5611 . 7 9545 . 21 Q R

(20)

4.5.2 Modified Gram-Schmidt

Dalam perhitungannya, ternyata metode CGS sering kehilangan sifat orthogonalitas dari vektor-vektor kolom Q. Untuk mengatasi ini, dilakukan perbaikan urutan/prosedur pengerjaan dalam membangun matrik Q dan R. Algoritma ini disebut modified Gram-Schmidt (MGS).

Teknik Implementasi Algoritma Modified Gram-Schmidt

Algoritma. Algoritma MGS membangun secara serentak baris ke-k dari R dan kolom ke-k dari Q pada langkah ke-k, sbb:

for k = 1 to n R(k, k) = ||A(1:m, k)|| Q(1:m, k) = A(1:m, k) / R(k, k) for j = k+1 to n R(k, j) = Q(1:m, k)T A(1:m, j) A(1:m, j) = A(1:m, j) - Q(1:m, k) R(k, j) end end Contoh 13:

Untuk Contoh 11, proses yang dilakukan oleh algoritma MGS sbb:

Langkah 1 (k = 1):           − − − =       − = 1822 . 0 2277 . 0 9565 . 0 0 5611 . 7 9545 . 21 Q R Langkah 2 (k = 2):           − − =       = 7133 . 0 1822 . 0 7001 . 0 2277 . 0 0308 . 0 9565 . 0 5386 . 7 0 5611 . 7 9545 . 21 Q R

(21)

4.6 Aplikasi Faktorisasi QR

Ada beberapa aplikasi dari faktorisasi QR yang sering digunakan, antara lain:

1.

Bersama dengan metode kuadrat terkecil (least square), disebut juga orthogonal least squares (OLS), umum digunakan untuk memecahkan sistem persamaan linear (Amxn x = b) yang overdetermined (m ≥ n).

Misal A ϵ Rm x n dengan m ≥ n, dan b ϵ Rm diberikana dan misal bahwa suatu

matrik ortogonal Q ϵ Rm x m telah dihitung sedemikian sehingga QTA = R =

[

R1

0

]

n m−n adalah suatu matrik segitiga atas. Jika

QTb =

[

c d

]

n m−n maka ∥Ax−b∥22 = ∥QT Ax − QTb∥ 2 2 = ∥R1x − c∥22  ∥d∥22 untuk sembarang x ϵ Rn. Jelaslah bahwa jika rank(A) = rank(R

1) = n, maka

solusi kuadra terkecil xLS didefiniskan oleh sistem segitiga atas R1 xLS = c.

Catat bahwa nilai minimum residual adalah

(22)

2.

Digunakan untuk mengaproksimasi nilai eigen

3. Digunakan untuk mencari himpunan basis orthonormal dari suatu himpunan vektor. Misal: jika A adalah matrik berukuran m x n dengan vektor kolom yang bebas linear, maka n buah vektor kolom pertama dari Q adalah merupakan himpunan basis yang orthonormal yang akan merentang ruang yang sama dengan ruang yang direntang oleh vektor kolom A.

Gambar

Ilustrasi untuk matrik A berukuran 5 x 3:
Ilustrasi untuk matrik A berukuran 4 x 3:

Referensi

Dokumen terkait

hasil dan pembahasan dapat disimpulkan bahwa setiap matriks yang reguler kuat adalah Gondran-Minoux reguler dan himpunan vektor dikatakan bebas linear Gondran-Minoux jika

Jika matriks bujur sangkar berukuran n dan basis ruang eigen yang bebas linear berjumlah n juga, maka matriks tersebut dapat didiagonalisai , jika jumlahnya kurang dari

Untuk a dan d : Himpunan vektor dengan banyak elemen lebih besar dari dimensinya dijamin bergantung linear, sehingga bukan basis. Untuk b dan c : Himpunan vektor

Operasi perkalian dua buah matrik hanya bisa dilakukan bila jumlah kolom matrik pertama sama dengan jumlah baris matrik kedua.. Jadi kedua matrik tersebut tidak

Uji coba program paralel blok faktorisasi QR terhadap matriks-matriks padat bujur sangkar berukuran n=m=100 s/d n=m=2000 dengan ukuran blok dari 10 s/d 200 pada sistem

hasil dan pembahasan dapat disimpulkan bahwa setiap matriks yang reguler kuat adalah Gondran-Minoux reguler dan himpunan vektor dikatakan bebas linear Gondran-Minoux jika

Meskipun memungkinkan untuk menyajikan kontruksi formal dari bilangan real R berdasarkan himpunan primitive (misal himpunan N dari bilangan asli atau himpunan Q

Sebuah himpunan vektor S diruang Euclid dikatakan bergantung linear jika salah satu vektornya merupakan kombinasi linear vektor-vektor lainnya di S.. Ada tak hingga banyak nilai n