Metode Iterasi Jacobi merupakan salah satu bidang analisis numerik yang digunakan untuk menyelesaikan permasalahan persamaan linear dan sering dijumpai dalam berbagai disiplin ilmu. Metode Iterasi Jacobi merupakan salah satu metode tak langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan kemudian berusaha memperbaiki hampiran dalam tak berhingga tetapi langkah konvergen. Metode Iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linear berukuran besar dan proporsi koefisien nolnya besar.

Metode ini ditemukan oleh matematikawan yang berasal dari Jerman, Carl Gustav Jacob Jacobi. Penemuan ini diperkirakan pada tahun 1800-an.

Kalau kita mengubah dalam Sistem Persamaan Linear, maka dapat ditulis sebagai berikut

Kemudian, diketahui bahwa , di mana merupakan matriks diagonal, merupakan matriks segitiga bawah, dan merupakan matriks segitiga atas.

Kemudian, persamaan di atas dapat diubah menjadi:


Kemudian,


Jika ditulis dalam aturan iteratif, maka metode Jacobi dapat ditulis sebagai:


di mana merupakan banyaknya iterasi. Jika menyatakan hampiran ke- penyelesaian SPL, maka adalah hampiran awal.

Deskripsi

sunting

Jadi

menjadi sistem kuadrat dari nilai n dalam persamaan linier yaitu:

Setelah itu nilai A dapat diuraikan menjadi komponen diagonal D, bagian segitiga bawah L dan bagian segitiga atas U:

Algoritma Metode Iterasi Jacobi

sunting

INPUT:

, A, b, dan hampiran awal Y=(y1 y2 y3...yn)T, batas toleransi T, dan maksimum iterasi N

OUTPUT:

X=(x1 x2 x3...xn)T, vektor galat hampiran , dan yang merupakan matriks dengan baris vektor-vektor hampiran selama iterasi.
  1. Set penghitung iterasi k=1
  2. WHILE DO
    1. FOR , Hitung
    2. SET
    3. IF ||X_Y||<T THEN STOP
    4. Tambah penghitung iterasi,
    5. FOR , Set yi=xi
    6. SET Y=(y1 y2 y3...yn)T
  3. Tulis pesan "Metode gagal setelah N iterasi"
  4. STOP
Input: initial guess  to the solution, (diagonal dominant) matrix , right-hand side vector , convergence criterion
Output: solution when convergence is reached
Comments: pseudocode based on the element-based formula above

while convergence not reached do
    for i := 1 step until n do
        
        for j := 1 step until n do
            if j ≠ i then
                
            end
        end
        
    end
    
end

Algoritma Metode Iterasi Jacobi dalam bentuk software Matlab

sunting

Penggunaan algoritme Metode Iterasi Jacobi dalam bentuk matlab. Matlab merupakan program pengolahan data numerik.

INPUT:

, A, b, dan hampiran awal Y=(y1 y2 y3...yn)T, batas toleransi T, dan maksimum iterasi N

OUTPUT:

