V lineární algebře je Jacobiho metoda (též Jacobiova metoda) iteračním algoritmem pro numerické řešení soustavy lineárních rovnic. Je založena na rozkladu matice soustavy na součet dvou komponent, z nichž jedna je diagonální a je díky tomu snadné určit její inverzní matici. V nematicové formulaci postup odpovídá tomu, že v každé iteraci se použitím přibližných hodnot řešení z každé rovnice vypočítá diagonální prvek, který představuje novou iteraci a přesnější odhad řešení. Metoda je pojmenována po Carlu Gustavu Jacobim.
Nechť
![{\displaystyle A\mathbf {x} =\mathbf {b} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/45d894430af69e29d6dda5aacbf4bb19336226a0)
je soustava n lineárních rovnic o n neznámných, kde:
Potom lze A rozložit na diagonální složku D a složku N s nulami v hlavní diagonále.
![{\displaystyle A=D+N\qquad {\text{kde}}\qquad D={\begin{bmatrix}a_{11}&0&\cdots &0\\0&a_{22}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &a_{nn}\end{bmatrix}}{\text{ a }}N={\begin{bmatrix}0&a_{12}&\cdots &a_{1n}\\a_{21}&0&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &0\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9ed8bfc59a5881ccde16d971f6cc609e2d6f9a5d)
Rovnici je potom možno přepsat do tvaru
![{\displaystyle D\mathbf {x} =\mathbf {b} -N\mathbf {x} ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/37cd89942d0eda691840dd21b0ab97877bc7791c)
tj.
![{\displaystyle \mathbf {x} =D^{-1}(\mathbf {b} -N\mathbf {x} ).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5edbffffc564464cd89eec993bbf48c807c60690)
Řešení této úlohy je potom možno v některých případech (viz níže podmínka konvergence) získat iterací vztahu
![{\displaystyle \mathbf {x} ^{(k+1)}=D^{-1}(\mathbf {b} -N\mathbf {x} ^{(k)}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c59c1871d18f3ed48ce4966a827016842733a240)
kde
je k-tá iterace
a
je další iterace
. Po rozepsání na jednotlivé prvky mají iterace tvar
![{\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.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/14729abaaebeb851f7eac41e41f04a6666463849)
Postačující podmínkou pro konvergenci metody je, že matice A je řádkově ostře diagonálně dominantní. To znamená, že pro každý řádek je absolutní hodnota diagonálního členu větší než součet absolutních hodnot ostatních členů:
![{\displaystyle \left|a_{ii}\right|>\sum _{j\neq i}{\left|a_{ij}\right|}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5543526e4e4c4ce0e00f6e6ca94a0dfd8ce91e7a)
Tato podmínka není nutná. Jacobiho metoda může konvergovat i pro matice, které tuto podmínku nesplňují.
Řešení soustavy
![{\displaystyle {\begin{aligned}10x_{1}-x_{2}+2x_{3}&=6,\\-x_{1}+11x_{2}-x_{3}+3x_{4}&=25,\\2x_{1}-x_{2}+10x_{3}-x_{4}&=-11,\\3x_{2}-x_{3}+8x_{4}&=15.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/11f2a2bb16c285c9e6adcb1581bfdb1dd3b84551)
spočívá v nalezení hodnoty
z první rovnice, přičemž ostatní neznámé nabývají hodnoty zvolené počáteční iterací. Z druhé rovnice se podobně určí hodnota
atd.
Pro počáteční iteraci (0, 0, 0, 0) je další iterace
![{\displaystyle {\begin{aligned}x_{1}&=(6+0-(2\times 0))/10=0.6,\\x_{2}&=(25+0+0-(3\times 0))/11=25/11=2.2727,\\x_{3}&=(-11-(2\times 0)+0+0)/10=-1.1,\\x_{4}&=(15-(3\times 0)+0)/8=1.875.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bd63a067d33e2ebf506f137db35da6fcfe955c29)
Toto je další odhad řešení. Postup se opakuje a v tabulce jsou shrnuta přibližná řešení po pěti iteracích.
|
|
|
|
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
|
Přesné řešení soustavy je (1, 2, −1, 1) .
V tomto článku byl použit překlad textu z článku Jacobi method na anglické Wikipedii.