\myAddDate{24}{04}{09}
	
\begin{myUnnumberedTheorem}[Теорема Филлипова]
Пусть дифференциальная задача корректно поставлена и соответствующая ей разностная схема также корректна. Тогда решение разностной задачи сходится к решению дифференциальной задачи с порядком погрешности аппроксимации.
\end{myUnnumberedTheorem}
\begin{proof}
\[||y_h||_h \leq M_2 ||\phi_h||_h\]
\[||z_h||_h \leq M_2 ||\psi_h||_h\]
\[M_2 \text{ не зависит от h}\]
Далее:
\[||\psi_h||_h \leq M_1 h^k, \quad M_1 \text{ не зависит от h}\]
Получаем:
\[||z_h||_h \leq M_1 M_2 h^k = M_3 h^k, \quad M_3 \text{ не зависит от h}\]
\[||z_h||_h = ||y_h - u_h||_h \rightarrow 0 \text{ при } h \rightarrow 0\]
\end{proof}
\begin{myUnnumberedNote}
Пусть \(\exists v: y_h \rightarrow v: ||y_h - v_h||_h \rightarrow 0\) при \(h \rightarrow 0\). Тогда:
\[||u_h - v_h||_h \leq ||-y_h + u_h||_h + ||y_h - v_h||_h \rightarrow 0 \text{ при } h \rightarrow 0\]
Если норма согласованная, то:
\[\lim \limits_{h \rightarrow 0} ||u_h - v_h||_h = ||u - v||_0 = 0 \Rightarrow u \equiv v\]
\end{myUnnumberedNote}

\chapter{Методы решения ОДУ и систем ОДУ}

\section{Примеры численных методов решения задачи Коши}

\begin{equation}
\label{eq_5_1_1}
\left\{ 
	\begin{array}{l l}
  		\frac{du}{dt} = f(t, u(t)), \quad t > 0, \\
  		u(0) = u_0; \\
\end{array} \right.
\end{equation}
\[u(t) = (u_1(t), u_2(t), \dots, u_m(t))^T\]
\[f(t, u(t)) = (f_1(t, u(t)), f_2(t, u(t)), \dots, f_m(t, u(t)))^T\]
Рассмотрим параллелепипед \(R = \left\{|t| \leq a, |u - u_0| \leq b\right\}\)
\begin{myUnnumberedDefinition}
Функция f(t, u) удовлетворяет в R условию Липшица по второму аргументу, если:
\[|f(t, u) - f(t, v)| \leq L|u - v|, \quad L = const\]
\end{myUnnumberedDefinition}
Пусть f(t, u) из \eqref{eq_5_1_1} удовлетворяет условию Липшица в R. Тогда решение \eqref{eq_5_1_1} u(t) существует и единственно при \(0 < t < T\) ("в малом"). Проинтегрируем первое уравнение из \eqref{eq_5_1_1} и учтем начальное условие:
\[u(t) = u(0) + \int \limits_0^t f(x, u(x))dx\]
На этом представлении основан метод Пикара:
\[u_{n+1}(t) = u(0) + \int \limits_0^t f(x, u_n(x))dx, \quad n = 0, 1, \dots\]
Этот метод не может быть эффективным методом решения задачи \eqref{eq_5_1_1}, так как интеграл не всегда можно посчитать аналитически, да и сходимость была бы медленной. Поэтому для решения систем ОДУ применяются разностные
методы: первая группа методов - методы Рунге-Кутта, вторая - многошаговые разностные методы (например, метод Адамса).
Введем последовательность \(\omega_\tau\):
\[\omega_\tau = \left\{t_n = n\tau, \tau > 0, n = 0, 1, \dots \right\}\]
\begin{description}
  \item[Пример.] Явная схема Эйлера.
\end{description}
Введем обозначения: \(y_n = y(t_n), f(t_n, y(t_n)) = f_n\). Тогда явная схема Эйлера имеет вид:
\begin{equation}
\label{eq_5_1_2}
\left\{ 
	\begin{array}{l l}
  		\frac{y_{n+1} - y_n}{\tau} = f_n, \quad t_n \in \omega_\tau, \\
  		y(0) = u_0; \\
\end{array} \right.
\end{equation}
Выразим \(y_{n+1}\) из первого уравнения:
\[y_{n+1} = y_n + \tau f_n\]
Все компоненты в правой части известны, то есть \(y_{n+1}\) можно найти в явном виде.
Обозначим \(u(t_n)\) через \(u_n\). Введем погрешность \(z_n = y_n - u_n\).
\[|z_n| \leq M\tau, \quad \text{M не зависит от } \tau\]
Таким образом, имеем первый порядок точности по \(\tau\). Запишем погрешность аппроксимации \(\psi_n\) на решении исходной задачи:
\begin{equation}
\label{eq_5_1_3}
	\psi_n = -\frac{u_{n+1} - u_n}{\tau} + f(t_n, u_n)
\end{equation}
Разложим \(u_{n+1}\) в ряд Тейлора в точке \(t_n\). Тогда:
\[\frac{u_{n+1} - u_n}{\tau} = u_n' + \frac{\tau}{2}u_n'' + \underline{O}(\tau^2)\]
Подставим последнее выражение в \eqref{eq_5_1_3}:
\[\psi_n = -u_n' + f(t_n, u_n) - \frac{\tau}{2}u_n'' + \underline{O}(\tau^2)\]
Учитывая, что \(-u_n' + f(t_n, u_n) = 0\), окончательно получаем:
\[\psi_n = \underline{O}(\tau)\]
\begin{description}
  \item[Пример.] Схема \guillemotleft предиктор-корректор\guillemotright (схема Рунге-Кутта).
\end{description}
Обозначим \(t_n + 0.5\tau\) через \(t_{n + \frac{1}{2}}\).
\begin{equation}
\label{eq_5_1_4}
\left\{ 
	\begin{array}{l l l}
  		\frac{y_{n+\frac{1}{2}} - y_n}{0.5\tau} = f(t_n, y_n) \text{ --- \guillemotleft предиктор\guillemotright,} \\
		\frac{y_{n+1} - y_n}{0.5\tau} = f(t_{n+\frac{1}{2}}, y_{n+\frac{1}{2}}) \text{ --- \guillemotleft корректор\guillemotright,} \\
  		y(0) = u_0; \\
\end{array} \right.
\end{equation}
\[y_{n+1} = y_n + \tau f(t_{n+\frac{1}{2}}, y_n + 0.5\tau f(t_n, y_n))\]
Для данной схемы имеем: \(\psi_n = \underline{O}(\tau^2)\)

Рассмотрим общий вид двухэтапного метода Рунге-Кутта:
\begin{equation}
\label{eq_5_1_5}
\left\{ 
	\begin{array}{l l l}
  		\frac{y_{n+1} - y_n}{\tau} = \sigma_1 K_1 + \sigma_2 K_2, \\
		K_1 = f(t_n, y_n), \\
  		K_2 = f(t_n + a_2\tau, y_n + b_{21}\tau f_n) = f(t_n + a_2\tau, y_n + b_{21}\tau K_1); \\
\end{array} \right.
\end{equation}
Запишем погрешность аппроксимации \eqref{eq_5_1_5} на решении \eqref{eq_5_1_1}:
\begin{equation}
\label{eq_5_1_6}
	\psi_n = -\frac{u_{n+1} - u_n}{\tau} + \sigma_1 f(t_n, u_n) + \sigma_2 f(t_n + a_2\tau, y_n + b_{21}\tau f(t_n, u_n))
\end{equation}
Разложим \(u_{n+1}\) в ряд Тейлора в точке \(t_n\). Тогда:
\[\frac{u_{n+1} - u_n}{\tau} = u_n' + \frac{\tau}{2}u_n'' + \underline{O}(\tau^2)\]
Далее разложим \(f(t_n + a_2\tau, y_n + b_{21}\tau f(t_n, u_n))\) в окрестности точки \((t_n, u_n)\):
\[f(t_n + a_2\tau, y_n + b_{21}\tau f(t_n, u_n)) = f(t_n, u_n) + \frac{\partial f_n}{\partial t}a_2 \tau + \frac{\partial f_n}{\partial u}b_{21}\tau f(t_n, u_n) + \underline{O}(\tau_2)\]
Далее:
\[\frac{d^2 u_n}{dt^2} = \frac{d}{dt}(f(t, u_n(t))) = \frac{\partial f_n}{\partial t} + \frac{\partial f_n}{\partial u}f_n\]
Перепишем теперь \(\psi_n\) с учетом проведенных преобразований:
\[\psi_n = -\left(u_n' + 0.5\tau \left(\frac{\partial f_n}{\partial t} + \frac{\partial f_n}{\partial u}f_n\right) \right) + \sigma_1 f(t_n, u_n) + \sigma_2 f(t_n, u_n) +\]
\[ + \sigma_2 \frac{\partial f_n}{\partial t}a_2 \tau + \sigma_2 \frac{\partial f_n}{\partial u}b_{21}\tau f(t_n, u_n) + \underline{O}(\tau^2) = \]
\[= -u_n' + (\sigma_1 + \sigma_2)f(t_n, u_n) + \]
\[+ \tau \left( \left(\sigma_2 a_2 - 0.5\right)\frac{\partial f_n}{\partial t} + \left( (\sigma_2 b_{21} - 0.5)\right)\frac{\partial f_n}{\partial u}\tau f(t_n, u_n) \right) + \underline{O}(\tau^2)\]
Потребуем, чтобы были выполнены следующие условия:
\begin{enumerate}
\item \(\sigma_1 + \sigma_2 = 1\) (условие аппроксимации) 
\item \(\sigma_2 a_2 = \sigma_2 b_{21} = 0.5\) (для того, чтобы достичь второго порядка аппроксимации)
\end{enumerate}
Если выполнено только условие 1, то \(\psi_n = \underline{O}(\tau)\), а если выполнены оба условия, то \(\psi_n = \underline{O}(\tau^2)\).
Положим \(\sigma_2 = \sigma\), a \(\sigma_1 = 1 - \sigma\), тогда условие 1 автоматически выполнено. В последнем примере параметры имели следующие значения: \(a_2 = b_{21} = 0.5, \sigma = 1\). Если взять \(\sigma = 0.5, b_{21} = a_2 = 1\), то получим симметричную схему:
\[\frac{y_{n+1} - y_n}{\tau} = 0.5(f(t_n, y_n) + f(t_{n+1}, y_{n+1}))\] 

\subsection{Общий m-этапный метод Рунге-Кутта}

Рассмотрим общий m-этапный метод Рунге-Кутта:
\[\frac{y_{n+1} - y_n}{\tau} = \sigma_1 K_1 + \sigma_2 K_2 + \dots + \sigma_m K_m\]
\[\sum \limits_{i = 1}^m \sigma_i = 1 \text{ --- условие аппроксимации}\]
\[K_1 = f(t_n, y_n)\]
\[K_2 = f(t_n + a_2\tau, y_n + b_{21}\tau K_1)\]
\[K_3 = f(t_n + a_3\tau, y_n + b_{31}\tau K_1 + b_{32}\tau K_2)\]
\[\dots\]
\[K_m = f(t_n + a_m\tau, y_n + b_{m1}\tau K_1 + b_{m2}\tau K_2 + \dots + b_{m m-1}\tau K_{m-1})\]
На практике редко используются методы Рунге-Кутта для \(m > 4\). Приведем примеры разностных методов Рунге-Кутта, имеющих третий и четвертый порядок погрешности аппроксимации.

\begin{description}
  \item[Пример.] Схема Рунге-Кутта четвертого порядка.
\end{description}
\[\frac{y_{n+1} - y_n}{\tau} = \frac{1}{6}\left(K_1 + 2K_2 + 2K_3 + K_4\right)\]
\[K_1 = f(t_n, y_n)\]
\[K_2 = f(t_n + 0.5\tau, y_n + 0.5\tau K_1)\]
\[K_3 = f(t_n + 0.5\tau, y_n + 0.5\tau K_2)\]
\[K_4 = f(t_n + \tau, y_n + \tau K_3)\]
Данная схема имеет четвертый порядок аппроксимации по \(\tau\): \(\psi_n = \underline{O}(\tau^4)\).
\begin{description}
  \item[Пример.] Схема Рунге-Кутта третьего порядка.
\end{description}
\[\frac{y_{n+1} - y_n}{\tau} = \frac{1}{6}\left(K_1 + 4K_2 + K_3\right)\]
\[K_1 = f(t_n, y_n)\]
\[K_2 = f(t_n + 0.5\tau, y_n + 0.5\tau K_1)\]
\[K_3 = f(t_n + \tau, y_n - \tau K_1 - 2\tau K_2)\]
Данная схема имеет третий порядок аппроксимации по \(\tau\): \(\psi_n = \underline{O}(\tau^3)\).