X=(x1 x2 x3...xn)T, vektor galat hampiran , dan yang merupakan matriks dengan baris vektor-vektor hampiran selama iterasi.
H=X0'
n=length (b)
X=X0
for k:=1 until N
for i:=i until n,
S = b (i) - A (i,[1:i-1,i+1:n]) * X0 ([1:i-1,i+1:n])
X(i) = S / A (i,i)
end
g = abs (X-X0)
err = norm (g)
relerr = err / (norm (X)+eps)
X0 = X
H = [H;X0']
if (err<T)|(relerr<T), break, end
end

Kekonvergenan

sunting

MEtode ini akan bernilai konvergen jika matriksnya merupakan matriks dominan secara diagonal, yaitu apabila unsur diagonal pada kolom tersebut lebih besar dari penjumlahan unsur-unsur lainnya pada kolom tersebut.

Contoh

sunting

Sistem linear dari bentuk dengan perkiraan awal diberikan oleh

Kami menggunakan persamaan , dijelaskan di atas, untuk memperkirakan . Pertama, kami menulis ulang persamaan dalam bentuk yang lebih mudah , dimana dan . Dari nilai-nilai yang diketahui

we determine as

Further, is found as

Dengan dan dihitung, kami perkirakan sebagai :

Hasil iterasi berikutnya

Proses ini diulangi sampai konvergensi (yaitu, sampai kecil). Solusi setelah 25 iterasi adalah

Contoh lain

sunting

Contohnya kita diberi sistem linier berikut:

Bila kita memilih (0, 0, 0, 0) sebagai pendekatan awal, maka solusi perkiraan pertama diberikan oleh

Dengan menggunakan perkiraan yang diperoleh, prosedur iteratif diulangi sampai akurasi yang diinginkan tercapai. Berikut ini adalah solusi yang diperkirakan setelah lima iterasi.

0.6 2.27272 -1.1 1.875
1.04727 1.7159 -0.80522 0.88522
0.93263 2.05330 -1.0493 1.13088
1.01519 1.95369 -0.9681 0.97384
0.98899 2.0114 -1.0102 1.02135

Solusi yang tepat dari sistem ini adalah (1, 2, −1, 1).

Contoh menggunakan Python dan NumPy

sunting

Prosedur numerik berikut hanya melakukan iterasi untuk menghasilkan vektor solusi.

def jacobi(A, b, x_init, epsilon=1e-10, max_iterations=500):
    D = np.diag(np.diag(A))
    LU = A - D
    x = x_init
    for i in range(max_iterations):
        D_inv = np.diag(1 / np.diag(D))
        x_new = np.dot(D_inv, b - np.dot(LU, x))
        if np.linalg.norm(x_new - x) < epsilon:
            return x_new
        x = x_new
    return x

# problem data
A = np.array([
    [5, 2, 1, 1],
    [2, 6, 2, 1],
    [1, 2, 7, 1],
    [1, 1, 2, 8]
])
b = np.array([29, 31, 26, 19])

# you can choose any starting vector
x_init = np.zeros(len(b))
x = jacobi(A, b, x_init)

print("x:", x)
print("computed b:", np.dot(A, x))
print("real b:", b)

Menghasilkan keluaran:

x: [3.99275362 2.95410628 2.16183575 0.96618357]
computed b: [29. 31. 26. 19.]
real b: [29 31 26 19]

Lihat pula

sunting

Referensi

sunting
Sahid. 2005. Pengantar Komputasi Numerik dengan MATLAB. ANDI, Yogyakarta

Pranala luar

sunting
  • (Inggris) Black, Noel; Moore, Shirley; and Weisstein, Eric W. "Metode Jacobi". MathWorld. Pemeliharaan CS1: Banyak nama: authors list (link)
  • Jacobi Method from www.math-linux.com


📚 Artikel Terkait di Wikipedia

DIIS

ini mengkonstruksi kombinasi linear hampiran vektor galat yang diperoleh dari iterasi sebelumnya. Koefisien kombinasi linear tersebut dipilih sedemikian

Bahasa Yunani Mikenai

antarmuka Halaman bahasa acak Artikel ini mengandung teks dalam aksara silabis Linear B dan karakter yang digunakan untuk menulis kata-kata Proto-Indo-Eropa yang

Deret (matematika)

Aryeh; Rogers, C. Ambrose (1950). "Absolute and unconditional convergence in normed linear spaces". Proc. Nat. Acad. Sci. U. S. A. 36 (3): 192–197. doi:10

Model-model komunikasi

membatasi diri pada bentuk tertentu, seperti komunikasi massa. Model transmisi linear memahami komunikasi sebagai proses satu arah, di mana pengirim menyampaikan

Aritmetika

Indians, of Maximus Planudes – an early Western work on arithmetic at Convergence  Weyde, P. H. Vander (1879). "Arithmetic" . The American Cyclopædia.

Perceptron

tidak. Ia termasuk jenis pengklasifikasi linear, yaitu algoritma klasifikasi yang memprediksi dengan fungsi linear yang tersusun dari himpunan bobot dengan

Bahasa Proto-Helenik

hlm. 263–276. ISBN 0-7156-0580-1. Renfrew, Colin (2003). "Time Depth, Convergence Theory, and Innovation in Proto-Indo-European: 'Old Europe' as a PIE

Bahasa Yunani

digunakan selama 2.800 tahun; sebelumnya, bahasa Yunani tercatat dalam aksara Linear B dan Siprus. Alfabet Yunani diturunkan dari abjad Fenisia, dan alfabet