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: