BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan...

29
Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 15/05/22 - 18:28 BAB 1 MENYELESAIKAN Ax = b , A MBS 1. Persamaan linear simultan: klasifikasi Diketahui MBS A (a ij ) R n n dan vektor b (b i ) R n . Dari n buah persamaan linear simultan a 11 x 1 + a 12 x 2 + a 13 x 3 + ... + a 1i x i + ... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 + ... + a 2i x i + ... + a 2n x n = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 + ... + a 3i x i + ... + a 3n x n = b 3 a i1 x 1 + a i2 x 2 + a i3 x 3 + ... + a ii x i + ... + a in x n = b i a n1 x 1 + a n2 x 2 + a n3 x 3 + ... + a ni x i + ... + a nn x n = b n yang dalam notasi matrix ditulis x x x x n 1 2 3 = A x = b atau lebih singkat lagi ditulis Ax = b , tetapkan x , dengan x (x i ) R n . Salah satu cara penyelesaian adalah dengan mengalikan ruas kiri dan ruas kanan tanda = dengan A -1 . A -1 Ax = A -1 b Karena A -1 A = I dan I x = x , maka diperoleh x = A -1 b . Jika A adalah MBS, A -1 (asal matrix itu taksingular) dapat diperoleh dengan misalnya menggunakan relasi SMW. Maka penyelesaian adalah x : = A -1 b . 1 1

Transcript of BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan...

Page 1: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

BAB 1MENYELESAIKAN Ax = b , A MBS

1. Persamaan linear simultan: klasifikasi

Diketahui MBS A (aij) Rnn dan vektor b (bi) Rn . Dari n buah persamaan linear simultan

a11x1 + a12x2 + a13x3 + ... + a1ixi + ... + a1nxn = b1

a21x1 + a22x2 + a23x3 + ... + a2ixi + ... + a2nxn = b2

a31x1 + a32x2 + a33x3 + ... + a3ixi + ... + a3nxn = b3

ai1x1 + ai2x2 + ai3x3 + ... + aiixi + ... + ainxn = bi

an1 x1 + an2 x2 + an3 x3 + ... + ani xi + ... + annx n = bn

yang dalam notasi matrix ditulis

xxx

xn

1

2

3

=

A x = b

atau lebih singkat lagi ditulis Ax = b, tetapkan x, dengan x (xi) Rn. Salah satu cara penyelesaian adalah dengan mengalikan ruas kiri dan ruas kanan

tanda = dengan A-1.A-1Ax = A-1b

Karena A-1A = I dan I x = x, maka diperolehx = A-1b.

Jika A adalah MBS, A-1 (asal matrix itu taksingular) dapat diperoleh dengan misalnya menggunakan relasi SMW. Maka penyelesaian adalah x : = A-1b.

Akan tetapi jika A adalah MPP, bagaimana penyelesaian itu (jika memang ada) akan didapatkan? Topik dengan A berupa MPP dibicarakan kemudian, sedang bab ini khusus membahas kasus A berupa MBS.

2. Cara partisi

Persamaan matrix Ax = b dapat juga ditulis dalam bentuk terpartisi:A11x1 + A12x2 = b1

A21x1 + A22x2 = b2

atau

1

1

Page 2: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

A AA A

11 12

21 22

xx

1

2

=

bb

1

2

misalnya dengan x1, b1 Rp dan x2, b2 Rn-p, serta A11 Rpp, A12 Rnx(n-p), A21 R(n-p)xp, dan A22 R(n-p)x(n-p).

Jika dalam persamaan matrix yang pertama A12x2 dipindahkan ke ruas sebelah kanan, dan persamaan dikalikan dengan A11

1 , diperolehx1 = A11

-1 b1 - A11-1 A12 x2

Hasil ini disubstitusikan kedalam persamaan marix yang kedua, agar persamaan kedua hanya mengandung x2.

A21 (A11-1 b1 - A11

-1 A12 x2) + A22x2 = b2,yang dapat ditata menghasilkan

A22 x2 - A21A11-1 A12x2 = b2 - A21 A11

-1 b1.Dengan mendefinisikan

H A22 - A21A11-1A12,

maka x2 dapat diperoleh:x2 : = H-1 (b2 - A21 A11

-1 b1).Dengan x2 telah diketemukan hasilnya, x1 dapat dihitung.

Apakah ada penurunan dalam beban komputasi jika persamaan matrix diselesaikan dengan cara terpartisi? -- Sebuah pertanyaan menarik untuk dikaji lebih jauh. Ada dua operasi invers, yaitu penetapan A11

1 dan H-1. Jika misalnya diambil m = n/2, beban komputasi untuk masing-masing invers adalah (n/2)3 flops. Dibandingkan dengan beban komputasi n3 flops untuk matrix utuhnya, beban komputasi itu hanya 25% saja.

3. Metode eliminasi Gauss

Eliminisasi Gauss pada dasarnya adalah mencoba mengubah rumusan persamaan Ax = b , dengan A MBS, menjadi persamaan Ux = y dengan U MSA. Proses itu disebut triangulasi, dilaksanakan secara sistematis, dengan bantuan matrix Gauss. Karena sudah dibicara di muka, sekarang dibahas sisi implementasinya.

