Runge–Kutta usuli

**Runge–Kutta usuli** — oddiy differensial tenglamalar va tenglamalar sistemasi uchun Koshi masalasini yechishda qoʻllanadigan sonli usullar toʻplami. Ilk marta 1900-yili nemis matematiklari Carl Runge va Wilhelm Kutta tomonidan taklif qilingan.

Runge–Kutta usullari toʻplamiga Eulerning oshkor usuli va Eulerning modifikatsiyalangan usullari kiradi. Ushbu usullar mos holda birinchi va ikkinchi tartibli aniqlikka ega boʻlgan usullar hisoblanadi. Bundan tashqari uchinchi tartibli aniqlikka ega boʻlgan standart oshkor usullar ham mavjud, biroq ular keng tarqalmagan. Koʻplab matematik paketlar (Maple, MathCAD, Maxima) da toʻrtinchi tartibli aniqlikka ega boʻlgan klassik Runge–Kutta usuli qoʻllanadi. Yuqori aniqlikdagi hisob-kitoblar zarur boʻlganda beshinchi va oltinchi tartibli aniqlikka ega boʻgan usullardan foydalaniladi. Aniqlik tartibi ortib borgani sari ushbu usulda hisoblash sxemasi ham murakkablashib boradi.

Yettinchi tartibli usullar kamida toʻqqiz bosqichdan iborat boʻladi, sakkizinchi tartibli usullar esa kamida 11 bosqichdan iborat. Toʻqqizinchi va undan yuqori tartibli aniqlikka ega boʻlgan usullar (umuman olganda, ular amaliyotda deyarli ishlatilmaydi) qancha bosqichdan iborat boʻlishi maʼlum emas.

## Toʻrtinchi tartibli klassik Runge–Kutta usuli
Toʻrtinchi tartibli aniqlikka ega boʻlgan Runge–Kutta usuli juda koʻp qoʻllanilgani tufayli baʼzida uni shunchaki Runge–Kutta usuli deb ataladi. Ushbu metodda integrallash qadami doimiy boʻladi.

Birinchi tartibli oddiy differensial tenglamalar sistemasi uchun Koshi masalasi ni koʻrib chiqamiz. (Bundan keyingi oʻrinlarda \mathbf{y},\ \mathbf{f},\ \mathbf{k}_{i}\in\mathbb{R}^{n}).
: 
\textbf{y}'=\textbf{f}(x,\textbf{y}),\ \ \ \textbf{y}(x_{0})=\textbf{y}_{0}

U holda ushbu tenglamaning yaqinlashgan (taxminiy) yechimi quyidagi iteratsion formula yordamida hisoblanadi:
:  \textbf{y}_{n+1} = \textbf{y}_n + {h \over 6}(\textbf{k}_1 + 2\textbf{k}_2 + 2\textbf{k}_3 + \textbf{k}_4) 

Yangi qiymatni hisoblash esa quyidagi toʻrt bosqichda amalga oshiriladi:
:  \textbf{k}_1 = \textbf{f} \left( x_n, \textbf{y}_n \right), 
:  \textbf{k}_2 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_1 \right), 
:  \textbf{k}_3 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_2 \right), 
:  \textbf{k}_4 = \textbf{f} \left( x_n + h, \textbf{y}_n + h\ \textbf{k}_3 \right). 
bu yerda h — toʻr qadamining x boʻyicha kattaligi.

Ushbu usul toʻrtinchi tartibli aniqlikka ega. Demak, bitta hisoblash qadamidagi xatolik O(h^5) tartibida boʻladi. Oxirgi intervaldagi yigʻindi xatolik esa O(h^4) tartibida.

## Runge–Kuttaning oshkor usullari
Runge–Kuttaning oshkor usullari sinfi, Eulerning oshkor usullari hamda toʻrtinchi tartibli Runge–Kutta usullarining umumlashgan koʻrinishi hisoblanadi. Ushbu metod quyidagi formula orqali beriladi:
:  \textbf{y}_{n+1} = \textbf{y}_n + h\sum_{i=1}^s b_i \textbf{k}_i, 
bu yerda h — toʻr qadamining x boʻyicha kattaligi. Yangi qiymatni hisoblash esa quyidagi s bosqichlarda amalga oshiriladi:

: \begin{array}{ll}
\textbf{k}_1 =& \textbf{f}(x_n, \textbf{y}_n),\\
\textbf{k}_2 =& \textbf{f}(x_n+c_2h, \textbf{y}_n+a_{21}h\textbf{k}_1),\\
\cdots&\\
\textbf{k}_s =& \textbf{f}(x_n+c_sh, \textbf{y}_n+a_{s1}h\textbf{k}_1+a_{s2}h\textbf{k}_2+\cdots+a_{s,s-1}h\textbf{k}_{s-1})
\end{array} 

Aniq metod, s soni va b_i, a_{ij} hamda c_i koeffitsiyentlar orqali aniqlanadi. Ushbu koeffitsiyentlar Butcher jadvali deb ataluvchi jadvalni hosil qiladi:

: \begin{array}{c|ccccc}
  0      &&&&&\\
  c_2    & a_{21} &&&&\\
  c_3    & a_{31} & a_{32} &&&\\
  \vdots & \vdots & \vdots& \ddots&&\\
  c_s    & a_{s1} & a_{s2}& \dots & a_{ss-1}&\\
  \hline & b_1    & b_2   & \dots & b_{s-1} & b_s
\end{array} 

Runge–Kutta usuli koeffitsiyentlari uchun \sum_{j=1}^{i-1} a_{ij} = c_i dlya  i=2, \ldots, s shart bajarilishi kerak. Agar metod aniqligi p -tartibli boʻlishi kerak boʻlsa, qoʻshimcha tarzda quyidagi shart ham bajarilishi lozim:
: \bar{\textbf{y}}(h+x_0)- {\textbf{y}}(h+x_0)=O(h^{p+1}),

bu yerda \bar{\textbf{y}}(h+x_0) — Runge–Kutta usuli orqali olingan yaqinlashish.

Koʻp martalab differensiallashdan soʻng ushbu shart, metod koeffitsiyentlariga nisbatan polinomial tenglamalar sistemasiga aylanadi.