Pivoting Matrik dan Eliminasi Gauss dalam Python

56 BAB 4. METODE ELIMINASI GAUSS 34 X[j,0]=A[j,n]-SA[j,j] 35 ====================================== 36 print X OK. Sekarang source-code diatas sudah bekerja dengan baik.

4.4.8 Kembali ke bentuk Ax = b

Sistem persamaan linear dalam pembahasan kita sejak awal memiliki rumusan Ax = b yang dijabarkan dalam operasi matrik       1 1 3 2 1 −1 1 3 −1 −1 2 −1 2 3 −1             x x 1 x 2 x 3       =       4 1 −3 4       dimana A =       1 1 3 2 1 −1 1 3 −1 −1 2 −1 2 3 −1       dan b =       4 1 −3 4       Pada semua source-code yang baru saja dibuat di atas, inisialisasi selalu dimulai dari matrik augment yang menggabungkan matrik A dan vektor b seperti berikut A =       1 1 3 4 2 1 −1 1 1 3 −1 −1 2 −3 −1 2 3 −1 4       Oleh karena itu sebaiknya source-code tersebut perlu membedakan matrik A dan vektor b pada inisialisasi awalnya, baru setelah itu keduanya digabung menjadi matrik augment. Untuk maksud tersebut, modifikasi yang perlu dilakukan adalah 1 from numpy import array, zeros 2 3 ~~~~~~inisialisasi matrik A~~~~~ 4 A = array[[1.,1.,0.,3.],\ 5 [2.,1.,-1.,1.],\ 6 [3.,-1.,-1.,2.],\ 7 [-1.,2.,3.,-1.]] 8 print A 9 ~~~~~~inisialisasi vektor b~~~~~ 10 b = array[[4.],\ 11 [1],\ 12 [-3],\ 13 [4]] 14 print b 4.4. MATRIK DAN ELIMINASI GAUSS DALAM PYTHON 57 15 ~~~~~~menggabungkan matrik A dan vektor b kedalam matrik augment C~~~~~ 16 n=lenA 17 C=zerosn,n+1 18 for i in range0,n: 19 for j in range0,n: 20 C[i,j]=A[i,j] 21 for i in range0,lenA: 22 C[i,n]=b[i,0] 23 print C Ya.. apa boleh buat, dalam source code ini saya terpaksa mengganti nama matrik augment yang semula bernama A sebagaimana pada source-code yang sudah-sudah menjadi C. Sehingga keseluruhan source code eliminasi gauss ditulis sebagai berikut 1 from numpy import array, zeros 2 3 ~~~~~~inisialisasi matrik A~~~~~ 4 A = array[[1.,1.,0.,3.],\ 5 [2.,1.,-1.,1.],\ 6 [3.,-1.,-1.,2.],\ 7 [-1.,2.,3.,-1.]] 8 ~~~~~~inisialisasi vektor b~~~~~ 9 b = array[[4.],\ 10 [1],\ 11 [-3],\ 12 [4]] 13 ~~~~~~menggabungkan matrik A dan vektor b kedalam matrik augment C~~~~~ 14 n=lenA 15 C=zerosn,n+1 16 for i in range0,n: 17 for j in range0,n: 18 C[i,j]=A[i,j] 19 for i in range0,n: 20 C[i,n]=b[i,0] 21 22 ~~~~~~proses triangularisasi~~~~~~~~~~ 23 for k in range0,n-1: 24 -----proses pivot dari sini---------- 25 if C[k][k]==0: 26 for s in range0,n+1: 27 v=C[k,s] 28 u=C[k+1,s] 29 C[k,s]=u 30 C[k+1,s]=v 31 -----proses pivot sampai sini---------- 32 for j in rangek+1,n: 33 m=C[j,k]C[k,k] 34 for i in range0,n+1: 35 C[j,i]=C[j,i]-mC[k,i] 36 37 ~~~~~~proses substitusi-mundur~~~~~~~~ 38 X = zerosn,1 39 40 X[n-1,0]=C[n-1,n]C[n-1,n-1] 41 for j in rangen-2,-1,-1: 42 S=0 43 for i in rangej+1,n: