Jacobi metodu (diğer adıyla Jacobi yinelemeli metodu), sayısal lineer cebirde lineer denklemlerin diyagonal olarak baskın sistemlerin çözümlerinin belirlenmesi için oluşturulmuş bir algoritmadır. Her diyagonal eleman tek tek çözülür ve yaklaşık bir değer olarak alınır. Bu aşama onlar yakınsayana kadar tekrarlanır. Bu algoritma matris köşegenleştirilmesi Jacobi dönüşüm metodunun (diğer adıyla Jacobi özdeğer algoritmasının) sadeleştirilmiş şeklidir. Bu metot daha sonra Carl Gustav Jacob Jacobi olarak isimlendirilmiştir.
Açıklama
n lineer denklemli bir kare sistemi verilmiş olsun.
A matrisi diyagonal (D) ve geriye kalan (R) bileşenlerine ayrılır.
Bu çözüm daha sonra : aracılığıyla yinelemeli olarak elde edilir. Eleman tabanlı formül böylece : olur. xi(k+1) hesaplanması kendisi dışında x(k)'daki her elemanı gerektirir. Gauss-Seidel yönteminin aksine, xi(k) ile xi(k+1)'yi, hesaplamanın geri kalanı tarafından ihtiyaç duyulacak değer olarak üzerine yazamayız. Minimum saklama miktarı, büyüklüğü n olan iki vektördür.
Algoritma
- için bir başlangıç tahmini seçelim.
- k=0
- while (yakınsama ulaşamamış) do
- for (i:=1; i<n) do
- for (j:=1; j<n) do
- if ( j≠i) then
- end if
- if ( j≠i) then
- end (j döngüsü)
- check (yakınsama ulaşmış?)
- for (i:=1; i<n) do
- end (while döngüsü)
Yakınsama
Standart yakınsama durumu (her tekrarlamalı metot için) yineleme matrisinin spektral yarıçapı en az bir olmasıdır.
A matrisi kesin ve indirgenemez bir şekilde diyagonal olarak baskın ise bu yöntem yakınsama garantilidir. Kesin olan satırın diyagonal baskınlığı, her satır için diyagonal terimin mutlak değerinin, diğer terimlerin mutlak değerlerinin toplamından büyük olmasıdır.
Jacobi metodu bazen bu şartlar sağlanmasa bile yakınsar.
Örnek
başlangıç değerli formundaki lineer sisteminde
olarak veriliyor. X' i tahmin etmek için yukarıda tanımlanmış , denklemini kullanırız. İlk olarak; denklemi ve olduğu yerde daha uygun formda yazarız: L ve U, A matrisinin kesin alt ve üst kısımları olduğu yerde 'dur. Bilinen değerlerden; : olarak tanımlayabiliriz.
Ayrıca, : olarak buluruz. Hesaplanan T ve C ile x'i as : olarak tahmin ederiz.
Bir sonraki yineleme bize
verir. Bu aşama yakınsayana kadar tekrarlanır ( küçük değer alana kadar). 25 yineleme sonra çözüm:
Başka bir örnek
Aşağıdaki lineer sistemin verildiğini varsayalım:
Başlangıç tahmini olarak (0, 0, 0, 0) alalım, ardından ilk tahminimiz:
olacaktır. Elde edilen tahminleri kullanarak, istenilen doğruluğa ulaşıncaya kadar yineleme işlemi tekrarlanır. Beş iterasyon sonra yaklaşık çözümler şunlardır:
Sistemin tam çözümü ise (1, 2, −1, 1) olur.
Python 3 ve Numpy kullanılarak yapılmış bir örnek
Aşağıdaki sayısal işlem çözüm vektörü oluşturmak için yinelenir.
import numpy as np ITERATION_LIMIT = 1000 # initialize the matrix A = np.array([[10., -1., 2., 0.], [-1., 11., -1., 3.], [2., -1., 10., -1.], [0.0, 3., -1., 8.]]) # initialize the RHS vector b = np.array([6., 25., -11., 15.]) # prints the system print("System:") for i in range(A.shape[0]): row = ["{}*x{}".format(A[i, j], j + 1) for j in range(A.shape[1])] print(" + ".join(row), "=", b[i]) print() x = np.zeros_like(b) for it_count in range(ITERATION_LIMIT): print("Current solution:", x) x_new = np.zeros_like(x) for i in range(A.shape[0]): s1 = np.dot(A[i, :i], x[:i]) s2 = np.dot(A[i, i + 1:], x[i + 1:]) x_new[i] = (b[i] - s1 - s2) / A[i, i] if np.allclose(x, x_new, rtol=1e-10): break x = x_new print("Solution:") print(x) error = np.dot(A, x) - b print("Error:") print(error)
Aşağıdaki çıktıyı üretir:
System: 10.0*x1 + -1.0*x2 + 2.0*x3 + 0.0*x4 = 6.0 -1.0*x1 + 11.0*x2 + -1.0*x3 + 3.0*x4 = 25.0 2.0*x1 + -1.0*x2 + 10.0*x3 + -1.0*x4 = -11.0 0.0*x1 + 3.0*x2 + -1.0*x3 + 8.0*x4 = 15.0 Current solution: [ 0. 0. 0. 0.] Current solution: [ 0.6 2.27272727 -1.1 1.875 ] Current solution: [ 1.04727273 1.71590909 -0.80522727 0.88522727] Current solution: [ 0.93263636 2.05330579 -1.04934091 1.13088068] Current solution: [ 1.01519876 1.95369576 -0.96810863 0.97384272] Current solution: [ 0.9889913 2.01141473 -1.0102859 1.02135051] Current solution: [ 1.00319865 1.99224126 -0.99452174 0.99443374] Current solution: [ 0.99812847 2.00230688 -1.00197223 1.00359431] Current solution: [ 1.00062513 1.9986703 -0.99903558 0.99888839] Current solution: [ 0.99967415 2.00044767 -1.00036916 1.00061919] Current solution: [ 1.0001186 1.99976795 -0.99982814 0.99978598] Current solution: [ 0.99994242 2.00008477 -1.00006833 1.0001085 ] Current solution: [ 1.00002214 1.99995896 -0.99996916 0.99995967] Current solution: [ 0.99998973 2.00001582 -1.00001257 1.00001924] Current solution: [ 1.00000409 1.99999268 -0.99999444 0.9999925 ] Current solution: [ 0.99999816 2.00000292 -1.0000023 1.00000344] Current solution: [ 1.00000075 1.99999868 -0.99999899 0.99999862] Current solution: [ 0.99999967 2.00000054 -1.00000042 1.00000062] Current solution: [ 1.00000014 1.99999976 -0.99999982 0.99999975] Current solution: [ 0.99999994 2.0000001 -1.00000008 1.00000011] Current solution: [ 1.00000003 1.99999996 -0.99999997 0.99999995] Current solution: [ 0.99999999 2.00000002 -1.00000001 1.00000002] Current solution: [ 1. 1.99999999 -0.99999999 0.99999999] Current solution: [ 1. 2. -1. 1.] Solution: [ 1. 2. -1. 1.] Error: [ -2.81440107e-08 5.15706873e-08 -3.63466359e-08 4.17092547e-08]
Ağırlıklı Jacobi yöntemi
Ağırlıklı Jacobi yinelemesi : yinelemesini olağan seçenek olan ile hesaplarkenw parametresini kullanır.
Son gelişmeler
2014 yılında planlanmış relaksasyon Jacobi yöntemi adıyla anılan bir algoritma düzeltmesi yayımlandı. Bu yeni yöntem bir üst ve alt relaksasyon programı kullanır ve büyük iki ve üç boyutlu Kartezyen örgülerle ayrıştırılmış eliptik denklemlerin çözümünde iki yüz kat performans artışı sağlar.
Kaynakça
- ^ a b "19th century math tactic gets a makeover—and yields answers up to 200 times faster". Douglas, Man Adası: . 30 Haziran 2014. 6 Temmuz 2014 tarihinde kaynağından . Erişim tarihi: 1 Temmuz 2014.
- ^ (2003). Iterative Methods for Sparse Linear Systems (2 bas.). . s. 414. ISBN .
- ^ Yang, Xiang; Mittal, Rajat (27 Haziran 2014). "Acceleration of the Jacobi iterative method by factors exceeding 100 using scheduled relaxation". Journal of Computational Physics. doi:10.1016/j.jcp.2014.06.010.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Jacobi metodu diger adiyla Jacobi yinelemeli metodu sayisal lineer cebirde lineer denklemlerin diyagonal olarak baskin sistemlerin cozumlerinin belirlenmesi icin olusturulmus bir algoritmadir Her diyagonal eleman tek tek cozulur ve yaklasik bir deger olarak alinir Bu asama onlar yakinsayana kadar tekrarlanir Bu algoritma matris kosegenlestirilmesi Jacobi donusum metodunun diger adiyla Jacobi ozdeger algoritmasinin sadelestirilmis seklidir Bu metot daha sonra Carl Gustav Jacob Jacobi olarak isimlendirilmistir Aciklaman lineer denklemli bir kare sistemi verilmis olsun Ax b displaystyle A mathbf x mathbf b A a11a12 a1na21a22 a2n an1an2 ann x x1x2 xn b b1b2 bn displaystyle A begin bmatrix a 11 amp a 12 amp cdots amp a 1n a 21 amp a 22 amp cdots amp a 2n vdots amp vdots amp ddots amp vdots a n1 amp a n2 amp cdots amp a nn end bmatrix qquad mathbf x begin bmatrix x 1 x 2 vdots x n end bmatrix qquad mathbf b begin bmatrix b 1 b 2 vdots b n end bmatrix A matrisi diyagonal D ve geriye kalan R bilesenlerine ayrilir A D RwhereD a110 00a22 0 00 ann and R 0a12 a1na210 a2n an1an2 0 displaystyle A D R qquad text where qquad D begin bmatrix a 11 amp 0 amp cdots amp 0 0 amp a 22 amp cdots amp 0 vdots amp vdots amp ddots amp vdots 0 amp 0 amp cdots amp a nn end bmatrix text and R begin bmatrix 0 amp a 12 amp cdots amp a 1n a 21 amp 0 amp cdots amp a 2n vdots amp vdots amp ddots amp vdots a n1 amp a n2 amp cdots amp 0 end bmatrix Bu cozum daha sonra x k 1 D 1 b Rx k displaystyle mathbf x k 1 D 1 mathbf b R mathbf x k araciligiyla yinelemeli olarak elde edilir Eleman tabanli formul boylece xi k 1 1aii bi j iaijxj k i 1 2 n displaystyle x i k 1 frac 1 a ii left b i sum j neq i a ij x j k right quad i 1 2 ldots n olur xi k 1 hesaplanmasi kendisi disinda x k daki her elemani gerektirir Gauss Seidel yonteminin aksine xi k ile xi k 1 yi hesaplamanin geri kalani tarafindan ihtiyac duyulacak deger olarak uzerine yazamayiz Minimum saklama miktari buyuklugu n olan iki vektordur Algoritmax 0 displaystyle x 0 icin bir baslangic tahmini secelim k 0 while yakinsama ulasamamis dofor i 1 i lt n dos 0 displaystyle sigma 0 for j 1 j lt n doif j i thens s aijxj k displaystyle sigma sigma a ij x j k dd end if dd end j dongusu dd check yakinsama ulasmis k k 1 displaystyle k k 1 dd end while dongusu YakinsamaStandart yakinsama durumu her tekrarlamali metot icin yineleme matrisinin spektral yaricapi en az bir olmasidir r D 1R lt 1 displaystyle rho D 1 R lt 1 A matrisi kesin ve indirgenemez bir sekilde diyagonal olarak baskin ise bu yontem yakinsama garantilidir Kesin olan satirin diyagonal baskinligi her satir icin diyagonal terimin mutlak degerinin diger terimlerin mutlak degerlerinin toplamindan buyuk olmasidir aii gt j i aij displaystyle left a ii right gt sum j neq i left a ij right Jacobi metodu bazen bu sartlar saglanmasa bile yakinsar Ornekx 0 displaystyle x 0 baslangic degerli Ax b displaystyle Ax b formundaki lineer sisteminde A 2157 b 1113 andx 0 11 displaystyle A begin bmatrix 2 amp 1 5 amp 7 end bmatrix b begin bmatrix 11 13 end bmatrix quad text and quad x 0 begin bmatrix 1 1 end bmatrix olarak veriliyor X i tahmin etmek icin yukarida tanimlanmis x k 1 D 1 b Rx k displaystyle x k 1 D 1 b Rx k denklemini kullaniriz Ilk olarak denklemi T D 1R displaystyle T D 1 R ve C D 1b displaystyle C D 1 b oldugu yerde daha uygun formda yazariz D 1 b Rx k Tx k C displaystyle D 1 b Rx k Tx k C L ve U A matrisinin kesin alt ve ust kisimlari oldugu yerde R L U displaystyle R L U dur Bilinen degerlerden D 1 1 2001 7 L 0050 andU 0100 displaystyle D 1 begin bmatrix 1 2 amp 0 0 amp 1 7 end bmatrix L begin bmatrix 0 amp 0 5 amp 0 end bmatrix quad text and quad U begin bmatrix 0 amp 1 0 amp 0 end bmatrix T D 1 L U displaystyle T D 1 L U olarak tanimlayabiliriz T 1 2001 7 00 50 0 100 0 1 2 5 70 displaystyle T begin bmatrix 1 2 amp 0 0 amp 1 7 end bmatrix left begin bmatrix 0 amp 0 5 amp 0 end bmatrix begin bmatrix 0 amp 1 0 amp 0 end bmatrix right begin bmatrix 0 amp 1 2 5 7 amp 0 end bmatrix Ayrica C 1 2001 7 1113 11 213 7 displaystyle C begin bmatrix 1 2 amp 0 0 amp 1 7 end bmatrix begin bmatrix 11 13 end bmatrix begin bmatrix 11 2 13 7 end bmatrix olarak buluruz Hesaplanan T ve C ile x i x displaystyle x as x 1 Tx 0 C displaystyle x 1 Tx 0 C olarak tahmin ederiz x 1 0 1 2 5 70 11 11 213 7 5 08 7 51 143 displaystyle x 1 begin bmatrix 0 amp 1 2 5 7 amp 0 end bmatrix begin bmatrix 1 1 end bmatrix begin bmatrix 11 2 13 7 end bmatrix begin bmatrix 5 0 8 7 end bmatrix approx begin bmatrix 5 1 143 end bmatrix Bir sonraki yineleme bize x 2 0 1 2 5 70 5 08 7 11 213 7 69 14 12 7 4 929 1 714 displaystyle x 2 begin bmatrix 0 amp 1 2 5 7 amp 0 end bmatrix begin bmatrix 5 0 8 7 end bmatrix begin bmatrix 11 2 13 7 end bmatrix begin bmatrix 69 14 12 7 end bmatrix approx begin bmatrix 4 929 1 714 end bmatrix verir Bu asama yakinsayana kadar tekrarlanir Ax n b displaystyle Ax n b kucuk deger alana kadar 25 yineleme sonra cozum x 7 111 3 222 displaystyle x begin bmatrix 7 111 3 222 end bmatrix Baska bir ornek Asagidaki lineer sistemin verildigini varsayalim 10x1 x2 2x3 6 x1 11x2 x3 3x4 25 2x1 x2 10x3 x4 11 3x2 x3 8x4 15 displaystyle begin aligned 10x 1 x 2 2x 3 amp 6 x 1 11x 2 x 3 3x 4 amp 25 2x 1 x 2 10x 3 x 4 amp 11 3x 2 x 3 8x 4 amp 15 end aligned Baslangic tahmini olarak 0 0 0 0 alalim ardindan ilk tahminimiz x1 6 0 0 10 0 6 x2 25 0 0 11 25 11 2 2727x3 11 0 0 10 1 1 x4 15 0 0 8 1 875 displaystyle begin aligned x 1 amp 6 0 0 10 0 6 x 2 amp 25 0 0 11 25 11 2 2727 x 3 amp 11 0 0 10 1 1 x 4 amp 15 0 0 8 1 875 end aligned olacaktir Elde edilen tahminleri kullanarak istenilen dogruluga ulasincaya kadar yineleme islemi tekrarlanir Bes iterasyon sonra yaklasik cozumler sunlardir x1 displaystyle x 1 x2 displaystyle x 2 x3 displaystyle x 3 x4 displaystyle x 4 0 6 displaystyle 0 6 2 27272 displaystyle 2 27272 1 1 displaystyle 1 1 1 875 displaystyle 1 875 1 04727 displaystyle 1 04727 1 7159 displaystyle 1 7159 0 80522 displaystyle 0 80522 0 88522 displaystyle 0 88522 0 93263 displaystyle 0 93263 2 05330 displaystyle 2 05330 1 0493 displaystyle 1 0493 1 13088 displaystyle 1 13088 1 01519 displaystyle 1 01519 1 95369 displaystyle 1 95369 0 9681 displaystyle 0 9681 0 97384 displaystyle 0 97384 0 98899 displaystyle 0 98899 2 0114 displaystyle 2 0114 1 0102 displaystyle 1 0102 1 02135 displaystyle 1 02135 Sistemin tam cozumu ise 1 2 1 1 olur Python 3 ve Numpy kullanilarak yapilmis bir ornek Asagidaki sayisal islem cozum vektoru olusturmak icin yinelenir import numpy as np ITERATION LIMIT 1000 initialize the matrix A np array 10 1 2 0 1 11 1 3 2 1 10 1 0 0 3 1 8 initialize the RHS vector b np array 6 25 11 15 prints the system print System for i in range A shape 0 row x format A i j j 1 for j in range A shape 1 print join row b i print x np zeros like b for it count in range ITERATION LIMIT print Current solution x x new np zeros like x for i in range A shape 0 s1 np dot A i i x i s2 np dot A i i 1 x i 1 x new i b i s1 s2 A i i if np allclose x x new rtol 1e 10 break x x new print Solution print x error np dot A x b print Error print error Asagidaki ciktiyi uretir System 10 0 x1 1 0 x2 2 0 x3 0 0 x4 6 0 1 0 x1 11 0 x2 1 0 x3 3 0 x4 25 0 2 0 x1 1 0 x2 10 0 x3 1 0 x4 11 0 0 0 x1 3 0 x2 1 0 x3 8 0 x4 15 0 Current solution 0 0 0 0 Current solution 0 6 2 27272727 1 1 1 875 Current solution 1 04727273 1 71590909 0 80522727 0 88522727 Current solution 0 93263636 2 05330579 1 04934091 1 13088068 Current solution 1 01519876 1 95369576 0 96810863 0 97384272 Current solution 0 9889913 2 01141473 1 0102859 1 02135051 Current solution 1 00319865 1 99224126 0 99452174 0 99443374 Current solution 0 99812847 2 00230688 1 00197223 1 00359431 Current solution 1 00062513 1 9986703 0 99903558 0 99888839 Current solution 0 99967415 2 00044767 1 00036916 1 00061919 Current solution 1 0001186 1 99976795 0 99982814 0 99978598 Current solution 0 99994242 2 00008477 1 00006833 1 0001085 Current solution 1 00002214 1 99995896 0 99996916 0 99995967 Current solution 0 99998973 2 00001582 1 00001257 1 00001924 Current solution 1 00000409 1 99999268 0 99999444 0 9999925 Current solution 0 99999816 2 00000292 1 0000023 1 00000344 Current solution 1 00000075 1 99999868 0 99999899 0 99999862 Current solution 0 99999967 2 00000054 1 00000042 1 00000062 Current solution 1 00000014 1 99999976 0 99999982 0 99999975 Current solution 0 99999994 2 0000001 1 00000008 1 00000011 Current solution 1 00000003 1 99999996 0 99999997 0 99999995 Current solution 0 99999999 2 00000002 1 00000001 1 00000002 Current solution 1 1 99999999 0 99999999 0 99999999 Current solution 1 2 1 1 Solution 1 2 1 1 Error 2 81440107e 08 5 15706873e 08 3 63466359e 08 4 17092547e 08 Agirlikli Jacobi yontemiAgirlikli Jacobi yinelemesi x k 1 wD 1 b Rx k 1 w x k displaystyle mathbf x k 1 omega D 1 mathbf b R mathbf x k left 1 omega right mathbf x k yinelemesini olagan secenek olan w 2 3 displaystyle omega 2 3 ile hesaplarkenw parametresini kullanir Son gelismeler2014 yilinda planlanmis relaksasyon Jacobi yontemi adiyla anilan bir algoritma duzeltmesi yayimlandi Bu yeni yontem bir ust ve alt relaksasyon programi kullanir ve buyuk iki ve uc boyutlu Kartezyen orgulerle ayristirilmis eliptik denklemlerin cozumunde iki yuz kat performans artisi saglar Kaynakca a b 19th century math tactic gets a makeover and yields answers up to 200 times faster Douglas Man Adasi 30 Haziran 2014 6 Temmuz 2014 tarihinde kaynagindan Erisim tarihi 1 Temmuz 2014 2003 Iterative Methods for Sparse Linear Systems 2 bas s 414 ISBN 0898715342 Yang Xiang Mittal Rajat 27 Haziran 2014 Acceleration of the Jacobi iterative method by factors exceeding 100 using scheduled relaxation Journal of Computational Physics doi 10 1016 j jcp 2014 06 010