**روش گاوس سایدل** (به انگلیسی: Gauss–Seidel method) در جبر خطی عددی روش تکراری است که برای حل دستگاه معادلات خطی استفاده می‌شود. نام این روش از روی ریاضی‌دانان آلمانی کارل فریدریش گاوس و فیلیپ لودویگ ون سایدل نهاده شده‌است. اگرچه از این روش می‌توان در هر ماتریسی که دارای درایه قطری صفر نباشد استفاده کرد، اما فقط در صورتی همگرایی تضمین می‌شود که ماتریس مثبت معین یا قطری‌غالب باشد.

توضیح
-----

برای یک سیستم مربعی با *n* معادلهٔ خطی و دارای مجهول **x** داریم:

{\displaystyle A\mathbf {x} =\mathbf {b} }

که در آن:

{\displaystyle A={\begin{bmatrix}a\_{11}&a\_{12}&\cdots &a\_{1n}\\a\_{21}&a\_{22}&\cdots &a\_{2n}\\\vdots &\vdots &\ddots &\vdots \\a\_{n1}&a\_{n2}&\cdots &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* را به ماتریس پایین مثلثی و بالا مثلثی *L*\* و *U* تجزیه کنیم:

{\displaystyle A=L\_{\*}+U\qquad {\text{where}}\qquad L\_{\*}={\begin{bmatrix}a\_{11}&0&\cdots &0\\a\_{21}&a\_{22}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\a\_{n1}&a\_{n2}&\cdots &a\_{nn}\end{bmatrix}},\quad U={\begin{bmatrix}0&a\_{12}&\cdots &a\_{1n}\\0&0&\cdots &a\_{2n}\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &0\end{bmatrix}}}

معادلات خطی سیستم به شکل زیر بازنویسی خواهند شد:

{\displaystyle L\_{\*}\mathbf {x} =\mathbf {b} -U\mathbf {x} }

روش گاوس سایدل از روش تکراری برای حل قسمت چپ عبارت جهت به دست آوردن **x** بهره می‌برد، و بدین منظور از مقدار قبلی **x** در سمت راست عبارت استفاده می‌کند. می‌توان آن را به صورت زیر نوشت:

{\displaystyle \mathbf {x} ^{(k+1)}=L\_{\*}^{-1}(\mathbf {b} -U\mathbf {x} ^{(k)}).}

و با استفاده از خواص ماتریس مثلثی *L*\* می‌توان **x**(*k*+1) را به صورت زیر به دست آورد:

{\displaystyle x\_{i}^{(k+1)}={\frac {1}{a\_{ii}}}\left(b\_{i}-\sum \_{j>i}a\_{ij}x\_{j}^{(k)}-\sum \_{j<i}a\_{ij}x\_{j}^{(k+1)}\right),\quad i=1,2,\ldots ,n.}

در واقع برای محاسبه *x**i*(*k*+1) به همه عناصر **x**(*k*) به جز خود *x**i*(*k*) نیاز خواهد شد.

محاسبات تا زمانی ادامه داده می‌شود تا در تکراری خاص به خطایی کمتر از مقدار مورد نظر برسیم.

مثال
----

برای سیستمی که به شکل {\displaystyle A\mathbf {x} =\mathbf {b} } نمایش می‌دهیم داریم:

{\displaystyle A={\begin{bmatrix}16&3\\7&-11\\\end{bmatrix}}} و {\displaystyle b={\begin{bmatrix}11\\13\end{bmatrix}}.}
می‌خواهیم از معادله زیر

{\displaystyle \mathbf {x} ^{(k+1)}=L\_{\*}^{-1}(\mathbf {b} -U\mathbf {x} ^{(k)})}
به شکل

{\displaystyle \mathbf {x} ^{(k+1)}=T\mathbf {x} ^{(k)}+C}
استفاده کنیم، که در آن:

{\displaystyle T=-L\_{\*}^{-1}U} و {\displaystyle C=L\_{\*}^{-1}\mathbf {b} .}
باید {\displaystyle A\_{}^{}} به جمع دو ماتریس پایین مثلثی و بالا مثلثی {\displaystyle L\_{\*}^{}} و {\displaystyle U\_{}^{}} تجزیه شود:

{\displaystyle L\_{\*}={\begin{bmatrix}16&0\\7&-11\\\end{bmatrix}}} و {\displaystyle U={\begin{bmatrix}0&3\\0&0\end{bmatrix}}.}
معکوس {\displaystyle L\_{\*}^{}} برابر است با:

{\displaystyle L\_{\*}^{-1}={\begin{bmatrix}16&0\\7&-11\end{bmatrix}}^{-1}={\begin{bmatrix}0.0625&0.0000\\0.0398&-0.0909\\\end{bmatrix}}}.
و حالا می‌توانیم مقدار زیر را پیدا کنیم:

{\displaystyle T=-{\begin{bmatrix}0.0625&0.0000\\0.0398&-0.0909\end{bmatrix}}\times {\begin{bmatrix}0&3\\0&0\end{bmatrix}}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}},}
{\displaystyle C={\begin{bmatrix}0.0625&0.0000\\0.0398&-0.0909\end{bmatrix}}\times {\begin{bmatrix}11\\13\end{bmatrix}}={\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}.}
و با استفاده از {\displaystyle T\_{}^{}} و {\displaystyle C\_{}^{}} مقدار {\mathbf {x}} را به صورت تکرار به دست می‌آوریم.

باید مقدار اولیه را به صورت حدس انتخاب کنیم، برای همین فرض می‌کنیم:

{\displaystyle x^{(0)}={\begin{bmatrix}1.0\\1.0\end{bmatrix}}.}
حال می‌توانیم محاسبه کنیم:

{\displaystyle x^{(1)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}1.0\\1.0\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.5000\\-0.8636\end{bmatrix}}.}
{\displaystyle x^{(2)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.5000\\-0.8636\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8494\\-0.6413\end{bmatrix}}.}
{\displaystyle x^{(3)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.8494\\-0.6413\\\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8077\\-0.6678\end{bmatrix}}.}
{\displaystyle x^{(4)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.8077\\-0.6678\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8127\\-0.6646\end{bmatrix}}.}
{\displaystyle x^{(5)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.8127\\-0.6646\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8121\\-0.6650\end{bmatrix}}.}
{\displaystyle x^{(6)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.8121\\-0.6650\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8122\\-0.6650\end{bmatrix}}.}
{\displaystyle x^{(7)}={\begin{bmatrix}0.000&-0.1875\\0.000&-0.1193\end{bmatrix}}\times {\begin{bmatrix}0.8122\\-0.6650\end{bmatrix}}+{\begin{bmatrix}0.6875\\-0.7443\end{bmatrix}}={\begin{bmatrix}0.8122\\-0.6650\end{bmatrix}}.}
و همانگونه که انتظار داشتیم به مقدار دقیق همگرا شد:

{\displaystyle \mathbf {x} =A^{-1}\mathbf {b} ={\begin{bmatrix}0.8122\\-0.6650\end{bmatrix}}.}

منابع
-----


* Black, Noel and Moore, Shirley. "Gauss-Seidel Method". *MathWorld*.`{{cite web}}`: نگهداری یادکرد:نام‌های متعدد:فهرست نویسندگان (link)

پیوند به بیرون
--------------

* www.math-linux.com
* محاسبه گاوس-سایدل
* روش گاوس-سایدل
* کد متلب