2

2

Page 3: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

Metode eliminasi Gauss

2 1 0 1 38 6 6 2 80 4 5 1 6

16 24 24 13 330 0 6 26 17

xxxxx

1

2

3

4

5

=

11013387

.

1 0 0 0 04 1 0 0 0

0 0 1 0 08 0 0 1 0

0 0 0 0 1

2 1 0 1 30 2 6 2 40 4 5 1 60 16 24 5 90 0 6 26 17

xxxxx

1

2

3

4

5

=

11414187

.

1 0 0 0 00 1 0 0 00 2 1 0 00 8 0 1 00 0 0 0 1

2 1 0 1 30 2 6 2 40 0 7 3 140 0 24 21 410 0 6 26 17

xxxxx

1

2

3

4

5

=

1142971

87

.

1 0 0 0 00 1 0 0 00 0 1 0 00 0 24 7 1 00 0 6 7 0 1

//

2 1 0 1 30 2 6 2 40 0 7 3 140 0 0 75 7 70 0 0 200 7 5

//

xxxxx

1

2

3

4

5

=

11429

199 7435 7

//

.

1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 8 3 1

/

2 1 0 1 30 2 6 2 40 0 7 3 140 0 0 75 7 70 0 0 0 41 3

//

xxxxx

1

2

3

4

5

=

11429

199 741 3

//

.

Hasil proses eliminasi Gauss:

2 1 0 1 30 2 6 2 40 0 7 3 140 0 0 75 7 70 0 0 0 41 3

//

xxxxx

1

2

3

4

5

=

11429

199 741 3

//

.

3

3

Page 4: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

Dengan U dan y sudah didapatkan, bentuknya sekarang menjadi sebagai berikut:u11x1 + u12x2 + u13x3 + ... + u1ixi + ... + u1nxn = y1

u22x2 + u23x3 + ... + u2ixi + ... + u2nxn = y2

u33x3 + ... + u3ixi + ... + u3nxn = y3

uiixi + ui, i+1xi+1 + ... + uinxn = yi

unnxn = yn

Penyelesaian dapat diperoleh lewat pengamatan langsung:

xn : = yn/unn

xn-1 : = (yn-1 - un-1,nxn)/un-1,n-1

xi : = (yi - ui, i+1xi+1 - ui, i+2xi+2 - ... - uinxn)/uii

x1 : = (y1 - u12x2 - u13x3 - ... - u1nxn)/u11

Perhatikanlah, bahwa operasi invers atas matris U tidak diperlukan.

Catatan : Hal yang pada dasarnya sama juga berlaku untuk matrix Lx = b, dengan L matrix segitiga bawah:y1 = b1

21 1 2y y = b2

31 1 32 2 3y y y = b3

i i i i i i iy y y y y1 1 2 2 3 3 1 1 , = bi

n n n n n n ny y y y y1 1 2 2 3 3 1 1 , = bn

Jelaslah, bahwa y1, y2, ..., yn langsung dapat ditetapkan juga tanpa operasi mencari invers.

y1 : = b1

y2 : = b2 - 21y1

y3 : = b3 - 31y1 - 32y2

yi : = bi - i1y1 - i2y2 - i3y3 ... - i,i-1yi-1

yn : = bn - n1y1 - n2y2 - n3y3 ... - n,n-1yn-1.

Algoritma Gauss :

0. inputkan A dan b ; tetapkan n = dimensi dari matrix A.1. untuk k = 1 sampai dengan (n-1), kerjakan:

(i) tetapkan Gk :

4

4

Page 5: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

jika tidak berhasil, maka laporkan “gagal”; pergilah ke langkah 3.(ii) hitung A := Gk A dan b = Gk b;

2. Karena A sekarang MSA, tetapkan x langsung dari persamaan A x = b. laporkan “sukses”;3. Selesai.

Kiranya dapat dicatat, bahwa:

L = G1-1 G2

-1 G3-1 G4

-1 =

=

1 0 0 0 04 1 0 0 00 0 1 0 08 0 0 1 00 0 0 0 1

1 0 0 0 00 1 0 0 00 2 1 0 00 8 0 1 00 0 0 0 1

1 0 0 0 00 1 0 0 00 0 1 0 00 0 24 7 1 00 0 6 7 0 1

//

1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 8 3 1/

=

1 0 0 0 04 1 0 0 00 2 1 0 08 8 24 7 1 00 0 6 7 8 3 1

// /

Faktorisasi :

2 1 0 1 30 2 6 2 40 0 7 3 140 0 0 75 7 70 0 0 0 41 3

//

= U

L =

1 0 0 0 04 1 0 0 00 2 1 0 08 8 24 7 1 00 0 6 7 8 3 1

// /

2 1 0 1 38 6 6 2 80 4 5 1 6

16 24 24 13 330 0 6 26 17

= A.

4. Metode faktorisasi

