2. Методи розв’язання нелінійних рівнянь

Постановка задачі. Нехай маємо рівняння , — його розв’язок, тобто .

Задача розв’язання цього рівняння розпадається на етапи:

Для розв’язання перших двох задач використовуються методи математичного аналізу та алгебри, а також графічний метод. Далі розглядаються методи розв’язання третього етапу.

2.1. Метод ділення навпіл

Припустимо на знаходиться лише один корінь рівняння

\begin{equation} \label{eq:2.1.1} f(x) = 0 \end{equation}

для , який необхідно визначити. Нехай .

Припустимо, що , . Покладемо і підрахуємо . Якщо , тоді шуканий корінь знаходиться на інтервалі . Якщо ж , то . Далі з двох інтервалів і вибираємо той, на границях якого функція має різні знаки, знаходимо точку — середину вибраного інтервалу, підраховуємо і повторюємо вказаний процес.

В результаті отримаємо послідовність інтервалів, що містять шуканий корінь , причому довжина кожного послідуючого інтервалу вдвічі менше попереднього.

Цей процес продовжується до тих пір, поки довжина отриманого інтервалу не стане меншою за . Тоді , як середина інтервалу , пов’язане з нерівністю

\begin{equation} \label{eq:2.1.2} \vert x_{n + 1} - \bar x \vert < \varepsilon. \end{equation}

Ця умова для деякого буде виконуватись за теоремою Больцано-Коші. Оскільки

\begin{equation} \vert b_{k + 1} - a_{k + 1} = \frac{\vert b_k - a_k \vert}{2}, \end{equation}

то

\begin{equation} \vert x_{n + 1} - \bar x \vert \le \frac{b - a}{2^{n + 1}} < \varepsilon. \end{equation}

Звідси отримаємо нерівність для обчислення кількості ітерацій для виконання умови \eqref{eq:2.1.2}:

\begin{equation} n = n(\varepsilon) \ge \left[ \log \left( \frac{b - a}{\varepsilon} \right) \right] + 1. \end{equation}

Степінь збіжності — лінійна, тобто геометричної прогресії з знаменником .

2.2. Метод простої ітерації

Спочатку рівняння

\begin{equation} \label{eq:2.2.1} f(x) = 0 \end{equation}

замінюється еквівалентним

\begin{equation} \label{eq:2.2.2} x = \varphi(x). \end{equation}

Ітераційний процес має вигляд

\begin{equation} \label{eq:2.2.3} x_{n + 1} = \varphi(x_n), \quad n = 0, 1, \ldots \end{equation}

Початкове наближення задається.

Для збіжності велике значення має вибір функції . Перший спосіб заміни рівняння полягає в відділенні змінної з якогось члена рівняння. Більш продуктивним є перехід від рівняння \eqref{eq:2.2.1} до \eqref{eq:2.2.2} з функцією , де — знакостала функція на тому відрізку, де шукаємо корінь.

Означення: Кажуть, що ітераційний метод збігається, якщо .

Далі відрізок довжини з серединою в точці .

З’ясуємо умови, при яких збігається метод простої ітерації.

Теорема 1: Якщо

\begin{equation} \Max_{x \in [a, b] = U_r} \vert \varphi’(x) \vert \le q < 1 \end{equation}

то метод простої ітерації збігається і має місце оцінка

\begin{equation} \label{eq:2.2.4} \vert x_n - \bar x \vert \le \frac{q_n}{1 - q} \cdot \vert x_0 - x_1 \vert \le \frac{q^n}{1 - q} \cdot (b - a). \end{equation}

Доведення: Нехай . Тоді

\begin{equation} \begin{aligned} \vert x_k - x_{k - 1} \vert &= \vert \varphi(x_k) - \varphi(x_{k - 1}) \vert = \vert \varphi’(\xi_k) \cdot (x_k - x_{k - 1}) \vert \le \vert \varphi’(\xi_k) \vert \cdot \vert x_k - x_{k - 1} \vert \le \newline &\le q \cdot \vert x_k - x_{k - 1} \vert = \ldots = q^k \cdot \vert x_1 - x_0 \vert, \end{aligned} \end{equation}

де , а у свою чергу . Далі

\begin{align} \vert x_{k + p} - x_k \vert &= \vert x_{k + p} - x_{k + p - 1} + \ldots + x_{k + 1} - x_k \vert = \vert x_{k + p} - x_{k + p - 1} \vert + \ldots + \vert x_{k + 1} - x_k \vert \le \nonumber \newline &\le \left( q^{k + p - 1} + q^{k + p - 2} + \ldots + q^k \right) \cdot \vert x_1 - x_0 \vert = \frac{q^k - q^{k + p - 1}}{1 - q} \cdot \vert x_1 - x_0 \vert \xrightarrow[k \to \infty]{} 0. \label{eq:2.2.5} \end{align}

Бачимо що — фундаментальна послідовність. Значить вона збіжна. При в \eqref{eq:2.2.5} отримуємо \eqref{eq:2.2.4}.

Визначимо кількість ітерацій для досягнення точності . З оцінки в теоремі отримаємо

\begin{equation} \vert x_n - \bar x \vert \le \frac{q^n}{1 - q} \cdot (b - a) < \varepsilon, \end{equation}

звідки безпосередньо маємо

\begin{equation} n(\varepsilon) = n \ge \left[ \frac{\ln \left( \frac{\varepsilon (1 - q)}{b - a} \right)}{\ln q} \right] + 1. \end{equation}

Практично ітераційний процес зупиняємо при: . Але ця умова не завжди гарантує, що .

Зауваження: Умова збіжності методу може бути замінена на умову Ліпшиця

\begin{equation} \vert \varphi(x) - \varphi(y) \vert \le q \cdot \vert x - y \vert, \quad 0 < q < 1. \end{equation}

2.3. Метод релаксації

Якщо в методі простої ітерації для рівняння вибрати , то ітераційний процес приймає вигляд

\begin{equation} \label{eq:2.3.1} x_{n + 1} = x_n + \tau \cdot f(x_n), \end{equation}

де , а — задано. Метод можна записати у вигляді

\begin{equation} \frac{x_{k + 1} - x_k}{\tau} = f(x_k), \quad k = 0, 1, \ldots \end{equation}

Оскільки , то метод збігається при умові

\begin{equation} \vert \varphi’(x) \vert = \vert 1 + \tau \cdot f’(x) \vert \le q < 1. \end{equation}

Нехай , тоді \eqref{eq:2.2.3} запишеться у вигляді: . Звідси

\begin{equation} f’(x) \le 1 + q < 2 k \tau, \end{equation}

і

\begin{equation} 0 < \tau < \frac{2}{\vert f’(x)\vert}. \end{equation}

Поставимо задачу знаходження , для якого . Для того, щоб вибрати оптимальний параметр , розглянемо рівняння для похибки .

Підставивши в \eqref{eq:2.3.1}, отримаємо

\begin{equation} z_{k + 1} = z_k + \tau \cdot f(x + z_k). \end{equation}

В припущені з теореми про середнє маємо

\begin{equation} f (\bar x + z_k) = f(\bar x) + z_k \cdot f’(\bar x + \theta \cdot z_k) = z_k \cdot f’(\bar x + \theta \cdot z_k) = z_k \cdot f’(\xi_k), \end{equation}

тобто

\begin{equation} z_{k + 1} = z_k + \tau \cdot f’(\xi_k) \cdot z_k. \end{equation}

Звідси

\begin{equation} \vert z_{k + 1} \vert \le \vert 1 + \tau \cdot f’(\xi_k) \vert \cdot \vert z_k \vert \le \Max_U \vert 1 + \tau \cdot f’(\xi_k) \vert \cdot \vert z_k \vert. \end{equation}

А тому

\begin{equation} \vert z_{k + 1} \vert \le \max \left\{ \vert 1 - \tau M_1 \vert, \vert 1 - \tau m_1 \vert \right\} \cdot \vert z_k \vert, \end{equation}

де

\begin{equation} m_1 = \Min_{[a, b]} \vert f’(x) \vert, \quad M_1 = \Max_{[a, b]} \vert f’(x) \vert \end{equation}

Таким чином, задача вибору оптимального параметра зводиться до знаходження , для якого функція

\begin{equation} q(\tau) = \max \left\{ \vert 1 - \tau M_1 \vert, \vert 1 - \tau m_1 \vert \right\} \end{equation}

приймає мінімальне значення: .

рис. 1

З графіка видно, що точка мінімуму визначається умовою . Тому

\begin{equation} 1 - \tau_0 m_1 = \tau_0 M_1 - 1 \implies \tau_0 = \frac{2}{M_1 - m_1} < \frac{2}{\vert f’(x) \vert}. \end{equation}

При цьому значенні маємо

\begin{equation} q(\tau_0) = \rho_0 = \frac{M_1 - m_1}{M_1 + m_1}. \end{equation}

Тоді для похибки вірна оцінка

\begin{equation} \vert x_n - \bar x \vert \le \frac{\rho_0^n}{1 - \rho_0} \cdot (b - a) < \varepsilon. \end{equation}

Кількість ітерацій

\begin{equation} n = n(\varepsilon) \ge \left[ \frac{\frac{\ln (\varepsilon (1 - \rho_0))}{b - a}}{\ln \rho_0} \right] + 1. \end{equation}

Задача 1: Дати геометричну інтерпретацію методу простої ітерації для випадків:

\begin{equation} 0 < \varphi’(x) < 1; \quad -1 < \varphi’(x) < 0; \quad \varphi’(x) < -1; \quad \varphi’(x) > 1. \end{equation}

Задача 2: Знайти оптимальне для методу релаксації при .

2.4. Метод Ньютона (метод дотичних)

Припустимо, що рівняння має простий дійсний корінь , тобто , . Нехай виконуються умови: , . Тоді

\begin{equation} 0 = f(\bar x) = f(x_k + \bar x - x_k) = f(x_k) + f’(\xi_k) \cdot (x - x_k), \end{equation}

де , , . Тому наступне наближення виберемо з рівняння

\begin{equation} f(x_k) + f’(x_k) \cdot (x_{k + 1} - x_k) = 0. \end{equation}

Звідси маємо ітераційний процес

\begin{equation} x_{k + 1} = x_k - \frac{f(x_k)}{f’(x_k)}, \end{equation}

де ; — задане.

Метод Ньютона ще називають методом лінеаризації або методом дотичних.

Задача 3: Дати геометричну інтерпретацію методу Ньютона.

Метод Ньютона можна інтерпретувати як метод простої ітерації з

\begin{equation} \varphi(x) = x - \frac{f(x)}{f’(x)}, \end{equation}

тобто

\begin{equation} \tau(x) = - \frac{1}{f’(x)}. \end{equation}

Тому

\begin{equation} \varphi’(x) = 1 - \frac{f’(x) \cdot f’(x) - f(x) \cdot f^{\prime\prime}(x)}{(f’(x))^2} = \frac{f(x) \cdot f^{\prime\prime}(x)}{(f’(x))^2}. \end{equation}

Якщо — корінь , то . знайдеться окіл кореня, \end{equation}

\begin{equation} \vert \varphi’(x) \vert = \left\vert \frac{f(x) \cdot f^{\prime\prime}(x)}{(f’(x))^2} \right\vert < 1. \end{equation}

Це означає, що збіжність методу Ньютона залежить від вибору .

Недолік методу Ньютона: необхідність обчислювати на кожній ітерації не тільки значення функції, а й похідної.

Модифікований метод Ньютона позбавлений цього недоліку і має вигляд:

\begin{equation} x_{k + 1} = x_k - \frac{f(x_k)}{f’(x_0)}, \quad k = 0, 1, 2, \ldots \end{equation}

Цей метод має лише лінійну збіжність: .

Задача 4: Дати геометричну інтерпретацію модифікованого методу Ньютона.

В методі Ньютона, для якого замінюється на

\begin{equation} \frac{f(x_k) - f(x_{k - 1})}{x_k - x_{k - 1}} \end{equation}

дає метод січних:

\begin{equation} x_{k + 1} = x_k - \frac{x_k - x_{k - 1}}{f(x_k) - f(x_{k - 1})} \cdot f(x_k), \end{equation}

де , — задані.

Задача 5: Дати геометричну інтерпретацію методу січних.

2.5. Збіжність методу Ньютона

Теорема 1: Нехай ; простий дійсний корінь рівняння

\begin{equation} \label{eq:2.5.1} f(x) = 0. \end{equation}

і при . Якщо

\begin{equation} \label{eq:2.5.2} q = \frac{M_2 \cdot \vert x_0 - \bar x \vert}{2 m_1} < 1, \end{equation}

де

\begin{equation} m_1 = \Min_{U_r} \vert f’(x) \vert, \quad M_2 = \Max_{U_r} \vert f^{\prime\prime}(x) \vert, \end{equation}

то для метод Ньютона

\begin{equation} \label{eq:2.5.3} x_{k + 1} = x_k - \frac{f(x_k)}{f’(x_k)} \end{equation}

збігається і має місце оцінка

\begin{equation} \label{eq:2.5.4} \vert x_n - \bar x \vert \le q^{2^n - 1} \cdot \vert x_0 - \bar x \vert. \end{equation}

З \eqref{eq:2.5.3} маємо

\begin{equation} \label{eq:2.5.5} x_{k + 1} - \bar x = x_k - \frac{f(x_k)}{f’(x_k)} - \bar x = \frac{(x_k - \bar x) \cdot f’(x_k) - f(x_k)}{f’(x_k)} = \frac{F(x_k)}{f’(x_k)}, \end{equation}

де , така, що

Тоді

\begin{equation} F(x_k) = F(\bar x) + \Int_x^{x_k} F’(t) \diff t = \Int_x^{x_k} (t - \bar x) \cdot f^{\prime\prime}(t) \diff t. \end{equation}

Так як не міняє знак на відрізку інтегрування, то скористаємося теоремою про середнє значення:

\begin{equation} \label{eq:2.5.6} F(x_k) = f^{\prime\prime}(\xi_k) \Int_x^{x_k} (t - \bar x) \diff t = \frac{(x_k - x)^2}{2} \cdot f^{\prime\prime}(\xi_k), \end{equation}

де , де . З \eqref{eq:2.5.5}, \eqref{eq:2.5.6} маємо

\begin{equation} \label{eq:2.5.7} x_{k + 1} - \bar x = \frac{(x_k - \bar x)^2}{2 f’(x_k)} \cdot f^{\prime\prime}(\xi_k). \end{equation}

Доведемо оцінку \eqref{eq:2.5.3} за індукцією. Так як , то

\begin{equation} \vert \xi_0 - \bar x \vert = \vert \theta_0 \cdot (x_0 - \bar x) \vert < \vert \theta_0 \vert \cdot \vert x_0 - \bar x \vert < r \end{equation}

звідси випливає .

Тоді , тому

\begin{equation} \vert x_1 - \bar x \vert \le \frac{(x_0 - \bar x)^2 \cdot M_2}{2 m_1} = \frac{M_2 \cdot \vert x_0 - \bar x \vert}{2 m_1} \cdot \vert x_0 - \bar x \vert = q \cdot \vert x_0 - \bar x \vert < r, \end{equation}

тобто .

Ми довели твердження \eqref{eq:2.5.4} при . Нехай воно справджується при

