MATRIK DAN KOMPUTASI Penulis: Supriyanto, email: supri@fisika.ui.ac.id Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Fukuoka, 5 Feb 2005 Catatan ini bermaksud menjelaskan secara singkat tentang dasar-dasar matrik dan beberapa operasi matematika yang melibatkan matrik serta beberapa matrik spesial yang sering terlibat dalam komputasi numerik. Pengenalan Matrik Notasi suatu matrik berukuran n x m ditulis dengan huruf besar dan dicetak tebal, misalnya A n m. Huruf n menyatakan jumlah baris, dan huruf m jumlah kolom. Matrik terdiri dari elemen-elemen matrik yang dinyatakan dengan huruf kecil diikuti angka-angka indeks, misalnya a ij, dimana i menunjukan posisi baris ke-i dan j menentukan posisi kolom ke-j. a 11 a 12... a 1m a 21 a 22... a 2m A (a ij ) (1)... a n1 a n2... a nm Contoh 1: Matrik A 2 3 3 8 5 A 6 4 7 dimana masing-masing elemennya adalah a 11 3, a 12 8, a 13 5, a 21 6, a 22 4, dan a 23 7. Contoh 2: Matrik B 3 2 1 3 B 5 9 2 4 dimana masing-masing elemennya adalah b 11 1, b 12 3, b 21 5, b 22 9, b 31 2, dan b 32 4. Inisialisasi Matrik Dalam Memori Komputer 1
Dalam bahasa pemrograman Fortran77, cara mengisi memori komputer dengan elemen-elemen matrik A 2 3, sesuai dengan Contoh 1 adalah A(1,1) 3 A(1,2) 8 A(1,3) 5 A(2,1) 6 A(2,2) 4 A(2,3) 7 Sedangkan untuk matrik B 3 2, sesuai Contoh 2 adalah B(1,1) 1 B(1,2) 3 B(2,1) 5 B(2,2) 9 B(3,1) 2 B(3,2) 4 Transpose Matrik Operasi transpose terhadap suatu matrik akan menukar posisi kolom menjadi posisi baris demikian pula sebaliknya. Notasi matrik tranpose adalah A T atau A t. Contoh 3: Operasi transpose terhadap matrik A 3 6 3 8 5 A A T 6 4 7 8 4 5 7 Matrik Bujursangkar Matrik bujursangkar adalah matrik yang jumlah baris dan jumlah kolomnya sama. Contoh 4: Matrik bujursangkar berukuran 3x3 atau sering juga disebut matrik bujursangkar orde 3 1 3 8 A 5 9 7 2 4 6 2
Matrik Simetrik Matrik simetrik adalah matrik bujursangkar yang elemen-elemen matrik A bernilai sama dengan matrik transpose-nya (A t ). Contoh 5: Matrik simetrik 2 3 7 1 2 3 7 1 A 3 5 6 2 7 6 9 8 A t 3 5 6 2 7 6 9 8 1 2 8 10 1 2 8 10 Matrik Diagonal Matrik diagonal adalah matrik bujursangkar yang seluruh elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonalnya. Contoh 6: Matrik diagonal orde 3 11 0 0 A 0 29 0 0 0 61 Matrik Diagonal Dominan Matrik diagonal dominan adalah matrik bujursangkar yang memenuhi a ii > n j1,j i dimana i1,2,3,..n. Coba perhatikan matrik-matrik berikut ini 7 2 0 6 4 3 A 3 5 1 B 4 2 0 0 5 6 3 0 1 a ij (2) Pada elemen diagonal a ii matrik A, 7 > 2 + 0, lalu 5 > 3 + 1, dan 6 > 5 + 0. Maka matrik A disebut matrik diagonal dominan. Sekarang perhatikan elemen diagonal matrik B, 6 < 4 + 3, 2 < 4 + 0, dan 1 < 3 + 0. Dengan demikian, matrik B bukan matrik diagonal dominan. Matrik Identitas 3
Matrik identitas adalah matrik bujursangkar yang semua elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonal yang seluruhnya bernilai 1. Contoh 7: Matrik identitas orde 3 1 0 0 I 0 1 0 0 0 1 Matrik Upper-triangular Matrik upper-tringular adalah matrik bujursangkar yang seluruh elemen dibawah elemen diagonal bernilai 0 (nol). Contoh 8: Matrik upper-triangular 3 6 2 1 A 0 4 1 5 0 0 8 7 0 0 0 9 Matrik Lower-triangular Matrik lower-tringular adalah matrik bujursangkar yang seluruh elemen diatas elemen diagonal bernilai 0 (nol). Contoh 9: Matrik lower-triangular 12 0 0 0 A 32 2 0 0 8 7 11 0 5 10 6 9 Matrik Tridiagonal Matrik tridiagonal adalah matrik bujursangkar yang seluruh elemen bukan 0 (nol) berada disekitar elemen diagonal, sementara elemen lainnya bernilai 0 (nol). Contoh 10: Matrik tridiagonal 3 6 0 0 A 2 4 1 0 0 5 8 7 0 0 3 9 4
Vektor-baris dan Vektor-kolom Notasi vektor biasanya dinyatakan dengan huruf kecil dan dicetak tebal. Suatu matrik dinamakan vektor-baris berukuran m, bila hanya memiliki satu baris dan m kolom, yang dinyatakan sebagai berikut ] ] a [a 11 a 12... a 1m [a 1 a 2... a m (3) Sedangkan suatu matrik dinamakan vektor-kolom berukuran n, bila hanya memiliki satu kolom dan n baris, yang dinyatakan sebagai berikut a a 11 a 12. a n1 a 1 a 2. a n (4) Penjumlahan Matrik Operasi penjumlahan pada dua buah matrik hanya bisa dilakukan bila kedua matrik tersebut berukuran sama. Misalnya matrik C 2 3 9 5 3 C 7 2 1 dijumlahkan dengan matrik A 2 3, lalu hasilnya (misalnya) dinamakan matrik D 2 3 D D A + C 3 8 5 9 5 3 + 6 4 7 7 2 1 3 + 9 8 + 5 5 + 3 6 + 7 4 + 2 7 + 1 12 13 8 13 6 8 Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi penjumlahan antara matrik A 2 3 dan C 2 3, bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu d11 d 12 d 13 a11 + c 11 a 12 + c 12 a 13 + c 13 d 21 d 22 d 23 a 21 + c 21 a 22 + c 22 a 23 + c 23 5
Dijabarkan satu persatu sebagai berikut d 11 a 11 + c 11 d 12 a 12 + c 12 d 13 a 13 + c 13 d 21 a 21 + c 21 d 22 a 22 + c 22 d 23 a 23 + c 23 Dari sini dapat diturunkan sebuah rumus umum penjumlahan dua buah matrik d ij a ij + c ij (5) dimana i1,2,..,n dan j1,2,..,m. Sementara n adalah jumlah baris, dan m adalah jumlah kolom. Komputasi Penjumlahan Matrik Berdasarkan contoh operasi penjumlahan di atas, maka secara komputasi dengan bahasa pemrograman Fortran77, operasi penjumlahan antara matrik A 2 3 dan C 2 3 adalah do i1,2 do j1,3 D(i,j)A(i,j)+C(i,j) Perlu dicatat bahwa ukuran matrik tidak terbatas hanya 2x3. Tentu saja anda bisa mengubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik dinyatakan secara umum sebagai n x m, maka bentuk pernyataan komputasinya menjadi do i1,n do j1,m D(i,j)A(i,j)+C(i,j) Perkalian Dua Matrik 6
Operasi perkalian dua buah matrik hanya bisa dilakukan bila jumlah kolom matrik pertama sama dengan jumlah baris matrik kedua. Jadi kedua matrik tersebut tidak harus berukuran sama seperti pada penjumlahan dua matrik. Misalnya matrik A 2 3 dikalikan dengan matrik B 3 2, lalu hasilnya (misalnya) dinamakan matrik E 2 2 E 2 2 A 2 3.B 3 2 1 3 3 8 5 E 6 4 7 5 9 2 4 3.1 + 8.5 + 5.2 3.3 + 8.9 + 5.4 6.1 + 4.5 + 7.2 6.3 + 4.9 + 7.4 53 101 40 82 Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi perkalian antara matrik A 2 3 dan B 3 2, bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu e11 e 12 a11.b 11 + a 12.b 21 + a 13.b 31 a 11.b 12 + a 12.b 22 + a 13.b 32 e 21 e 22 a 21.b 11 + a 22.b 21 + a 23.b 31 a 21.b 12 + a 22.b 22 + a 23.b 32 Bila dijabarkan, maka elemen-elemen matrik E 2 2 adalah e 11 a 11.b 11 + a 12.b 21 + a 13.b 31 e 12 a 11.b 12 + a 12.b 22 + a 13.b 32 e 21 a 21.b 11 + a 22.b 21 + a 23.b 31 e 22 a 21.b 12 + a 22.b 22 + a 23.b 32 kemudian secara sederhana dapat diwakili oleh rumus berikut e ij dimana i1,2, dan j1,2. 3 a ik b kj k1 Berdasarkan contoh ini, maka secara umum bila ada matrik A n m yang dikalikan dengan matrik B m p, akan didapatkan matrik E n p dimana elemen-elemen matrik E memenuhi m e ij a ik b kj (6) k1 7
dengan i1,2,...,n dan j1,2...,p Komputasi Perkalian Dua Matrik Komputasi operasi perkalian antara matrik A 2 3 dan B 3 2 dilakukan melalui 2 tahap; pertama adalah memberikan nilai 0 (nol) pada elemen-elemen matrik E 2 2 dengan cara do i1,2 do j1,2 E(i,j)0.0 kedua adalah menghitung perkalian matrik dengan cara do i1,2 do j1,2 do k1,3 E(i,j)E(i,j)+A(i,k)*B(k,j) Tentu saja anda bisa mengubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik A dinyatakan secara umum sebagai n x m dan matrik B berukuran m x p, maka bentuk pernyataan komputasinya menjadi do i1,n do j1,p E(i,j)0.0 do i1,n do j1,p do k1,m E(i,j)E(i,j)+A(i,k)*B(k,j) 8
dimana akan diperoleh hasil berupa matrik E yang berukuran n x p. Perkalian Matrik dan Vektor-kolom Operasi perkalian antara matrik dan vektor-kolom sebenarnya sama saja dengan perkalian antara dua matrik. Hanya saja ukuran vektor-kolom boleh dibilang spesial yaitu m x 1, dimana m merupakan jumlah baris sementara jumlah kolomnya hanya satu. Misalnya matrik A, pada contoh 1, dikalikan dengan vektor-kolom x yang berukuran 3 x 1 atau disingkat dengan mengatakan vektor-kolom x berukuran 3, lalu hasilnya (misalnya) dinamakan vektor-kolom y y Ax y 2 3 8 5 6 4 7 3 4 3.2 + 8.3 + 5.4 6.2 + 4.3 + 7.4 50 52 Sekali lagi, tanpa mempedulikan nilai elemen-elemen masing-masing, operasi perkalian antara matrik A dan vektor-kolom x, bisa juga dinyatakan dalam indeksnya masing-masing, yaitu y1 a11.x 1 + a 12.x 2 + a 13.x 3 y 2 a 21.x 1 + a 22.x 2 + a 23.x 3 Bila dijabarkan, maka elemen-elemen vektor-kolom y adalah y 1 a 11.x 1 + a 12.x 2 + a 13.x 3 y 2 a 21.x 1 + a 22.x 2 + a 23.x 3 kemudian secara sederhana dapat diwakili oleh rumus berikut y i 3 a ij x j j1 dimana i1,2. 9
Berdasarkan contoh tersebut, secara umum bila ada matrik A berukuran n x m yang dikalikan dengan vektor-kolom x berukuran m, maka akan didapatkan vektor-kolom y berukuran n x 1 dimana elemen-elemen vektor-kolom y memenuhi y i m a ij x j (7) j1 dengan i1,2,...,n. Komputasi Perkalian Matrik dan Vektor-kolom Sama seperti perkalian dua matrik, komputasi untuk operasi perkalian antara matrik A berukuran n x m dan vektor-kolom x berukuran m dilakukan melalui 2 tahap; pertama adalah memberikan nilai 0 (nol) pada elemen-elemen vektor-kolom y yang berukuran n. Lalu tahap kedua adalah melakukan proses perkalian. Kedua tahapan ini digabung jadi satu dalam program berikut ini do i1,n Y(i)0.0 do i1,n do j1,m Y(i)Y(i)+A(i,j)*X(j) Matrik Positif Definit Suatu matrik dikatakan positif definit bila matrik tersebut simetrik dan memenuhi x t Ax > 0 (8) Contoh 11: Diketahui matrik simetrik berikut 2 1 0 A 1 2 1 0 1 2 10
untuk menguji apakah matrik A bersifat positif definit, maka x t Ax ] 2 1 0 x 1 [x 1 x 2 x 3 1 2 1 x 2 0 1 2 x 3 ] 2x 1 x 2 [x 1 x 2 x 3 x 1 + 2x 2 x 3 x 2 + 2x 3 2x 2 1 2x 1 x 2 + 2x 2 2 2x 2 x 3 + 2x 2 3 x 2 1 + (x 2 1 2x 1 x 2 + x 2 2) + (x 2 2 2x 2 x 3 + x 2 3) + x 2 3 x 2 1 + (x 1 x 2 ) 2 + (x 2 x 3 ) 2 + x 2 3 Dari sini dapat disimpulkan bahwa matrik A bersifat positif definit, karena memenuhi x 2 1 + (x 1 x 2 ) 2 + (x 2 x 3 ) 2 + x 2 3 > 0 kecuali jika x 1 x 2 x 3 0. Penutup Demikianlah catatan singkat dan sederhana mengenai jenis-jenis matrik dasar yang seringkali dijumpai dalam pengolahan data fisika secara numerik. Semuanya akan dijadikan acuan atau referensi pada pembahasan topik-topik numerik yang akan datang. 11