Metode yang sama, tetapi lebih sistematis adalah melalui operasi faktorisasi. Persamaan matrix Ax = b dipecahkan dalam tiga tahap sebagai berikut:(1) Faktorisasi atas A menjadi perkalian dua matrix L dan U, A = LU dengan L =

matrix segitiga bawah satuan, dan U = matrix segitiga atas. Matrix segitiga bawah satuan adalah matrix segitiga bawah dengan semua elemen diagonalnya bernilai satu. Misalnya,

5

5

Page 6: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

1 2 0 12 3 1 00 4 2 55 5 2 4

=

1 0 0 02 1 0 00 4 1 05 5 35 1

.

1 2 0 10 1 1 20 0 2 30 0 0 15

.

A L U

Metode Doolittle, yang telah menjadi baku, untuk faktorisasi LU itu akan dijelaskan.

(2) Penyelesaian atas persamaan matrix Ly = b tanpa operasi invers;(3) Penyelesaian atas persamaan matrix Ux = y tanpa operasi invers.

Sudah ditunjukkan dimuka bagaimana tahap (2) dan (3) dikerjakan tanpa mencari invers dari L dan U. Pemecahan Ly = b dilaksanakan dengan langkah maju, berawal dari penetapan y1, diikuti oleh y2, y3, dan berakhir dengan yn. Pemecahan Ux = y terlaksana dengan langkah mundur, berawal dari penetapan xn, diikuti oleh xn-1, xn-2, dan berakhir dengan x1.

5. Faktorisasi A = LU dengan cara Doolittle (I)

Diberikan A (akj) Rnxn. Tetapkanlah L , matrix segitiga bawah satuan, dan U, matrix segitiga atas, agar A = LU.

Algoritma Doolittle adalah sebagai berikut:

6

6

Page 7: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

0. Langkah awal: k : = 1, untuk j = 1, 2, ..., n, kerjakan

u1j : = a1j

j1 : = aj1/u11

1. Untuk langkah k = 2, 3, ... (n-1), kerjakan : Untuk j = k, k+1, k+2, ... , n, kerjakan:

ukj : = akj - kr rjr

ku

1

1

jk : = (ajk - jr rkr

ku

1

1) /ukk

2. Langkah terakhir, k = n, kerjakan:unn : = ann - nr rnr

nu

1

1

Untuk mendemonstrasikan kebenaran algoritma ini, tinjaulah relasi A = LU. Kalikan vektor baris ek

T dengan ruas kiri dan kanan tanda =, lalu hasilnya kalikan dengan vektor kolom ej.

e Ae e LU ekT

j kT

j

Ruas kiri tanda = adalah akj, sedang ruas kanan adalah e L Ue u uk

Tj kr rj kr rjr

r k

r

r n

11

kk kj kr rjr

r ku u

1

1

Sesudah digabungkan kembali dan ditata letaknya, karena kk = 1, diperolehu a ukj kj kr rjr

r k:

1

1

yang merupakan rumus untuk menghitung elemen-elemen baris k dari U.Rumus untuk menghitung elemen-elemen kolom k dari matrix L dapat dijabarkan

pula. Untuk sembarang elemen pada baris I,

ik ik ir rkr

r kkka u u: /

1

1

Atas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot dan karet penghapus) untuk melaksanakan faktorisasi. Matrix A disusun dalam tabel n baris dan n kolom. Secara sistematis (dalam n langkah) tabel tersebut diubah menjadi tabel-gabungan matrix L dan matrix U, seraya membuang semua elemen bernilai nol dalam L dan dalam U, serta elemen diagonal dari L (bernilai satu). Tabel-gabungan itu sebenarnya berisi matrix T = L+U-I. Pada awal langkah ke-k, tabel-gabungan tersebut disajikan berikut ini.

k j

u11 u12 ... u1,k-1 u1,k ... u1,j ... u1,n

21 u22 ... u2,k-1 u2,k ... u2,j ... u2,n

k-1,1 k-1,2 ... uk-1,k-1 uk-1,k . . uk-1,j ... uk-1,n

baris k k1 k2 ... k,k-1 akk . . akj ... akn

k+1,1 k+1,2 ... k+1, k-1 ak+1,k

7

7

Bagian matrix yang belum akan disentuh sama sekali dalam langkah k ini

Page 8: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

baris i i1 i2 ... i,k-1 aik

n1 n2 ... n,k-1 ank

Daerah kiri atas, kanan atas, serta kiri bawah sudah terisi dengan elemen-elemen matrix L dan U. Daerah kanan bawah terisi oleh elemen-elemen matrix A yang belum tersentuh oleh algoritma.

Dalam langkah ke-k, dihitung dahulu nilai elemen-elemen baris k matrix U, menurut rumus yang diberikan. Selanjutnya, dihitung nilai elemen-elemen kolom k matrix L, berdasar rumus pula. Elemen diagonal tidak usah dihitung (Urutan hitungan tidak dapat dibalik).

Pada langkah ke-1 (k = 1), baris pertama matrix A langsung menjadi baris pertama matrix U. Kolom pertama matrix L sajalah yang harus dihitung. Selanjutnya, pada langkah terakhir (k = n), tinggal satu elemen saja yang masih harus dihitung, yaitu unn.

6. Faktorisasi Doolittle (I) : Ilustrasi

Atas matrix A tersebut dibawah ini ingin dilakukan operasi faktorisasi tanpa penukaran baris.

A =

12345

2 1 0 1 38 6 6 2 80 4 5 1 6

16 24 24 13 330 0 6 26 17

1. Langkah 1 Mengikuti rumus yang diberikan, penetapan atas baris 1 dari U dan kolom 1 dari L menghasilkan:

12345

2 1 0 1 8

4 6 6 2 80 4 5 1 68 24 24 13 330 0 6 26 17

:... : ... ... ... ...

::::

2. Langkah 2 Penetapan baris 2 dari U dan kolom 2 dari L :

8

8

Page 9: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

12345

2 1 0 1 3

4 2 6 2 40 2 5 1 68 8 24 13 330 0 6 26 17

:... : ... ... ... ...

::::

3. Langkah 3 Penetapan baris 3 dari U dan kolom 3 dari L membawa kepada hasil dibawah ini:

12345

2 1 0 1 34 2 6 2 4

0 2 7 3 148 8 24 7 13 330 0 6 7 26 17

::

... ... : ... ... ...:: /: /

4. Langkah 4 Penetapan baris 4 dari U, kolom 4 dari L :

12345

2 1 0 1 34 2 6 2 40 2 7 3 14

8 8 24 7 75 7 70 0 6 7 8 3 17

:::

... ... ... : ... .../ : /

/ : /

5. Langkah 5 merupakan langkah terakhir: Penetapan elemen terakhir dari U (sesuai rumus) memberi :

12345

2 1 0 1 34 2 6 2 40 2 7 3 148 8 24 7 75 7 70 0 6 7 8 3 41 3

/ // / /

Patutlah diperhatikan bahwa hasil faktorisasi ini sama dengan hasil faktorisasi berdasarkan proses eliminasi Gauss, sekalipun mengikuti alur komputasi yang berbeda.

Sebagai latihan dilakukanlah pula faktorisasi atas matrix A dibawah ini, yang sekaligus merupakan tabel awal untuk matrix T.

9

9

Page 10: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

A : =

4 2 0 2 02 5 2 1 00 2 5 3 22 1 3 7 10 0 2 1 6

= : T

Dapat dicatat, bahwa pada awal langkah ketiga, misalnya, tabel-gabungan T sudah berbentuk sebagai berikut.

T =

4 2 0 2 01 2 4 2 2 0

0 1 2 5 3 212

1 2 3 7 1

0 0 2 1 6

Menghitung elemen taknol baris ketiga matrix U:u33 : = 5 - {(0)(0) + (1/2)(2)} = 4u34 : = -3 - {(0)(2) + (1/2)(-2)} = -2u35 : = 2 - {(1/2)(0) + (-1/2)(0)} = 2

Elemen taknol kolom ketiga matrix L adalah:33 : = [5 - {(0)(0) + (1/2)(2)}]/4 = 143 : = [-3 - {(1/2)(0) + (-1/2)(2)}]/4 = -1/253 : = [2 - {(0)(0) + (0)(2)}]/4 = 1/2

sehingga sebelum menginjak langkah keempat, tabel telah menjadi

T =

4 2 0 2 01 2 4 2 2 0

0 1 2 4 2 212

1 2 1 2 7 1

0 0 1 2 1 6

Hasil akhir:

T =

4 2 0 2 01 2 4 2 2 00 1 2 4 2 212

1 2 1 2 4 2

0 0 1 2 1 4

Jika diperhatikan benar, tidaklah sulit untuk menghafalkan Algoritma (serta rumus yang dipakai dalam) Doolittle. Patut dicatat pula, bahwa seluruh operasi dapat dilakukan “di tempat”, misalnya dengan matrix awal ditulis dengan potlot, sehingga

10

10

Page 11: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

dapat dihapus dengan karet penghapus. Dalam konteks hitungan dengan komputer dewasa ini, operasi juga dapat dilakukan “di tempat”, artinya memori yang digunakan untuk matrix A dapat langsung dipakai oleh matrix T. Tidak perlu ada penyediaan memori baru.

PROGRAM FAKTORISASI DOOLITTLE TANPA PENUKARAN BARIS

function [l,u] = mylu(a) % faktorisasi LU tanpa penukaran baris atas matrix a

n = size(a); a(2:n, 1) = a(2:n,1)/a(1,1);

for k= 2:n-1

v = a(k, 1:k-1); for j = k:n w = a(1:k-1, j); a(k,j) = a(k,j) - v*w; end; w = a(1:k-1, k); for j = k+1 : n v = a(j, 1:k-1); a(j,k) = (a(j,k) - v*w)/a(k,k); end; end; a(n,n) = a(n,n) - a(n, 1:n-1)*a(1:n-1, n);

l = tril(a,-1) + eye(n,n); u = triu(a);

7. Faktorisasi Ortogonal

Sebuah matrix A dalam Rm x n dapat difaktorkan menjadi QR dengan Q matrix ortogonal dan R matrix segitiga atas. Untuk menjelaskan hal itu nyatakan A [a1 a2 a3

q4 … an] dan Q [q1 q2 q3 q4 … qn]. Karena ortogonal, QTQ = I, atau qiTqj = 1

untuk i = j dan qiTqj = 0 untuk i j. Nyatakan pula

R =

r r r r rr r r r

r r rr r

r

n

n

n

n

nn

11 12 13 14 1

22 23 24 2

33 34 3

44 4

00 00 0 0

0 0 0

.

Maka dari bagan perkalian matrix dibawah ini

11

11

Page 12: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

r r r r rr r r r

r r rr r

r

n

n

n

n

nn

11 12 13 14 1

22 23 24 2

33 34 3

44 4

00 00 0 0

0 0 0

.

[q1 q2 q3 q4 … qn] [a1 a2 a3 a4 … an]

dapat dinyatakan, bahwa:

1. r11q1 = a1. Tetapi karena q1Tq1 = 1, maka a1

Ta1 = r112. Dus r11 dapat ditentukan

nilainya, dan pada gilirannya q1 pun diperoleh. Dalam pada itu, karena r12q1 + r22q2 = a2, maka perkalian dengan q1

T memberi r12 = q1Ta2. Juga, karena r13q1 + r23q2 + r33q3 =

a3, maka perkalian dengan q1T memberi pula r13 = q1

Ta3. Dengan demikian baris pertama dari matrix R telah ditetapkan.

2. Sekarang, nyatakan v2 = a2 - r12q1. Tetapi v2 = a2 - r12q1 = r22q2 menurut relasi diatas. Maka r22 dapat ditentukan nilainya, dan pada gilirannya q2 pun akan diperoleh. Dalam pada itu, karena r13q1 + r23q2 + r33q3 = a3, perkalian dengan q2

T akan memberi r23. Dengan cara yang serupa baris kedua dari R dapat semuanya diperoleh.

3. Selanjutnya, nyatakan v2 = a3 - r13q1 + r23q2. Tetapi karena relasi ini sama dengan r33q3, maka r33 akan diperoleh juga, dan pada gilirannya q3 pun ditentukan nilainya. Proses yang serupa dipakai untuk mendapatkan elemen-elemen lain matrix R baris ketiga.

4. Demikian seterusnya, maka faktorisasi dapat diselesaikan dengan tuntas.

Program faktorisasi ortogonal:

a = [1 0 0; 1 0.6 0.565; 1 1.2 0.932; 1 1.8 -0.751; 1 2.4 0.675; 1 3.0 0.141];

[m,n] = size(a); q = zeros(a); r = zeros(n,n);

for j=1:n, c = zeros(m,1); for i=1:(j-1), c=c+r(i,j)*q(:,i);,end; v = a(:,j) - c; r(j,j) = norm(v); qq = v/r(j,j); q(:,j) = qq;

12

12

Ini data matrix yang ingin difaktorkan dengan cara faktorisasi ortogonal. Perhatikan bahwa matrix tidak bujur saangka

Page 13: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

for k=j+1:n, r(j,k) = qq'*a(:,k);,end; end;

Implikasi:

1. Karena A = QR, maka ATA = RTQTQR = RTR. Hasil ini sama dengan hasil dari faktorisasi Cholesky untuk matrix simetris.

2. Soal Ax = b dapat dipecahkan sebagai Rx = QTb. Proses hitungan menjadi lebih sederhana dan secara numeris stabil.

3. Misalkan B = A + u vT. Jika faktorisasi A = QR telah dilaksanakan, dapat ditanyakan bagaimana faktorisasi atas B diperoleh dari faktorisasi atas A?

8. Faktorisasi Doolittle (II) : dengan penukaran baris

8.1. Pendahuluan

Metode faktorisasi ini mengalami kegagalan dan tidak dapat mencapai langkah akhir, jika pada sembarang langkah k dijumpai ukk = 0. Hal ini terjadi bukan karena persamaan Ax = b tidak memiliki penyelesaian. Jika hal itu dijumpai tentulah diperlukan upaya “penyelamatan”, agar faktorisasi masih dapat dilanjutkan. Demikian dijalankan langkah demi langkah, dengan upaya “penyelamatan” ditempuh jika ternyata perlu, ... sampai dicapai langkah terakhir.

Pada langkah terakhir, k = n, dijumpai salah satu dari dua kemungkinan:(1) unn 0. Persamaan Ax = b dapat diselesaikan, dan nilai x yang memenuhi persamaan tersebut diperoleh.(2) unn 0. Persamaan Ax = b tidak dapat diselesaikan, karena sebenarnya A tidak memiliki invers (matrix singular).

Bagaimanakah upaya “penyelamatan” itu? Jika pada sembarang langkah k, termasuk k = 1, dijumpai ukk = 0, faktorisasi dari langkah k harus diulangi; didahului oleh operasi penukaran “entry” sembarang baris dibawahnya, baris dengan k, sedemikian sehingga ukk = 0 tidak terjadi. Dalah hal ini b, vektor sisi kanan persamaan juga harus mengalami perlakuan sama; konkritnya, bk harus juga ditukar dengan b. Penyelamatan ini bertumpu pada kenyataan bahwa persamaan linear simultan tidak terubah, jika urutan peresamaan diubah.

Tetapi apakah ada jaminan, bahwa operasi faktorisasi berjalan mulus? Jika pada suatu langkah k telah dilakukan suatu upaya penyelamatan, lewat penukaran baris k itu dengan baris lain , dapat terjadi bahwa pemilihan baris tersebut ternyata tidak bijaksana, karena pada langkah-langkah sesudahnya upaya penyelamatan seperti itu ternyata harus dilakukan lebih sering daripada jika penukaran pada langkah k itu dilakukan dengan baris lain.

Kenyataan seperti ini, serta kepentingan membuat komputasi secara numeris bersifat stabil, mendorong dikembangkannya metode faktorisasi LU yang disempurnakan, seperti dijelaskan dibawah ini. Metode ini disebut metode faktorisasi dengan “partial pivoting”, atau faktorisasi dengan pembentukan elemen kunci.

8.2. Cara faktorisasi dengan penukaran baris

13

13

Page 14: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

Ungkapan lain atas apa yang telah dilakukan dalam proses faktorisasi adalah sebagai berikut. Persamaan matrix Ax = b diketahui dapat ditulis dalam bentuk terpartisi.

A AA A

11 12

21 22

xx

1

2

=

bb

1

2

x1,b1 Rm dan x2,b2 Rn m, A11 Rmxm, A12 Rmx(n-m), A21 R(n-m)xm dan A22 R(n-m)x(n-m).Dalam rumusan terpartisi, faktorisasi adalah sebagai dibawah ini. Pada dasarnya

diinginkan, bahwa: A AA A

11 12

21 22

=

LL L

11

21 22

0

U UU

11 12

220

Dari persamaan ini muncul empat buah relasi,A11 = L11U11

A12 = L11U12

A21 = L21U11

A22 = L22U12 + L22U22

Untuk m = k - 1, matrix L11, U11, L21 dan U12 adalah submatrix yang terdapat di pojok kiri atas, kiri bawah dan kanan atas dari tabel-gabungan. Matrix U22 dan L22 belum diketahui; dalam langkah k yang dapat dihitung hanya baris dan kolom pertama saja. (Dapatkah dari relasi keempat dijabarkan kembali rumus Doolittle untuk menghitung baris pertama U22

dan kolom pertama L22?)Sekarang dilakukan operasi penukaran baris, antara baris k dengan baris k.

Dalam rumusan terpartisi, operasi itu adalah seperti dibawah ini: I

PK

00

A AA A

11 12

21 22

=

IPK

00

LL L

11

21 22

0

U UU

11 12

220

=

L

P L P Lk k

11

21 22

0

U UU

11 12

220

.

Tampak bahwa (k-1) baris pertama dalam tabel memang tidak harus tersentuh oleh operasi ini.

Diinginkan agar pada setiap langkah k tidak terjadi ukk 0. Sebab situasi ini mendorong terbentuknya elemen-elemen L dengan nilai besar, yang pada gilirannya membuat elemen-elemen matrix U bernilai besar juga. Akibatnya, hasil akhir perhitungan tidak lagi memiliki ketelitian yang diharapkan. Dengan perkataan lain, demi stabilitas numeris, ukk 0 harus dihindari.

Cara yang mudah untuk maksud itu, adalah dengan memilih baris yang memenuhi syarat a ak ik max

k i n yaitu pilihlah baris dengan elemen yang memiliki nilai absolut terbesar dalam kolom tersebut. Kegiatan ini disebut pembentukan elemen kunci; sebab cara ini merupakan kunci menuju hasil akhir komputasi yang teliti.

Algoritma Doolittle dengan penukaran baris.

14

14

Page 15: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

0. Langkah awal: k : = 1, lakukan operasi penukaran baris;

untuk j = 1, 2, ..., n, kerjakanu1j : = a1j

j1 : = aj1/u11

1. Untuk langkah k = 2, 3, ... (n-1), kerjakan : Lakukan operasi penukaran baris;

Untuk j = k, k+1, k+2, ... , n, kerjakan:ukj : = akj - kr rjr

ku

1

1

jk : = (ajk - jr rkr

ku

1

1) /ukk

2. Langkah terakhir, k = n, kerjakan:unn : = ann - nr rnr

nu

1

1

Selain atas dasar baris, pembentukan elemen kunci dilaksanakan pula atas dasar pemilihan kolom, atau gabungan dari keduanya. Dalam praktek, pembentukan atas dasar baris sudah mencukupi.

Algoritma Doolittle tersebut diatas disempurnakan menjadi sebagai dibawah ini. Pada asasnya, faktorisasi tidak dilakukan atas matrix A, tetapi atas matrix PA, dengan P = hasil perkalian (n-1) matrix permutasi.

Karena PA = LU, maka persamaan linear Ax = b diselesaikan dengan menghitung y dari Ly = Pb (mengapa?), dan menghitung x dari Ux = y.

8.3. IlustrasiAtas matrix A tersebut dibawah ini ingin dilakukan operasi faktorisasi dengan

penukaran baris.

A =

12345

2 1 0 1 38 6 6 2 80 4 5 1 6

16 24 24 13 330 0 6 26 17

1. Langkah 1a. Pemeriksaan atas kolom 1 mengisyaratkan perlunya penukaran baris 1 dengan baris 4

agar elemen kunci adalah maksimal. Sebagai hasilnya diperoleh sebagai berikut:42315

16 24 24 13 338 6 6 2 80 4 5 1 62 1 0 1 30 0 6 26 17

b. Mengikuti rumus yang diberikan, penetapan atas baris 1 dari U dan kolom 1 dari L menghasilkan:

15

15

Page 16: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

4

2315

16 24 24 13 33

1 2 6 6 2 80 4 5 1 6

1 8 1 0 1 30 0 6 26 17

:... : ... ... ... ...

::::

2. Langkah 2a. Karena elemen kunci kolom kedua sudah maksimal, operasi penukaran tidak

dilakukan.b. Penetapan baris 2 dari U dan kolom 2 dari L memberi hasil dibawah ini:

4

2315

16 24 24 13 33

1 2 6 6 9 2 17 20 2 3 5 1 6

1 8 1 3 0 1 30 0 6 26 17

:... : ... ... ... ...

: / /: /: /:

3. Langkah 3 Pada awal langkah ini proses faktorisasi telah menghasilkan:

42

315

16 24 24 13 331 2 6 6 9 2 17 2

0 2 3 5 1 61 8 1 3 0 1 30 0 6 26 17

::

... ... : ... ... ...:::

Oleh karena itu:a. Agar elemen kunci bernilai maximal, dilakukan penukaran atas baris 3 dengan baris

5, sehingga diperoleh sebagai dibawah ini:42

513

16 24 24 13 331 2 6 6 9 2 17 2

0 0 6 26 171 8 1 3 0 1 30 2 3 5 1 6

::

... ... : ... ... ...:::

b. Penetapan baris 3 dari U dan kolom 3 dari L membawa kepada hasil dibawah ini:425

13

16 24 24 13 331 2 6 6 9 2 17 2

0 0 6 26 171 8 1 3 1 6 1 30 2 3 1 6 1 6

::

... ... : ... ... ...:::

16

16

Page 17: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

4. Langkah 4 a. Keadaan pada awal langkah sebenarnya mengisyaratkan bahwa penukaran baris

tidaklah diperlukan, tetapi misalnya dilakukan operasi penukaran, maka diperoleh:425

31

16 24 24 13 331 2 6 6 9 2 17 20 0 6 26 17

0 2 3 1 6 1 61 8 1 3 1 6 1 3

:::

... ... ... : ... ...::

b. Penetapan baris 4 dari U, kolom 4 dari L memberi hasil dibawah ini:

425

31

16 24 24 13 331 2 6 6 9 2 17 20 0 6 26 17

0 2 3 1 6 8 13 3 1

61 8 1 3 1 6 5 8 3

:::

... ... ... : ... ...::

5. Langkah 5 merupakan langkah terakhir:Penetapan elemen terakhir dari U (sesuai rumus) memberi hasil:

4253

1

16 24 24 13 331 2 6 6 9 2 17 20 0 6 26 170 2 3 1 6 8 1

3 3 16

1 8 1 3 1 6 5 8 41 48

::::

... ... ... ... : ...:

Matrix permutasi

P =

9. Beban komputasi dalam faktorisasiAda dua macam beban komputasi: (1) cacah memori dan (2) cacah operasi

aritmetik yang diperlukan dalam pelaksanaan komputasi. Komenar mengenai cacah memori ditunda sesudah pemahasan mengenai beban komputasi yang kedua.

Opeerasi aritmetik yang sangat mempengaruhi lama komputasi adalah operasi perkalian dan pembagian. Operasi penambahan dan pengurangan biasanya menggunakan waktu yang relatif sangat kecil jika dibandingkan dengan waktu untuk perkalian dan pembagian.

17

17

Page 18: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

Khusus untuk faktorisasi, beban komputasi aritmetik dapat diperinci sebagai berikut: Untuk langkah pertama, n operasi pembagian harus dijalankan. Untuk langkah ke-k, 2 k (n-1), penetapan tiap elemen dari U memerlukan (k-1) operasi perkalian, sedang penetapan tiap elemen dari L memerlukan (k-1) operasi perkalian dan sebuah operasi pembagian. Pada langkah ke-k itu ada (n-k+1) elemen U dan (n-k) elemen L yang harus dihitung. Beban komputasi untuk langkah ini = (n-k+1)(k-1) + (n-k)(k-1+1) operasi. Selanjutnya, pada langkah terakhir ada tambahan beban komputasi (n-1) perkalian. Jadi beban komputasi seluruhnya adalah

T = (n-1) + n k k n k k nk

n

1 1 1 12

1

= 13

n3 + (n2)

Sangat bijaksana jika T dapat ditekan serendah mungkin untuk n 1.Sisi lain yang harus disoroti adalah penggunaan memori. Untuk matrix ukuran

besar biasanya tidak tersedia memori cukup untuk menyimpan semua elemen matrix. Karena matrix seperti itu umumnya juga matrix jarang, maka sangat bijaksana untuk mencatat elemen-elemen taknol saja, mengikuti struktur penyimpanan yang ditentukan sebelumnya.Dalam proses faktorisasi tidak dapat dihindarkan terbentuknya elemen-elemen baru milik L dan U yang memerlukan jatah memori baru karena tidak dapat menempati lokasi yang telah tersedia dari matrix aslinya. Dalam proses komputasi selanjutnya elemen-elemen baru ini, disebut “fill-in”, cenderung untuk menambah waktu komputasi serta mengurangi ketelitian hitungan (oleh pembulatan-pembulatan yang terjadi).

Sekedar untuk menggambarkan adanya interaksi antara memori dan waktu komputasi, tinjaulah matrix H dibawah ini, yang sekaligus telah difaktorisasi seperti dituliskan disebelah kanannya. Elemen dengan nilai nol tidak dicantumkan.

H =

1 1 1 1 1 11 21 41 81 161 1

L + U - I =

1 1 1 1 1 11 1 1 1 1 11 1 2 2 2 21 1 1 4 4 41 1 1 1 8 81 1 1 1 1 15

Matrix H hanya memerlukan 3n lokasi penyimpanan, sedang matrix L+U- I memerlukan n2 elemen memori. “Fill-in” telah terjadi di semua elemen dalam matrix.

Sebagai bahan renungan, dapatkah ditebak dimana (pada lokasi mana dalam matrix) “fill-in” itu akan terjadi? Peta lokasi taknol dalam matrix yang ditinjau dapat dipakai sebagai basis untuk menjawab pertanyaan ini.

Selanjutnya, jika dihadapkan pada persamaan Hx = c, dengan vektor c diketahui, apakah yang dapat diperbuat? Cara yang sering ditempuh adalah menerapkan operasi permutasi P atas baris-baris persamaan, dan menata kembali susunan variabel dalam x, dengan bantuan operator permutasi Q, yang pada gilirannya juga melakukan permutasi atas kolom-kolom dari H. Hal itu dilakukan agar syarat invarin tetap terpenuhi. Dalam hal ini, karena QTQ adalah matrix satuan, maka

Hx = c PHQT(Qx) = Pc

18

18

Page 19: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

Peresamaan yang harus dipecahkan adalah Gy = d, dengan G = PHQT, y = Qx dan d = Pc. Pemilihan P dan Q yang jitu menghasilkan proses komputasi yang irit dan waktu dan memori atas Gy = d. Langkah selanjutnya, untuk mendapatkan x dan y, sangat murah biayanya.

Untuk contoh diatas, tidak sulit untuk mendapatkan P dan Q yang menghasilkan G dibawah ini (disajikan pula, disisi kanannya L+U-I untuknya). Untuk memberikan tekanan atas unsur drama yang terdapat didalamnya, sekali lagi, nilai nol tidak dicantumkan.

H =

2 14 1

8 116 1

1 11 1 1 1 1 1

L+U-I =

2 14 1

8 116 1

1 112

14

18

116

1 9 38

Paket-paket modern “triangularisasi” (dalam NAG atau IMSL) untuk penyelesaian persamaan linear menggunakan prinsip ini.

19

19

Page 20: BAB I - [DTETI] Departemen Teknik Elektro dan …fsoes/Bab1.doc · Web viewAtas dasar kenyataan ini, Doolittle berhasil mengembangkan metode komputasi manual (dengan kertas, potlot

Bab 1. Menyelesaikan Ax=b dengan A MBS – F Soesianto 07/05/23 - 3:25

ALGORITMA DOOLITTLE DENGAN PENUKARAN BARIS

function [l,u,p] = mylu(a) % faktorisasi Doolittle dengan penukaran baris; agar l*u = p*a n = size(a); r = 1:n;

[u,i] = max(abs(a(:,1))); if i ~= 1 x = a(1,:); a(1,:) = a(i,:); a(i,:) = x; s = r(1); r(1) = r(i); r(i) = s; end;

a(2:n, 1) = a(2:n,1)/a(1,1)

for k = 2:n-1

[u,i] = max(abs(a(k:n,k))); j = i+k-1 if j ~= k x = a(k,:); a(k,:) = a(j,:); a(j,:) = x; s = r(k); r(k) = r(j); r(j) = s; end;

v = a(k, 1:k-1); for j = k:n w = a(1:k-1, j); a(k,j) = a(k,j) - v*w; end; w = a(1:k-1, k); for j = k+1 : n v = a(j, 1:k-1); a(j,k) = (a(j,k) - v*w)/a(k,k); end; end;

a(n,n) = a(n,n) - a(n, 1:n-1)*a(1:n-1, n); l = tril(a,-1) + eye(n,n); u = triu(a);

p = zeros(n,n); for i = 1:n p(i,r(i)) = 1; end;

20

20

Ini langkah penukaran baris pada kolom k

Ini langkah penukaran baris pada kolom 1