[content] Rename refs. Fix formulas. Add SnLE method

This commit is contained in:
AVAtarMod 2023-08-23 22:27:53 +03:00
parent 36c728cddd
commit f1a6257b45
Signed by: stud128245
GPG Key ID: 43198AE4D0774328

View File

@ -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{Описание метода}