\begin{align} \vert x_k - \bar x \vert &\le q^{2^k - 1} \cdot \vert x_0 - \bar x \vert < r, \newline \vert \xi_k - \bar x \vert &= \vert \theta_k \cdot (x_k - \bar x) \vert < r. \end{align}

Тоді .

Доведемо \eqref{eq:2.5.4} для . З \eqref{eq:2.5.7} маємо

\begin{equation} \begin{aligned} \vert x_{k + 1} - \bar x \vert &\le \frac{\vert x_k - \bar x \vert^2 \cdot M_2}{2 m_1} \le \left( q^{2^k - 1} \right)^2 \cdot \frac{\vert x_0 - \bar x \vert^2 \cdot M_2}{2 m_1} = \newline &= q^{2^{k + 1} - 2} \cdot \frac{\vert x_0 - \bar x \vert \cdot M_2}{2 m_1} \cdot \vert x_0 - \bar x \vert = q^{2^{k + 1} - 1} \cdot \vert x_0 - \bar x \vert. \end{aligned} \end{equation}

Таким чином \eqref{eq:2.5.4} справджується для . Значить \eqref{eq:2.5.4} виконується і для довільного . Таким чином .

З \eqref{eq:2.5.4} маємо оцінку кількості ітерацій для досягнення точності

\begin{equation} n \ge \left[ \log_2 \left( 1 + \frac{\ln \left( \frac{\varepsilon}{b - a} \right)}{\ln q} \right) \right] + 1. \end{equation}

Кажуть, що ітераційний метод має степінь збіжності , якщо

\begin{equation} \vert x_{k + 1} - \bar x \vert = O \left( \vert x_k - \bar x \vert^m \right). \end{equation}

Для методу Ньютона

\begin{equation} \vert x_{k + 1} - \bar x \vert = \frac{\vert x_k - \bar x \vert^2 \vert \cdot f^{\prime\prime}(\xi_k) \vert}{2 \vert f’(x_k) \vert}. \end{equation}

Звідси випливає, що

\begin{equation} \vert x_{k + 1} - \bar x \vert = O\left( \vert x_k - \bar x \vert^2 \right). \end{equation}

Значить степінь збіжності методу Ньютона . Для методу простої ітерації і ділення навпіл .

Теорема 2: Нехай та простий корінь рівняння (). Якщо () то для методу Ньютона при послідовність наближень монотонно спадає (монотонно зростає при ).

Задача 6: Довести теорему при

Задача 7: Знайти степінь збіжності методу січних [Калиткин Н.Н., Численные методы, с. 145–146]

Якщо та не міняє знак, то потрібно вибирати ; при цьому .

Якщо , то ; маємо . Пояснення на рисунку 2:

рис. 2

Зауваження 1: Якщо -кратний корінь тобто

\begin{equation} f^{(m)}(\bar x) = 0, \quad m = 0, 1, \ldots, p - 1; \quad f^{(p)} (x) \ne 0, \end{equation}

то в методі Ньютона необхідна наступна модифікація

\begin{equation} x_{k + 1} - x_k - p \cdot \frac{f(x_k)}{f’(x_k)} \end{equation}

і

\begin{equation} q = \frac{M_{p + 1} \cdot \vert x_0 - \bar x \vert}{m_p \cdot p \cdot (p + 1)} < 1. \end{equation}

Зауваження 2: Метод Ньютона можна застосовувати і для обчислення комплексного кореня

\begin{equation} z_{k + 1} = z_k - \frac{f(z_k)}{f’(z_k)} \end{equation}

В теоремі про збіжність

\begin{equation} q = \frac{\vert x_0 - \bar x \vert M_2}{2 m_1}, \end{equation}

де

\begin{equation} m_1 = \Min_{U_r} \vert f’(z) \vert, \quad M_2 = \Max_{U_r} f^{\prime\prime}(z) \vert. \end{equation}

Тут — модуль комплексного числа.

Переваги методу Ньютона:

Недоліки методу Ньютона: