Perkalian matrik Operasi matematika

2.4. OPERASI MATEMATIKA 21 Jadi kedua matrik tersebut tidak harus berukuran sama seperti pada penjumlahan dua ma- trik. 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 E = 3 8 5 6 4 7    1 3 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 pada masing-masing matrik, operasi perkalian an- tara matrik A 2×3 dan B 3×2 , dapat dinyatakan dalam indeks masing-masing matrik tersebut, yaitu e 00 e 01 e 10 e 11 = a 00 .b 00 + a 01 .b 10 + a 02 .b 20 a 00 .b 01 + a 01 .b 11 + a 02 .b 21 a 10 .b 00 + a 11 .b 10 + a 12 .b 20 a 10 .b 01 + a 11 .b 11 + a 12 .b 21 Bila dijabarkan, maka elemen-elemen matrik E 2×2 adalah e 00 = a 00 .b 00 + a 01 .b 10 + a 02 .b 20 e 01 = a 00 .b 01 + a 01 .b 11 + a 02 .b 21 e 10 = a 10 .b 00 + a 11 .b 10 + a 12 .b 20 2.10 e 11 = a 10 .b 01 + a 11 .b 11 + a 12 .b 21 Sejenak, mari kita amati perubahan pasangan angka-angka indeks yang mengiringi elemen e, a dan b. Perhatikan perubahan angka pertama pada indeks elemen e seperti berikut ini e 0.. = .. e 0.. = .. e 1.. = .. e 1.. = .. Pola perubahan yang sama akan kita dapati pada angka pertama dari indeks elemen a e 0.. = a 0.. .b ... + a 0.. .b ... + a 0.. .b ... e 0.. = a 0.. .b ... + a 0.. .b ... + a 0.. .b ... e 1.. = a 1.. .b ... + a 1.. .b ... + a 1.. .b ... e 1.. = a 1.. .b ... + a 1.. .b ... + a 1.. .b ... 22 BAB 2. MATRIK DAN KOMPUTASI Dengan demikian kita bisa mencantumkan huruf i sebagai pengganti angka-angka indeks yang polanya sama tersebut e i.. = a i.. .b ... + a i.. .b ... + a i.. .b ... e i.. = a i.. .b ... + a i.. .b ... + a i.. .b ... e i.. = a i.. .b ... + a i.. .b ... + a i.. .b ... e i.. = a i.. .b ... + a i.. .b ... + a i.. .b ... dimana i bergerak mulai dari angka 0 hingga angka 1, atau kita nyatakan i=0,1. Selanjutnya, masih dari persamaan 2.10, marilah kita perhatikan perubahan angka kedua pada indeks elemen e dan elemen b, e i0 = a i.. .b ..0 + a i.. .b ..0 + a i.. .b ..0 e i1 = a i.. .b ..1 + a i.. .b ..1 + a i.. .b ..1 e i0 = a i.. .b ..0 + a i.. .b ..0 + a i.. .b ..0 e i1 = a i.. .b ..1 + a i.. .b ..1 + a i.. .b ..1 Dengan demikian kita bisa mencantumkan huruf j sebagai pengganti angka-angka indeks yang polanya sama e ij = a i.. .b ..j + a i.. .b ..j + a i.. .b ..j e ij = a i.. .b ..j + a i.. .b ..j + a i.. .b ..j e ij = a i.. .b ..j + a i.. .b ..j + a i.. .b ..j e ij = a i.. .b ..j + a i.. .b ..j + a i.. .b ..j dimana j bergerak mulai dari angka 0 hingga angka 1, atau kita nyatakan j=0,1. Selanjutnya, masih dari persamaan 2.10, mari kita perhatikan perubahan angka indeks pada elemen a dan elemen b, dimana kita akan dapati pola sebagai berikut e ij = a i0 .b 0j + a i1 .b 1j + a i2 .b 2j e ij = a i0 .b 0j + a i1 .b 1j + a i2 .b 2j e ij = a i0 .b 0j + a i1 .b 1j + a i2 .b 2j e ij = a i0 .b 0j + a i1 .b 1j + a i2 .b 2j 2.4. OPERASI MATEMATIKA 23 Dan kita bisa mencantumkan huruf k sebagai pengganti angka-angka indeks yang polanya sama, dimana k bergerak mulai dari angka 0 hingga angka 2, atau kita nyatakan k=0,1,2. e ij = a ik .b kj + a ik .b kj + a ik .b kj e ij = a ik .b kj + a ik .b kj + a ik .b kj e ij = a ik .b kj + a ik .b kj + a ik .b kj e ij = a ik .b kj + a ik .b kj + a ik .b kj Kemudian secara sederhana dapat ditulis sebagai berikut e ij = a ik .b kj + a ik .b kj + a ik .b kj 2.11 Selanjutnya dapat ditulis pula formula berikut e ij = 2 X k=0 a ik b kj 2.12 dimana i=0,1; j=0,1; dan k=0,1,2. Berdasarkan contoh ini, maka secara umum bila ada matrik A n×m yang dikalikan dengan ma- trik B m×p , akan didapatkan matrik E n×p dimana elemen-elemen matrik E memenuhi e ij = m X k=0 a ik b kj 2.13 dengan i=0,1,. . . ,n; j=0,1. . . ,p; dan k=0,1. . . ,m.

2.4.5 Komputasi perkalian 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 1 from numpy import array, zeros 2 E = zeros2,2 ukuran matrik E adalah 2x2 kedua adalah menghitung perkalian matrik dengan cara 1 for i in range0,2: 2 for j in range0,2: 3 for k in range0,3: 4 E[i,j]=E[i,j]+A[i,k]B[k,j] Sebentar.., sebelum dilanjut tolong perhatikan penempatan indeks i, j dan k pada script di atas. Mengapa indeks i didahulukan daripada indeks j dan k? Ini bukan sesuatu yang kebetulan. Dan ini juga bukan sekedar mengikuti urutan huruf abjad i,j,k. Sekali lagi ingin saya tegaskan bahwa penempatan yang demikian semata-mata mengikuti aturan umum yaitu looping yang 24 BAB 2. MATRIK DAN KOMPUTASI indeksnya berubah paling cepat harus diletakkan paling dalam; sebaliknya, looping paling luar adalah looping yang indeksnya paling jarang berubah. Kalau anda perhatikan dengan teliti, pasti anda akan menemukan fakta bahwa indeks k paling cepat berubah. Kemudian disusul oleh indeks j. Lalu yang paling jarang berubah adalah indeks i. Itulah sebabnya, penempatan urutan indeks pada script di atas harus dimulai dari i terlebih dahulu sebagai looping terluar, kemudian indeks j, dan yang terakhir indeks k sebagai looping terdalam. Tentu saja anda bisa mengubah ukuran matrik-nya sesuai dengan keperluan atau kebu- tuhan anda. Jika ukuran matrik A dinyatakan secara umum sebagai n x m dan matrik B berukuran m x p, maka bentuk pernyataan komputasinya dalam Python 1 E = zerosn,p 2 for i in range0,n: 3 for j in range0,p: 4 for k in range0,m: 5 E[i,j]=E[i,j]+A[i,k]B[k,j] dimana akan diperoleh hasil berupa matrik E yang berukuran n x p. Source-code lengkap untuk contoh soal yang ada di atas adalah 1 from numpy import array, zeros 2 A = array[[3.,8.,5.],\ 3 [6.,4.,7.]] A berukuran 2x3 4 B = array[[1.,3.],\ 5 [5.,9.],\ 6 [2.,4.]] B berukuran 3x2 7 n=2 jumlah baris matrik A 8 m=3 jumlah kolom matrik A sekaligus jumlah baris matrik B 9 p=2 jumlah kolom matrik B 10 E = zerosn,p 11 for i in range0,n: 12 for j in range0,p: 13 for k in range0,m: 14 E[i,j]=E[i,j]+A[i,k]B[k,j]

2.4.6 Perkalian matrik dan vektor-kolom

Operasi perkalian antara matrik dan vektor-kolom sebenarnya sama saja dengan perkalian an- tara 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, pa- da 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