diff --git a/main.tex b/main.tex index d631b50..42d98cb 100644 --- a/main.tex +++ b/main.tex @@ -235,10 +235,15 @@ уравнения за исполнение алгоритма на единственном начальном приближении. \subsubsection{Описание метода} Уравнение \(F(x)=0\) приводим к виду \(x = \varphi(x)\), например -\(x-F(x)/M\), где \(M\) --- константа. +\(x = x-F(x)/M\), где \(M\) --- константа. Условие сходимости алгоритма: \(0<|\varphi'(x)|<1\). Исходя из него, -\(M\) определяется как \(M=1.01 \cdot F'(x_0)\), где \(x_0\) --- +\(M\) определяется как +\begin{equation} + M=1.01 \cdot F'(x_0) + \label{formula:stab_simpleiter} +\end{equation} +где \(x_0\) --- начальное приближение. Таким образом, для итерации \(i, i = 1\dots k,\) @@ -261,7 +266,7 @@ & a_{n1}x_1 + a_{n2}x_2 + a_{nn}x_n = b_n \\ \end{aligned} \right. - \label{formula:eqn_system} + \label{formula:SLE} \end{eqnarray} СЛУ также представима в матричной форме \(AX=B\), где \(A,X,B\) имеют следующий вид: @@ -303,7 +308,7 @@ будет обозначено как \(x^{(0)}\). \subsection{Метод Гаусса} \subsubsection{Описание метода} -Для решения СЛУ система (\ref{formula:eqn_system}) приводится к +Для решения СЛУ система (\ref{formula:SLE}) приводится к треугольному виду (\ref{formula:triag_eqn_system}) с помощью цепочки элементарных преобразований. \begin{eqnarray} \left\{ @@ -382,7 +387,7 @@ LU-разложение \cite[с. 259]{book:levitin}. Для получения \subsection{Метод обратной матрицы} \subsubsection{Описание метода} -Исходная система (\ref{formula:eqn_system}) представляется в форме +Исходная система (\ref{formula:SLE}) представляется в форме \(AX=B\), тогда вектор неизвестных переменных \(X\) определяется по формуле (\ref{formula:inv_m_method}). \begin{equation} @@ -585,7 +590,7 @@ LU-разложение \cite[с. 259]{book:levitin}. Для получения \subsubsection{Описание метода} Для матрицы СЛУ (\ref{formula:eqn_matrix_system}) размеров \(n \times n\), и начального приближения \(x^{(0)}\) приближенное -решение на итерации \(p, p = 1,2,\dots,k,k+1\) вычисляется по +решение на итерации \(p, p = 1,2,3,\dots,k,k+1\) вычисляется по следующей формуле: \begin{equation*} x^{(p+1)}_i = \frac{1}{a_{ii}} @@ -609,7 +614,7 @@ LU-разложение \cite[с. 259]{book:levitin}. Для получения \subsubsection{Описание метода} Для матрицы СЛУ (\ref{formula:eqn_matrix_system}) размеров \(n \times n\), и начального приближения \(x^{(0)}\) приближенное -решение на итерации \(p, p = 1,2,\dots,k,k+1\) вычисляется по +решение на итерации \(p, p = 1,2,3,\dots,k,k+1\) вычисляется по следующей формуле: \begin{equation*} x^{(p+1)}_i = \frac{1}{a_{ii}} @@ -627,10 +632,53 @@ LU-разложение \cite[с. 259]{book:levitin}. Для получения Реализаций данного алгоритма в библиотеках numpy, scipy не найдено. \section{Численные методы решения систем нелинейных уравнений} +Система нелинейных уравнений имеет следующий вид: +\begin{equation} + \begin{aligned} + & F_1(x_1,x_2,\dots,x_n) = 0 \\ + & F_2(x_1,x_2,\dots,x_n) = 0 \\ + & \dots\dots\dots\dots\dots\dots \\ + & F_n(x_1,x_2,\dots,x_n) = 0 \\ + \end{aligned} + \label{formula:SnLE} +\end{equation} + +Для решения данной системы далее будет описано несколько итерационных +методов. Для каждого их них требуется начальное приближение +\(X^{(0)} = \{x^{(0)}_1,x^{(0)}_2,\dots x^{(0)}_n\}\). + \subsection{Метод простой итерации (метод Якоби) для систем нелинейных уравнений} \subsubsection{Описание метода} +Для каждого из уравнений системы (\ref{formula:SnLE}) составляется +уравнение \(f_i: x_i = x_i - F_i(x)/M_i\), где \(M_i\) определяется из +условия сходимости уравнения (\ref{formula:stab_simpleiter}). +В результате получим систему +\begin{equation} + \begin{aligned} + & x_1 = f_1(x_1,x_2,\dots,x_n) \\ + & x_2 = f_2(x_1,x_2,\dots,x_n) \\ + & \dots\dots\dots\dots\dots\dots \\ + & x_n = f_n(x_1,x_2,\dots,x_n) \\ + \end{aligned} + \label{formula:SnLE-Jacobi-fsys} +\end{equation} + +Для получения приближенного решения уравнения применяется формула +\begin{equation} + x^{(p+1)}_{i} = f_i(x^{(p)}_1,x^{(p)}_2,\dots,x^{(p)}_n); + \quad i=1,2,3,\dots,n +\end{equation} +где \(p, p = 1,2,3,\dots,k,k+1\) --- номер итерации. + +Заданная точность \(\varepsilon\) достигается выполнением +следующего условия: +\begin{equation*} + \forall i = 1,2,3,\dots,n;\ + \max_i |x^{(k+1)}_i - x^{(k)}_i | < \varepsilon +\end{equation*} \subsubsection{Реализации метода в библиотеках numpy, scipy} +Реализаций данного метода в библиотеках numpy, scipy не найдено. \subsection{Метод Зейделя для систем нелинейных уравнений} \subsubsection{Описание метода}