4. Ітераційні методи для систем

4.1. Ітераційні методи розв’язання СЛАР

Систему

\begin{equation} \label{eq:4.1.1} A \vec x = \vec b \end{equation}

зводимо до вигляду

\begin{equation} \label{eq:4.1.2} \vec x = B \vec x + \vec f. \end{equation}

Будь яка система

\begin{equation} \label{eq:4.1.3} \vec x = \vec x - C \cdot (A \vec x - \vec b) \end{equation}

має вигляд \eqref{eq:4.1.2} і при еквівалентна системі \eqref{eq:4.1.1}. Наприклад, для :

\begin{equation} \vec x = \vec x - \tau \cdot (A \vec x - \vec b). \tag{3’} \end{equation}

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

Цей метод застосовується до рівняння \eqref{eq:4.1.2}

\begin{equation} \label{eq:4.1.4} \vec x^{(k + 1)} = B \vec x^{(k)} + \vec f, \end{equation}

де — початкове наближення, задано.

Теорема: Ітераційний процес збігається, тобто

\begin{equation} \left| \vec x^{(k)} - \vec x\right| \xrightarrow[k\to\infty]{} 0, \end{equation}

якщо

\begin{equation} \label{eq:4.1.5} |B| \le q < 1. \end{equation}

При цьому має місце оцінка

\begin{equation} \label{eq:4.1.6} \left|\vec x^{(n)} - \vec x\right| \le \dfrac{q^n}{1-q}\cdot\left|\vec x^{(1)} - \vec x^{(0)}\right|. \end{equation}

4.1.2. Метод Якобі

Припустимо : . Зведемо систему \eqref{eq:4.1.1} до вигляду

\begin{equation} x_i = -\Sum_{j = 1}^{i - 1} \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j - \Sum_{j = i + 1}^n \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j + \dfrac{b_i}{a_{i,i}}, \end{equation}

де .

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

\begin{equation} \label{eq:4.1.7} x_i^{(k+1)} = -\Sum_{j=1}^{i-1} \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j^{(k)} - \Sum_{j=i+1}^n \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j^{(k)} + \dfrac{b_i}{a_{i,i}}, \end{equation}

де , а .

Теорема: Ітераційний процес збігається до розв’язку, якщо виконується умова

\begin{equation} \forall i: \Sum_{\substack{j = 1 \\ i \ne j}}^n |a_{i,j}| \le |a_{i,i}|. \end{equation}

Це умова діагональної переваги матриці .

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

\begin{equation} \label{eq:4.1.8} \forall i: \Sum_{\substack{j = 1 \\ i \ne j}}^n |a_{i,j}| \le q\cdot|a_{i,i}|, \quad 0 \le q < 1. \end{equation}

то має місце оцінка точності:

\begin{equation} \left|\vec x^{(n)} - \vec x\right| \le \dfrac{q^n}{1-q} \cdot \left|\vec x^{(0)}-\vec x\right|. \end{equation}

4.1.3. Метод Зейделя

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

\begin{equation} \label{eq:4.1.9} x_i^{(k+1)} = -\Sum_{j=1}^{i-1} \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j^{(k+1)} - \Sum_{j=i+1}^n \dfrac{a_{i,j}}{a_{i,i}} \cdot x_j^{(k)} + \dfrac{b_i}{a_{i,i}}, \end{equation}

де , а .

На відміну від методу Якобі на -му-кроці попередні компоненти розв’язку беруться з -ої ітерації.

Теорема: Достатня умова збіжності методу Зейделя — .

4.1.4. Матрична інтерпретація методів Якобі і Зейделя

Подамо матрицю у вигляді

\begin{equation} A = A_1 + D + A_2, \end{equation}

де — нижній трикутник матриці , — верхній трикутник матриці , — її діагональ. Тоді систему \eqref{eq:4.1.1} запишемо у вигляді

\begin{equation} D \vec x = A_1 \vec x + A_2 \vec x + \vec b, \end{equation}

або

\begin{equation} \vec x = D^{-1} A_1 \vec x + D^{-1} A_2 \vec x + D^{-1} \vec b, \end{equation}

Матричний запис методу Якобі:

\begin{equation} \vec x^{(k+1)} = D^{-1} A_1 \vec x^{(k)} + D^{-1} A_2 \vec x^{(k)} + D^{-1} \vec b, \end{equation}

методу Зейделя:

\begin{equation} \vec x^{(k+1)} = D^{-1} A_1 \vec x^{(k+1)} + D^{-1} A_2 \vec x^{(k)} + D^{-1} \vec b, \end{equation}

Теорема: Необхідна і достатня умова збіжності методу Якобі: всі корені рівняння

\begin{equation} \det(D + \lambda(A_1 + A_2 )) = 0 \end{equation}

по модулю більше 1.

Теорема: Необхідна і достатня умова збіжності методу Зейделя: всі корені рівняння

\begin{equation} \det(A_1 + D + \lambda A_2) = 0 \end{equation}

по модулю більше 1.

4.1.5. Однокрокові (двошарові) ітераційні методи

Канонічною формою однокрокового ітераційного методу розв’язку СЛАР є його запис у вигляді

\begin{equation} \label{eq:4.1.10} B_k \dfrac{\vec x^{(k+1)} - \vec x^{(k)}}{\tau_{k+1}} + A \vec x^{(k)} = \vec b, \end{equation}

Тут — послідовність матриць (пере-обумовлюючі матриці), що задають ітераційний метод на кожному кроці; — ітераційні параметри.

Означення: Якщо , то ітераційний процес називається явним

\begin{equation} \vec x^{(k+1)} = \vec x^{(k)} - \tau_{k+1} \left(A \vec x^{(k)} + \vec b\right). \end{equation}

Означення: Якщо , то ітераційний процес називається неявним

\begin{equation} B_k \vec x^{(k+1)} = F^k. \end{equation}

У цьому випадку на кожній ітерації необхідно розв’язувати СЛАР.

Означення: Якщо , , то ітераційний процес називається стаціонарним; інакше — нестаціонарним.

Методам, що розглянуті вище відповідають:

4.1.6. Збіжності стаціонарних ітераційних процесів у випадку симетричних матриць

Розглянемо випадок симетричних матриць і стаціонарний ітераційний процес , .

Нехай для справедливі нерівності

\begin{equation} \label{eq:4.1.11} \gamma_1 E \le A \le \gamma_2 E, \quad \gamma_1, \gamma_2 > 0. \end{equation}

Тоді при виборі ітераційний процес збігається. Найбільш точним значенням , при яких виконуються обмеження \eqref{eq:4.1.11} є , . Тоді

\begin{equation} q = q_0 = \dfrac{\gamma_2 - \gamma_1}{\gamma_2 + \gamma_1} = \dfrac{1-\xi}{1+\xi}, \quad \xi = \dfrac{\gamma_1}{\gamma_2}. \end{equation}

і справедлива оцінка

\begin{equation} \left|\vec x^{(n)} - \vec x\right| \le \dfrac{q^n}{1-q} \cdot \left|\vec x^{(0)} - \vec x\right|. \end{equation}

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

Явний метод з багатьма параметрами :

\begin{equation} B \equiv E, \quad {\tau_k}: \Min_\tau q(\tau), \quad n=n(\varepsilon)\to\min, \end{equation}

які обчислюються за допомогою нулів багаточлена Чебишова, називаються ітераційним методом з чебишевським набором параметрів.

4.1.7. Метод верхньої релаксації

Узагальненням методу Зейделя є метод верхньої релаксації:

\begin{equation} (D + \omega A_1) \cdot\dfrac{\vec x^{(k+1)} + \vec x^{(k)}}{\omega} + A \vec x^{(k)} = \vec b, \end{equation}

де — діагональна матриця з елементами по діагоналі. — заданий числовий параметр.

Тепер , . Якщо , то метод верхньої релаксації збігається при умові . Параметр підбирається експериментально з умови мінімальної кількості ітерацій.

4.1.8. Методи варіаційного типу

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

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

\begin{equation} \left|\vec r^{(k+1)}\right|^2 = \left|\vec r^{(k)}\right|^2 - 2\tau_{k+1}\cdot\left\langle\vec r^{(k)}, A\vec r^{(k)}\right\rangle + \tau_{k+1}^2 \cdot\left|A\vec r^{(k)}\right|^2 \to \min. \end{equation}

Тому

\begin{equation} \tau_{k+1} = \dfrac{\left\langle A\vec r^{(k)}, \vec r^{(k)}\right\rangle }{\left|\vec r^{(k)}\right|^2}, \end{equation}

де — нев’язка.

Умова для завершення ітераційного процесу:

\begin{equation} \left|\vec r^{(n)}\right| < \varepsilon. \end{equation}

Швидкість збіжності цього методу співпадає із швидкістю методу простої ітерації з одним оптимальним параметром .

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

4.2. Методи розв’язання нелінійних систем

Розглянемо систему рівнянь

\begin{equation} \left\{ \begin{aligned} & f_1(x_1, \ldots, x_n) = 0, \newline & \ldots \newline & f_n(x_1,\ldots,x_n) = 0. \end{aligned} \right. \end{equation}

Перепишемо її у векторному вигляді:

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

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

В цьому методі рівняння \eqref{eq:4.2.1} зводиться до еквівалентного вигляду

\begin{equation} \label{eq:4.2.2} \vec x = \vec \Phi(\vec x). \end{equation}

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

\begin{equation} \label{eq:4.2.3} \vec x^{(k+1)} = \vec \Phi\left(\vec x^{(k)}\right). \end{equation}

початкове наближення — задано.

Нехай оператор визначений на множині . За теоремою про стискуючі відображення ітераційний процес \eqref{eq:4.2.3} сходиться, якщо виконується умова

\begin{equation} \label{eq:4.2.4} \left| \vec \Phi(\vec x) - \vec \Phi(\vec y) \right| \le q \cdot |\vec x - \vec y|, \quad 0 < q < 1, \end{equation}

або

\begin{equation} \label{eq:4.2.5} \left| \vec \Phi’(\vec x)\right| \le q < 1, \end{equation}

де , . Для похибки справедлива оцінка

\begin{equation} \left| \vec x^{(m)} - \vec x\right| \le \dfrac{q^n}{1 - q} \cdot\left|\vec x^{(0)} - \vec x\right|. \end{equation}

Частинним випадком методу простої ітерації є метод релаксації для рівняння \eqref{eq:4.2.1}:

\begin{equation} \vec x^{(k+1)} = \vec x^{(k)} - \tau \cdot \vec F\left(\vec x^{(k)}\right), \end{equation}

де .

4.2.2. Метод Ньютона

Розглянемо рівняння

\begin{equation} \vec F(\vec x) = 0. \end{equation}

Представимо його у вигляді

\begin{equation} \label{eq:4.2.6} \vec F\left(\vec x^{(k)}\right) + \vec F’\left(\vec \xi^{(k)}\right)\cdot\left(\vec x - \vec x^{(k)}\right) = 0, \end{equation}

де

\begin{equation} \vec \xi^{(k)} = \vec x^{(k)} + \theta_k \cdot \left(\vec x^{(k)} - \vec x\right), \end{equation}

де . Тут — матриця Якобі для . Можемо наближено вважати . Тоді з \eqref{eq:4.2.6} матимемо

\begin{equation} \label{eq:4.2.7} \vec F\left(\vec x^{(k)}\right) + \vec F’\left(\vec x^{(k)}\right) \cdot\left(\vec x^{(k+1)} - \vec x^{(k)}\right) = 0. \end{equation}

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

\begin{equation} \label{eq:4.2.8} \vec x^{(k+1)} = \vec x^{(k)} - \vec F’\left(\vec x^{(k)}\right)^{-1} \cdot \vec F\left(\vec x^{(k)}\right). \end{equation}

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

\begin{equation} \vec F’\left(\vec x^{(k)}\right)^{-1}. \end{equation}

Можна не шукати обернену матрицю, а розв’язувати на кожній ітерації СЛАР

\begin{align} A_k \vec z^{(k)} &= \vec F\left(\vec x^{(k)}\right), \label{eq:4.2.9} \newline \vec x^{(k + 1)} &= \vec x^{(k)} - \vec z^{(k)}, \nonumber \end{align}

де , і — задано, а матриця .

Метод має квадратичну збіжність, якщо добре вибрано початкове наближення. Складність методу (при умові використання методу Гаусса розв’язання СЛАР \eqref{eq:4.2.9} на кожній ітерації , де — розмірність системи \eqref{eq:4.2.1}.

4.2.3. Модифікований метод Ньютона

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

\begin{equation} \vec x^{(k+1)} = \vec x^{(k)} - \vec F’\left(\vec x^{(0)}\right)^{-1} \cdot\vec F\left(\vec x^{(k)}\right). \end{equation}

Тепер обернена матриця обчислюється тільки на нульовій ітерації. На інших — обчислення нового наближення зводиться до множення матриці на вектор та додавання до .

Запишемо метод у вигляді системи лінійних рівнянь (аналог \eqref{eq:4.2.9})

\begin{align} A_0 \vec z^{(k)} &= \vec F\left(\vec x^{(k)}\right), \label{eq:4.2.10} \newline \vec x^{(k + 1)} &= \vec x^{(k)} - \vec z^{(k)}, \nonumber \end{align}

де .

Оскільки матиця розкладається на трикутні (або обертається) один раз, то складність цього методу на одній ітерації (окрім нульової) . Але цей метод має лінійну швидкість збіжності.

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

Задача 9: Побудувати аналог методу січних для систем нелінійних рівнянь.