روش ژاکوبی
روش ژاکوبی یک روش تکراری در حل دستگاه معادلات خطی است که در جبر خطی مورد بحث قرار می‌گیرد.
در یک دستگاه مربعی با "n" معادلۀ خطی:
که:
formula_2
اگر ماتریس A را به دو ماتریس به شکل زیر تفکیک کنیم:
از روش تکرار جواب را می‌توان به شکل زیر یافت:
اگر این فرمول را بر اساس المانهایش مرتبط کنیم به این صورت در خواهد آمد:
در روش ژاکوبی گاهی علی‌رغم اینکه شرایط همگرایی برقرار نباشد، جواب همگرا می‌شود.
در formula_14 با داشتن مقدار اولیه (حدس اولیه)، جواب را بدست می آوریم. با استفاده از رابطۀ formula_16، که در بالا توضیح داده شد، به تخمین formula_17 می پردازیم تا جواب بدست آید.
با بازنویسی رابطۀ اخیر به فرم ساده‌تر formula_18،که در آن formula_19 و formula_20.
توجه کنید که formula_21 که formula_22 و formula_23 به ترتیب قسمت پایینی و بالایی formula_24 هستند.
با استفاده از مقادیر داده شده: we determine formula_26 as Further, C is found as
With T and C calculated, we estimate formula_17 as formula_30: با تکرار بعدی داریم: این فرایند تا جایی که همگرایی مشهود باشد تکرار می‌شود. (به عبارت دقیق تر formula_33 کوچک باشد).  جواب پس از ۲۵ بار تکرار خواهد بود:
فرض کنید معادلات زیر را بخواهیم حل کنیم:
با انتخاب (0, 0, 0, 0) به عنوان تقریب اولیه:
پاسخ‌ها پس از ۵ بار تکرار در جدول زیر آورده شده است:
جواب دقیق (1, 2, −1, 1) است.
import numpy as np
ITERATION_LIMIT = 1000 A = np.array(10., -1., 2., 0.], b = np.array([6., 25., -11., 15.]) print("System:") for i in range(A.shape[0]): print()
x = np.zeros_like(b) for it_count in range(ITERATION_LIMIT):
print("Solution:") print(x) error = np.dot(A, x) - b print("Error:") print(error) خروجی به این شکل خواهد بود:
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]