8. Апроксимування функцій

8.1. Постановка задачі апроксимації

Література:

Наближення функцій застосовують у випадках, якщо

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

Найбільш загальний принцип: наблизити функцією так, щоб досягалася деяка задана точність :

\begin{equation} \left| f(x) - \Phi(x) \right| < \varepsilon \end{equation}

Але розв’язок в такій постановці може не існувати або бути не єдиним.

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

\begin{equation} \label{eq:8.1.1} \Phi = \Sum_{i = 0}^n c_i \varphi_i \in M_n \subset R \end{equation}

по елементах лінійно незалежної системи

Відхилення від є число

\begin{equation} \Delta(f, \Phi) = | f - \Phi |. \end{equation}

Позначимо

\begin{equation} \Inf_{\Phi \in M_n} |f - \Phi| = \Delta (f). \end{equation}

Означення. Елемент такий, що

\begin{equation} \Delta(d, \Phi_0) = |f - \Phi_0| = \Inf_{\Phi \in M_n} |f - \Phi| = \Delta(f), \end{equation}

називається елементом найкращого наближення (ЕНН).

Ясно, що умову точності треба перевіряти на цьому елементі. У випадку її невиконання треба збільшувати кількість елементів в \eqref{eq:8.1.1}.

Теорема 1: Для будь-якого лінійного нормованого простору існує елемент найкращого наближення .

Доведення: Введемо

\begin{equation} F \left( \vec c \right) = F(c_0, c_1, \ldots, c_n) = |f - \Phi| = \left| f - \Sum_{i = 0}^n c_i \varphi_i \right|. \end{equation}

Це неперервна функція аргументів . Для елементів, які задовольняють умові

\begin{equation} \label{eq:8.1.4} |\Phi| > 2 |f|, \quad f \in R_1, \quad \Phi \in M_n, \end{equation}

маємо

\begin{equation} F \left( \vec c \right) = |f - \Phi| \ge |\Phi| - |f| > 2 |f| - |f| = |f| > \Delta(f). \end{equation}

Значить ЕНН . За теоремою Кантора , де досягає мінімуму. Причому .

Елементів найкращого наближення в лінійному нормованому просторі може бути і декілька.

Означення: Простір називається строго нормованим, якщо з умови

\begin{equation} |f + g| = |f| + |g|, \quad |f| \ne 0, \quad |g| \ne 0 \end{equation}

випливає, що таке, що

\begin{equation} g = \lambda f. \end{equation}

Теорема 2: Якщо простір строго нормований, то елемент найкращого наближення єдиний.

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

Тобто всі «» можна замінити на «» Отримаємо

\begin{equation} \begin{aligned} & \left| \alpha \left( f - \Phi_0^{(1)} \right) + (1 - \alpha) \left( f - \Phi_0^{(2)} \right) \right| = \newline & \quad \alpha \left| f - \Phi_0^{(1)} \right| + (1 - \alpha) \left| f - \Phi_0^{(2)} \right|. \end{aligned} \end{equation}

За припущенням таке, що

\begin{equation} \alpha \left( f - \Phi_0^{(1)} \right) + \lambda (1 - \alpha) \left( f - \Phi_0^{(2)} \right). \end{equation}

Виберемо . Тоді

\begin{equation} f - \Phi_0^{(1)} = \lambda \left( f - \Phi_0^{(2)} \right). \end{equation}

Оскільки

\begin{equation} \left| f - \Phi_0^{(1)} \right| = \left| f - \Phi_0^{(2)} \right| = \Delta(f), \end{equation}

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

\begin{equation} f - \Phi_0^{(1)} = f - \Phi_0^{(2)} \implies \Phi_0^{(1)} = \Phi_0^{(2)}. \end{equation}

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

Теорема 3: Гільбертів простір — строго нормований.

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

\begin{align} | f + g | &= |f| + |g|, \label{eq:8.1.6} \newline | f + g |^2 &= |f|^2 + 2 |f| \cdot |g| + |g|^2. \end{align}

З іншого боку

\begin{equation} | f + g |^2 = \langle f + g, f + g\rangle = |f|^2 + 2 \langle f, g \rangle + |g|^2. \end{equation}

Звідси . Для довільного гільбертового простору .

Таким чином на елементах \eqref{eq:8.1.6} нерівність Коші-Буняковського перетворюється в рівність. Розглянемо

\begin{equation} \begin{aligned} |f - \lambda g|^2 & = |f| - 2 \lambda \langle f, g \rangle + \lambda^2 |g|^2 = \newline & = |f|^2 - \lambda |f| \cdot |g| + \lambda^2 |g|^2 = \newline &= \left( |f| - \lambda |g| \right)^2. \end{aligned} \end{equation}

Тоді для маємо . Звідси : , тобто — строго нормований.

Наслідок: .

Приклади (строго нормованих просторів):

  1. з нормою .

  2. з нормою , .

Простір не є строго нормованим, але в ньому існує єдиний елемент найкращого наближення (про цей факт в наступному пункті).

8.2. Найкраще рівномірне наближення

Література:

Означення: Найкраще рівномірне наближення — це наближення в просторі , де — рівномірна метрика.

Теорема 1 (Хаара): Для того, щоб існував єдиний елемент найкращого рівномірного наближення необхідно і достатньо, щоб система була системою Чебишова.

Означення: Система називається системою Чебишова, якщо елемент має не більше нулів, причому .

Наприклад, системою Чебишова є поліноміальна система .

Означення: Позначимо багаточлен найкращого рівномірного наближення (далі — БНРН.).

Його відхилення від :

Теорема 2 (Чебишова): — БНРН неперервної функції тоді та тільки тоді, якщо на відрізку існує хоча б -а точки , такі, що

\begin{equation} \label{eq:8.2.1} f(x_i) - Q_n^0(x_i) = \alpha (-1)^i \Delta(f), \end{equation}

де , .

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

Теорема 3: — БНРН для неперервної функції єдиний.

Доведення: Припустимо, існують два БНРН степеня : :

\begin{equation} \Delta(f) = \left| f - Q_n^{(1)} \right|\void_C = \left| f - Q_n^{(2)} \right|\void_C. \end{equation}

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

\begin{equation} \left| f - \frac{Q_n^{(1)}(x) + Q_n^{(2)}(x)}{2} \right| \le \left| \frac{f - Q_n^{(2)}(x)}{2} \right| = \Delta(x), \end{equation}

тобто багаточлен

\begin{equation} \frac{Q_n^{(1)}(x) + Q_n^{(2)}(x)}{2} \end{equation}

також є БНРН. Нехай — відповідні йому точки чебишовського альтернансу.

Це означає, що

\begin{equation} \left| \frac{Q_n^{(1)}(x_i) + Q_n^{(2)}(x_i)}{2} - f(x_i) \right| = \Delta(f), \end{equation}

або

\begin{equation} \label{eq:8.2.2} \left( Q_n^{(1)} (x_i) - f(x_i) \right)+ \left( Q_n^{(2)} (x_i) - f (x_i) \right) = 2 \Delta (f). \end{equation}

Оскільки , , то \eqref{eq:8.2.2} можливе лише у тому випадку, коли

\begin{equation} Q_n^{(1)} (x_i) - f(x_i) = Q_n^{(2)} (x_i) - f(x_i), \end{equation}

для усіх .

Звідки випливає, що , а це суперечить початковому припущенню.

8.3. Приклади побудови БНРН

Література

Скінченого алгоритму побудови БНРН для довільної функції не існує. Є ітераційний [ЛМС, 73–79]. Але в деяких випадках можна побудувати БНРН за теоремою Чебишова.

  1. Потрібно наблизити багаточленом нульового степеня.

    8.3.1

    Нехай , , тоді — БНРН має вигляд (див. рис. 11):

    \begin{equation} Q_0(x) = \frac{M + m}{2}, \end{equation}

    де , а , — точки чебишовського альтернансу.

  2. Опукла функція наближається багаточленом першого степеня

    \begin{equation} Q_1(x) = c_0 + c_1 x. \end{equation}

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

    Звідси та .

    Цю систему треба замкнути, використавши ще одне рівняння з умови: точка є точкою екстремуму різниці . Тому для диференційованої функції для визначення маємо рівняння (дотична і січна паралельні):

    \begin{equation} f’(\xi) = c_1 = \frac{f(b) - f(a)}{b - a} \end{equation}

    8.3.2

    Геометрично ця процедура виглядає наступним чином (див. рис. 12). Проводимо січну через точки , . Для неї тангенс кута дорівнює . Проводимо паралельну їй дотичну до кривої , а потім пряму, рівновіддалену від січної та дотичної, яка і буде графіком . При цьому , , .

  3. Потрібно наблизити , багаточленом степеня : . Введемо

    \begin{equation} \overline P_{n + 1}(x) = x^{n + 1} - Q_n(x) = x^{n + 1} - a_1 x^n - \ldots \end{equation}

    Далі

    Звідси

    або

    Задача 25: Для прикладу 3 вказати точки чебишовського альтернансу , .

  4. Потрібно наблизити , , БНРН степеня . Запишімо його у вигляді:

    \begin{equation} Q_n^0(x) = P_{n + 1}(x) - a_{n + 1}(x) \overline T_{n + 1}^{[a, b]} \end{equation}

    де — нормований багаточлен Чебишова на проміжку .

    Дійсно це БНРН: вираз у правій частині є багаточленом степеня , оскільки коефіцієнт при дорівнює нулю, а його нулі

    \begin{equation} x_k = \frac{b + a}{2} + \frac{b - a}{2} \cdot t_k, \end{equation}

    де

    \begin{equation} t_k = \cos \left( \frac{(2 k + 1) \pi}{2 (n + 1)} \right), \end{equation}

    для є точками чебишевського альтернасу для .

    Задача 26: Показати, що для парної (непарної) функції БНРН це багаточлен по парних (непарних) степенях .

  5. Телескопічний метод. Дуже часто БНРН точно знайти не вдається. В таких випадках шукається багаточлен, близький до нього. Бажано щоб цей багаточлен був невисокого степеня (менше арифметичних операцій на його обчислення) Спочатку будують такий багаточлен

    \begin{equation} P_n(x) = \Sum_{j = 0}^n a_j x^j, \end{equation}

    щоб відхилення від була достатньо малою. (наприклад меншою за ).

    Можна це зробити, наприклад, за формулою Тейлора. Потім наближають багаточлен багаточленом найкращого рівномірного наближення (за алгоритмом п. 4; для простоти ):

    \begin{equation} P_{n - 1}(x) = P_n(x) - a_n T_n(x) 2^{1 - n}. \end{equation}

    Оскільки на відрізку , то

    \begin{equation} | P_{n - 1}(x) - P_n(x) | \le |a_n| \cdot 2^{1 - n}. \end{equation}

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

8.4. Найкраще середньоквадратичне наближення

Література:

Наблизимо функцію з гільбертового простору функціями із скінченно-вимірного підпростору простору . Тут — гільбертів простір із скалярним добутком , норма і відстань для якого визначаються формулами:

\begin{equation} |u| = \sqrt{\langle u, u \rangle}, \quad \Delta(u, v) = |u - v|. \end{equation}

Побудуємо

\begin{equation} \label{eq:8.4.1} u = \Sum_{i=0}^n c_i \varphi_i \in M_n \subset H, \end{equation}

де — лінійно-незалежна система елементів з .

Означення: Елементом найкращого середньоквадратичного наближення (в подальшому ЕНСКН) називатимемо такий, що

\begin{equation} |f - \Phi_0| = \sqrt{\langle f - \Phi_0, f - \Phi_0 \rangle} = \Inf_{\Phi \in M_n} |f - \Phi|. \end{equation}

Теорема 1: Нехай , — елемент найкращого середньоквадратичного наближення, тобто

\begin{equation} |f - \Phi_0| = \Inf_{\Phi \in M_n} |f - \Phi|, \end{equation}

тоді

\begin{equation} \label{eq:8.4.2} \forall \Phi \in M_n: \quad \langle f - \Phi_0, \Phi \rangle = 0. \end{equation}

Доведення:

Нехай \eqref{eq:8.4.2} не виконується, тобто :

\begin{equation} \langle f - \Phi_0, \phi_1 \rangle = \alpha \ne 0. \end{equation}

Без обмеження загальності можемо вважати, що .

Побудуємо , тоді

\begin{equation} \begin{aligned} |f - \Phi_2|^2 &= \langle f - \Phi_2, f - \Phi_2 \rangle = \newline &= |f - \Phi_0|^2 - \alpha^2 < |f - \Phi_0|^2. \end{aligned} \end{equation}

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

Наслідок: , де , а (поправка — з ортогонального доповнення до ).

Знайти ЕНСКН

\begin{equation} \label{eq:8.4.3} \Phi_0 = \Sum_{i = 0}^n c_i \varphi_i \end{equation}

означає знайти коефіцієнти .

Для виконання \eqref{eq:8.4.2} достатньо, щоб

\begin{equation} \label{eq:8.4.4} \langle f - \Phi_0, \varphi_k \rangle = 0, \quad k = \overline{0, n}. \end{equation}

Підставимо \eqref{eq:8.4.3} у формулу \eqref{eq:8.4.4}:

\begin{equation} \langle f - \Sum_{i = 0}^n c_i \varphi_i, \varphi_k \rangle = 0. \end{equation}

Таким чином маємо СЛАР для :

\begin{equation} \label{eq:8.4.5} \Sum_{i=0}^n c_i \langle \varphi_i, \varphi_k \rangle = \langle f, \varphi_k \rangle ,\quad k = \overline{0, n}. \end{equation}

З теореми витікає лише достатність умов \eqref{eq:8.4.5} для знаходження коефіцієнтів . Розглянемо задачу

\begin{equation} |f - \Phi_0| = \Inf_{\Phi \in M_n} |f - \Phi|, \end{equation}

як задачу мінімізації функції багатьох змінних:

\begin{equation} F(a_0, \ldots, a_n) = |f - \Phi|^2 = \left| f - \Sum_{i=0}^n a_i \varphi_i \right|^2 \to \min. \end{equation}

Умови мінімуму цієї функції приводять до \eqref{eq:8.4.5}.

Задача 27: Показати, що для коефіцієнтів елемента найкращого середньо-квадратичного наближення умови \eqref{eq:8.4.5} є необхідними та достатніми.

Матриця СЛАР \eqref{eq:8.4.5} складається з елементів , тобто це матриця Грамма: . Оскільки це матриця Грамма лінійно-незалежної системи, то det, що ще раз доводить існування та єдиність ЕНСКН. Оскільки , то для розв’язку цієї системи використовують метод квадратних коренів.

Якщо взяти та , , , то

\begin{equation} g_{ik} = \Int_0^1 x^i x^k \diff x = \frac{1}{i + k + 1}, \quad i, k = \overline{0, n}. \end{equation}

Це матриця Гілберта, яка є погано обумовленою: , . Праві частини

\begin{equation} f_k = \langle f, \varphi_k \rangle = \Int_0^1 f(x_i) x^k \diff x \end{equation}

як правило, обчислюються наближено, тому похибки обчислення можуть бути великими.

Що робити? Якщо вибирати систему ортонормованою, тобто

\begin{equation} \langle \varphi_i, \varphi_k \rangle = \delta_{ik} = \begin{cases} 1, & i = k, \newline 0, & i \ne k, \end{cases} \end{equation}

то система \eqref{eq:8.4.5} має явний розв’язок

\begin{equation} \label{eq:8.4.6} \Phi_0 = \Sum_{i=0}^n \langle f, \varphi_i \rangle \cdot \varphi_i. \end{equation}

Якщо — повна ортонормована система, то довільну функцію можна представити у вигляді ряду Фур’є:

\begin{equation} f = \Sum_{i=0}^\infty \langle f, \varphi_i \rangle \cdot \varphi_i, \end{equation}

і

\begin{equation} f - \Phi_0 = \Sum_{i = n + 1}^\infty c_i \varphi_i = \nu \end{equation}

— залишок (похибка). Таким чином ЕНСКН є відрізком ряду Фур’є. Далі

\begin{equation} \begin{aligned} |f - \Phi_0|^2 &= \langle f - \Phi_0, f - \Phi_0 \rangle = \newline &= |f|^2 - 2 \langle f, \Phi_0 \rangle + |\Phi_0|^2 = \newline &= |f|^2 - 2 |\Phi_0|^2 - 2 \langle \nu, \Phi_0\rangle + |\Phi_0| = \newline &= |f|^2 - |\Phi_0|^2 = \newline &= \Sum_{i = 0}^\infty c_i^2 - \Sum_{i=0}^n c_i^2 = \newline &= \Sum_{i = n + 1}^\infty c_i^2 \xrightarrow[n \to \infty]{} 0. \end{aligned} \end{equation}

Останнє випливає з відповідної теореми математичного аналізу. Таким чином, якщо — повна ортонормована система, то

\begin{align} \Sum_{i = n + 1}^\infty c_i^2 &\xrightarrow[n \to \infty]{} 0, \newline \Phi_0^{(n)} &\xrightarrow[n \to \infty]{} f, \end{align}

Значить вірна

Теорема 2: В гільбертовому просторі послідовність ЕНСКН по повній ортонормованій системі збігається до .

Зауваження 1: Відхилення можна обчислити за формулою:

\begin{equation} \begin{aligned} \Delta^2(f) &= |f - \Phi_0|^2 = \newline &= |f|^2 - 2 \langle f, \Phi_0 \rangle + |\Phi_0|^2 = \newline &= |f|^2 - |\Phi_0|^2 = |f|^2 - \Sum_{i = 0}^n c_i^2. \end{aligned} \end{equation}

Якщо — ортогональна система, але не нормована, тобто , то

\begin{align} c_i &= \frac{\langle f, \varphi_i \rangle}{|\varphi_i|^2}, \newline \Phi_0 &= \Sum_{i = 0}^n \frac{\langle f, \varphi_i \rangle}{|\varphi_i|^2} \cdot \varphi_i, \newline |f - \Phi_0|^2 &= |f|^2 - \Sum_{i = 0}^n \frac{c_i^2}{|\varphi_i|^2}. \end{align}

Для функції , щоб побудувати ЕНСКН покладемо , в якому скалярний добуток виберемо наступним чином

\begin{equation} \langle u, v \rangle = \Int_a^b u(x) v(x) \diff \alpha(x), \end{equation}

де — зростаюча функція. Можливі випадки:

  1. , тоді та

    \begin{equation} \langle u, v \rangle = \Int_a^b \rho(x) u(x) v(x) \diff x. \end{equation}

  2. — функція стрибків, , де , . Якщо ввести , то

    \begin{equation} \langle u, v \rangle = \Sum_{k = 1}^n \rho_k u(x_k) v(x_k). \end{equation}

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

8.5. Системи ортогональних функцій

Література:

Як вибирати ортонормальну або ортогональну систему функцій ?

Розглянемо деякі з найбільш вживаних таких систем.

  1. Якщо ; (ваговий множник), то — система багаточленів Лежандра, які мають вигляд

    \begin{equation} L_n(x) = \frac{1}{2^n n!} \cdot \frac{\diff^n}{\diff x^n } \cdot (x^2 - 1)^n. \end{equation}

    Використовують також рекурентні формули

    \begin{equation} (n + 1) L_{n + 1}(x) = (2 n + 1) x L_n(x) - n L_{n - 1}(x), \end{equation}

    до яких додаємо умови

    \begin{equation} L_0(x) = 1, \quad L_1(x) = x. \end{equation}

    Це ортогональна система в тому сенсі, що

    \begin{equation} \langle L_i, L_k \rangle = \Int_{-1}^1 L_i(x) L_k(x) \diff x = \delta_{ik} |L_i(x)|^2, \end{equation}

    де і тому .

    Зауваження: Якщо потрібно побудувати наближення на довільному проміжку , то бажано перейти до проміжку , тобто по на побудувати з заміною , та для побудови багаточлена НСКН для використати багаточлени Лежандра .

    Можна робити навпаки — систему багаточленів перевести з на , але це вимагає більше обчислень і процес побудови ЕНСКН складніше.

  2. Якщо , , скалярний добуток

    \begin{equation} \langle u, v \rangle = \Int_{-1}^1 \frac{u(x) v(x)}{\sqrt{1 - x^2}} \diff x \end{equation}

    (це невласні інтеграли другого роду), то , де — система ортогональних багаточленів Чебишова 1-го роду, які мають вигляд

    \begin{equation} T_n(x) = \cos(n \arccos(x)). \end{equation}

    Рекурентна формула для цих багаточленів:

    \begin{equation} T_{n + 1}(x) = 2 x T_n(x) - T_{n - 1}(x), \end{equation}

    до якої додаємо умови , .

    Для цієї системи

    \begin{equation} |T_n|^2 = \begin{cases} \pi, & n = 0, \newline \pi / 2, & n = 1, 2, \ldots \end{cases} \end{equation}

  3. гільбертів простір з ваговим множником . Система багаточленів Якобі, (, — числові параметри) ортогональна в сенсі скалярного добутку

    \begin{equation} \langle u, v \rangle = \Int_{-1}^1 (1 - a)^\alpha (1 + x)^\beta u(x) v(x) \diff x. \end{equation}

    Ця система є узагальненням випадків 1. та 2.

    Диференціальна формула для багаточленів:

    \begin{equation} P_n^{(\alpha, \beta)}(x) = \frac{(-1)^n}{2^n n!} (1 - x)^{-\alpha} (1 + x)^{-\beta} \frac{\diff^n}{\diff x^n} \left( (1 - x)^{n + \alpha} (1 + x)^{n + \beta} \right). \end{equation}

    Рекурентна формула:

    \begin{align} & 2 (n + 1) (n + \alpha + \beta + 1) (2 n + \alpha + \beta) P_{n + 1}^{(\alpha, \beta)}(x) = \newline & \quad = (2 n + \alpha + \beta + 1) ( (2 b + \alpha + \beta) (2 n + \alpha + \beta + 2) x + \alpha^2 - \beta^2) P_n^{(\alpha, \beta)}(x) - \newline & \qquad - 2 (n + \alpha) (n + \beta) (2 n + \alpha + \beta + 2) P_{n - 1}^{(\alpha, \beta)}(x), \end{align}

    де , , і

    \begin{equation} \left| P_n^{(\alpha, \beta)} \right|^2 = \frac{2^{\alpha + \beta + 1} \Gamma(\alpha + n + 1) \Gamma(\beta + n + 1)}{n! (\alpha + \beta + 2 n + 1) \Gamma(\alpha + \beta + n + 1)}, \end{equation}

    та

    \begin{equation} \Gamma(z) = \Int_0^\infty e^{-t} t^{z - 1} \diff t, \end{equation}

    а , .

    Коли : , а для : .

  4. , , .

    Цьому ваговому множнику відповідає система багаточленів Лагерра , які задаються диференціальною формулою:

    \begin{equation} L_n^\alpha(x) = (-1)^n x^{-\alpha} e^x \frac{\diff^n}{\diff x^n} \left(x^{\alpha + n} e^{-x}\right) \end{equation}

    або в рекурентній формі

    \begin{equation} (n + 1) L_{n + 1}^\alpha = (2 n + \alpha + 1 - x) L_n^\alpha - (n + \alpha) L_{n - 1}^\alpha, \end{equation}

    де , та з нормою .

  5. , . Систему ортогональних функцій вибираємо як систему багаточленів Ерміта , які задаються диференціальною формулою:

    \begin{equation} H_n(x) = (-1)^n e^{x^2} \frac{\diff^n}{\diff x^n} e^{-x^2}, \end{equation}

    або в рекурентній формі

    \begin{equation} H_{n + 1}(x) = 2 x H_n(x) - 2 n H_{n - 1}(x) \end{equation}

    де , та .

  6. , , . -періодичні функції. За систему ортонормованих функцій вибираємо тригонометричну систему

    \begin{align} \varphi_0(x) &= \frac{1}{\sqrt{2\pi}}, \newline \varphi_{2 k - 1}(x) &= \frac{\cos(k x)}{\sqrt{\pi}}, \newline \varphi_{2 k}(x) &= \frac{\sin(k x)}{\sqrt{\pi}}. \end{align}

    Елемент найкращого середньоквадратичного наближення представляє собою тригонометричний багаточлен

    \begin{equation} \Phi_0(x) \equiv T_n(x) = \frac{a_0}{2} + \Sum_{k = 1}^n (a_k \cos(k x) + b_k \sin(k x)), \end{equation}

    формули для обчислення цих коефіцієнтів наведені в наступному пункті.

  7. Якщо потрібно апроксимувати табличну функцію, то , , ,

    \begin{equation} \langle u, v \rangle = \frac{1}{N + 1} \Sum_{i = 0}^N u_i v_i, \end{equation}

    і за систему ортогональних функцій вибираємо наступну систему багаточленів: , () — систему багаточленів Чебишова дискретного аргументу, які задається формулою

    \begin{equation} p_k^{(N)}(x) = \Sum_{j = 0}^k \frac{(-1)^j C_k^j C_{k + j}^j}{N^{(j)}} \cdot x^{(j)} \end{equation}

    де — факторіальний багаточлен; — число сполук.

    Рекурентна формула:

    \begin{equation} \frac{(m + 1) (N - m)}{2 (2 m + 1)} \cdot p_{m + 1}^{(N)} = \left( \frac{N}{2} - x \right) p_m^{(N)} - \frac{m (N + m + 1)}{2 (2 m + 1)} \cdot p_{m - 1}^{(N)}, \end{equation}

    з початковими значеннями , .

    Наприклад , .

    У випадку, якщо задані вузли , , то робимо заміну .

8.6. Середньоквадратичне наближення періодичних функцій

Література:

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

\begin{equation} \langle u, v \rangle = \Int_0^{2 \pi} u(x) v(x) \diff x \end{equation}

В якості системи лінійно-незалежних функцій виберемо тригонометричну систему функцій:

\begin{equation} \varphi_0(x) = 1; \quad \varphi_{2 k - 1}(x) = \cos(k x); \quad \varphi_{2 k}(x) = \sin(k x), \end{equation}

для , яка є повною нормованою системою в .

Будемо шукати у вигляді тригонометричного багаточлена

\begin{equation} \label{eq:8.6.1} \Phi_0(x) \equiv T_n(x) = \frac{a_0}{2} + \Sum_{k = 1}^n (a_k \cos(k x) + b_k \sin(k x)), \end{equation}

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

\begin{equation} \label{eq:8.6.2} \left\{ \begin{aligned} a_0 &= \langle f, \varphi_0\rangle = \frac{1}{2\pi} \Int_0^{2\pi} f(x) \diff x, \newline a_k &= \langle f, \varphi_{2 k - 1} \rangle = \frac{1}{\pi} \Int_0^{2 \pi} f(x) \cos (k x) \diff x, \newline b_k &= \langle f, \varphi_{2 k} \rangle = \frac{1}{\pi} \Int_0^{2 \pi} f(x) \sin (k x) \diff x. \end{aligned} \right. \end{equation}

Відхилення:

\begin{equation} \Delta^2(f) = |f|^2 - \left( 2 \pi a_0^2 + \Sum_{k = 1}^n \pi (a_k^2 + b_k^2) \right). \end{equation}

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

\begin{equation} \langle u, v \rangle = \frac{1}{N} \Sum_{i = 1}^{N} u_i v_i, \quad u_i = u(x_i). \end{equation}

Тоді

\begin{equation} \label{eq:8.6.3} \left\{ \begin{aligned} a_0 &= \frac{1}{N} \Sum_{i = 1}^{N} f_i, \newline a_k &= \frac{2}{N} \Sum_{i = 1}^{N} f_i \cos (k x_i), \newline b_k &= \frac{2}{N} \Sum_{i = 1}^{N} f_i \sin (k x_i), \newline \end{aligned} \right. \end{equation}

Це формули Бесселя. В формулі \eqref{eq:8.6.1}: (тобто багаточлен той же), але коефіцієнти визначаємо за формулою .

Зауваження: Як правило кількість даних значень . Але якщо , то і — непарне. При цьому — БНСКН і звідси

\begin{equation} \Delta^2(f) = \left| f(x) - T_{\frac{N - 1}{2}}(x) \right|^2 = \frac{1}{N} \Sum_{i = 1}^{N} \left(f(x_i) - T_{\frac{N - 1}{2}}(x) \right)^2 \to \Inf_{a_k, b_k}. \end{equation}

Оскільки найменше значення відхилення , то тригонометричний багаточлен найкращого середньоквадратичного наближення співпадає з інтерполяційним тригонометричним багаточленом і

\begin{equation} T_{\frac{N - 1}{2}}(x) = f(x_i). \end{equation}

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

8.7. Метод найменших квадратів (МНК)

Література:

Нехай в результаті вимірювань функції маємо таблицю значень:

\begin{equation} \label{eq:8.7.1} y_i \approx f(x_i), \quad i = \overline{1,N}, \quad x_i \in [a,b]. \end{equation}

За даними цієї таблиці треба побудувати аналітичну формулу таку, що

\begin{equation} \label{eq:8.7.2} \Phi(x_i; a_0, a_1, \ldots, a_n) \approx y_i, \quad i = \overline{1,N}. \end{equation}

Виконувати це інтерполюванням тобто задавати

\begin{equation} \label{eq:8.7.3} \Phi(x_i; a_0, a_1, \ldots, a_n) = y_i, i = \overline{1,N} \end{equation}

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

Тому визначають параметри так, щоб у деякому розумінні всі рівняння системи \eqref{eq:8.7.2} одночасно задовольнялись з найменшою похибкою, наприклад, щоб виконувалося:

\begin{equation} \label{eq:8.7.4} I(a_0, \ldots, a_n) = \Sum_{i = 1}^{N} \left(y_i - \Phi(x_i; a_0, \ldots, a_n)\right)^2 \to \min. \end{equation}

Такий метод розв’язання системи \eqref{eq:8.7.2} і називають методом найменших квадратів, оскільки мінімізується сума квадратів відхилення від значень .

Для реалізації мінімуму необхідно та достатньо виконання умов:

\begin{equation} \label{eq:8.7.5} \frac{\partial I}{\partial a_i} = 0, \quad i = \overline{0, n}, \end{equation}

Якщо лінійно залежить від параметрів , тобто

\begin{equation} \label{eq:8.7.6} \Phi(x; a_0, \ldots a_n) = \Sum_{k = 0}^{n} a_k \varphi_k(x), \end{equation}

то з \eqref{eq:8.7.3} маємо СЛАР:

\begin{equation} \label{eq:8.7.7} \Sum_{k = 0}^{n} a_k \varphi_k(x_i) = y_i, \quad i = \overline{1, N}, \end{equation}

яку називають системою умовних рівнянь. Позначивши

\begin{align} C &= (\varphi_k(x_i))\void_{j = \overline{0, n}}^{i = \overline{1, N}}, \newline \vec a &= (a_0, \ldots, a_n)^\intercal, \newline \vec y &= (y_1, \ldots, y_N)^\intercal, \end{align}

маємо матричний запис СЛАР \eqref{eq:8.7.7}:

\begin{equation} \label{eq:8.7.8} C \vec a = \vec y. \end{equation}

Помноживши систему умовних рівнянь \eqref{eq:8.7.8} зліва на транспоновану до матрицю отримаємо систему нормальних рівнянь

\begin{equation} \label{eq:8.7.9} C^\intercal C \vec a = C^\intercal \vec y, \end{equation}

де , , , а самі

\begin{equation} g_{ik} = \Sum_{j = 1}^{N} c_{ij}^\intercal c_{jk} = \Sum_{j = 1}^{N} c_{ji} c_{jk} = \Sum_{j = 1}^{N} \varphi_k(x_i) \varphi_j(x_i), \end{equation}

а

\begin{equation} C^\intercal \vec y = \left( \Sum_{i = 1}^{N} c_{ik} y_i \right)^n_{k = 0} \end{equation}

з якої власно і обчислюють невідомі коефіцієнти.

Покажемо, що МНК є методом знаходження ЕНСКН, якщо визначити скалярний добуток

\begin{equation} \langle u, v \rangle = \Sum_{i = 1}^{N} u(x_i) v(x_i). \end{equation}

Поставимо задачу знаходження ЕНСКН:

\begin{equation} \Delta(f, \Phi) = |f - \Phi|^2 = \langle f - \Phi, f - \Phi\rangle = \Sum_{i = 1}^{N} (y_i - \Phi(x_i, \vec a))^2 \to \inf. \end{equation}

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

\begin{equation} \Sum_{j = 0}^{n} a_k \langle \varphi_k, \varphi_j \rangle = \langle \varphi_k, f \rangle, \end{equation}

де , а це співпадає з \eqref{eq:8.7.9}.

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

\begin{equation} \langle u, v \rangle = \Sum_{i = 1}^{N} \rho_i u(x_i) v(x_i), \end{equation}

де ,.

Нехай тепер — нелінійна функція параметрів , наприклад:

\begin{equation} \Phi = a_0 e^{a_1 x} + a_2 e^{a_3 x} + \ldots, \end{equation}

або

\begin{equation} \Phi = a_0 \cos (a_1 x) + a_2 \sin (a_3 x) + \ldots \end{equation}

Складемо функціонал:

\begin{equation} \label{eq:8.7.10} S(a_0, \ldots, a_n) = \Sum_{i = 1}^{N} \rho_i (y_i - \Phi(x, \vec a))^2 \to \Int_a. \end{equation}

Оскільки тепер нелінійна, то застосуємо метод лінеаризації.

Нехай відомі наближені значення . Розкладемо в околі . Тоді отримаємо лінійне наближення до :

\begin{equation} \Phi(x, \vec a) \approx \Phi \left(x, \vec a^{(0)} \right) + \Sum_{k = 0}^{n} \frac{\partial \Phi}{\partial a_k} \left\langle x, \vec a^{(0)} \right\rangle \left( a_k - a_k^{(0)} \right). \end{equation}

Якщо ввести позначення

\begin{align} \vec x &= \vec a - \vec a^{(0)}, \newline y_i^\star &= y_i - \Phi \left( x, \vec a^{(0)} \right), \newline c_{i, k} &= \Phi_{a_k}’ \left( x_i, \vec a^{(0)} \right), \end{align}

то отримаємо систему умовних рівнянь відносно поправок до :

\begin{equation} \label{eq:8.7.11} C \vec z = \vec y^\star. \end{equation}

Замінимо її на систему нормальних рівнянь

\begin{equation} \label{eq:8.7.12} C^\intercal C \vec z = c^\intercal \vec y^\star. \end{equation}

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

Умова припинення ітерацій

\begin{equation} \left| \vec z^{(m)} \right| = \sqrt{\Sum_{k = 0}^{n} \left(z_k^{(m)}\right)^2} < \varepsilon. \end{equation}

Важливим є вибір початкового наближення . З системи умовних рівнянь (нелінійної) виберемо деякі . Розв’язок цієї системи і дасть початкове наближення.

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

\begin{equation} y_i \approx f(x_i), \quad \Phi(x, A, \alpha) = A x^\alpha. \end{equation}

Система умовних рівнянь має вигляд:

\begin{equation} \Phi(x_i) = A x_i^\alpha = y_i, \quad i = \overline{1,N}. \end{equation}

Прологарифмуємо її:

\begin{equation} \psi(x_i) = \ln (\Phi(x_i)) = \ln (A) + \alpha \ln(x_i) = \ln(y_i), \quad i = \overline{1,N}. \end{equation}

Введемо . Тепер функція лінійна. Система умовних рівнянь відносно параметрів та має вигляд:

\begin{equation} C \vec z = \vec b, \end{equation}

де , , а

\begin{equation} C = \begin{pmatrix} 1 & \ln (x_i) \newline \vdots & \vdots \newline 1 & \ln (x_n) \end{pmatrix} \end{equation}

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

\begin{equation} \label{eq:8.7.13} G = C^\intercal C = \begin{pmatrix} N & \Sum_{i = 1}^{N} \ln(x_i) \newline \Sum_{i = 1}^{N} \ln(x_i) & \Sum_{i = 1}^{N} (\ln(x_i))^2 \end{pmatrix}, \end{equation}

і

\begin{equation} \label{eq:8.7.14} C^\intercal \vec b = \begin{pmatrix} \Sum_{i = 1}^{N} \ln(y_i) \newline \Sum_{i = 1}^{N} \ln(x_i) \ln(y_i) \end{pmatrix}. \end{equation}

Розв’язавши систему \eqref{eq:8.7.13}–\eqref{eq:8.7.14}, знаходимо , та .

8.8. Згладжуючі сплайни

Література:

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

Наведемо деякі прості формули згладжування:

  1. :

    • , ;

    • , ;

    • .

  2. :

    • , .

Їх отримуємо в такий спосіб: до застосовуємо апроксимацію, будуємо багаточлен НСКН

\begin{equation} Q_m(x) = \Sum_{k = 0}^{m} c_k p_k^N (x), \end{equation}

де — система багаточленів Чебишова дискретного аргументу. Беремо значення , які приводять до наведених вище формул.

Але ці формули не дають гарантію, що в результаті ми отримаємо функцію, яка задовольняє умові .

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

\begin{equation} \label{eq:8.8.1} \begin{aligned} s(x) &= m_{i - 1} \cdot \frac{(x_i - x)^3}{6 h_i} + m_i \cdot \frac{(x - x_{i - 1})^3}{6 h_i} + \newline & \quad + \left(f_{i - 1} - \frac{m_{i - 1} h_i^2}{6}\right) \cdot \frac{x_i - x}{h_i} + \newline & \quad + \left(f_i - \frac{m_i h_i^2}{6}\right) \cdot \frac{x - x_{i - 1}}{h_i}, \end{aligned} \end{equation}

для , де .

Тут , , а задовольняють систему:

\begin{equation} \label{eq:8.8.2} \left\{ \begin{aligned} & \frac{h_i m_{i - 1}}{6} + \frac{(h_i + h_{i + 1} m_i)}{3} + \frac{h_{i + 1} m_{i + 1}}{6} = \newline & \quad = \frac{f_{i + 1} - f_i}{h_{i + 1}} - \frac{f_i - f_{i - 1}}{h_i}, \quad i = \overline{1, n- 1} \newline & m_0 = m_n = 0. \end{aligned} \right. \end{equation}

В матричній формі ця система має вигляд

\begin{equation} \label{eq:8.8.3} A \vec m = H \vec f. \end{equation}

Тут

\begin{equation} \vec m = (m_1, \ldots, m_{n - 1})^\intercal, \quad \vec f = (f_0, \ldots, f_n)^\intercal, \end{equation}

а матриці

\begin{equation} A = \begin{pmatrix} \frac{h_1 + h_2}{3} & \frac{h_2}{6} & 0 & \cdots & 0 & 0 \newline \frac{h_2}{6} & \frac{h_2 + h_3}{3} & \frac{h_3}{6} & \cdots & 0 & 0 \newline \ddots & \ddots & \ddots & \ddots & \vdots & \vdots \newline \vdots & \ddots & \ddots & \ddots & \ddots & \vdots \newline 0 & \cdots & 0 & \frac{h_{n - 2}}{6} & \frac{h_{n - 2} + h_{n - 1}}{3} & \frac{h_{n - 1}}{6} \newline 0 & 0 & \cdots & 0 & \frac{h_{n - 1}}{6} & \frac{h_{n - 1} + h_n}{3} \newline 0 & 0 & 0 & \cdots & 0 & 1 \end{pmatrix} \end{equation}

і

\begin{equation} H = \begin{pmatrix} \frac{1}{h_1} & - \left( \frac{1}{h_1} + \frac{1}{h_2} \right) & \frac{1}{h_2} &0 & \cdots & 0 & 0 \newline 0 & \frac{1}{h_2} & - \left( \frac{1}{h_2} + \frac{1}{h_3} \right) & \frac{1}{h_3} & \cdots & 0 & 0 \newline \vdots & \vdots & \ddots & \ddots & \ddots & \vdots & \vdots \newline \vdots & \vdots & \vdots & \ddots & \ddots & \ddots & \vdots \newline 0 & 0 & \cdots & 0 & \frac{1}{h_{n - 1}} & - \left( \frac{1}{h_{n - 1}} + \frac{1}{h_n} \right) & \frac{1}{h_n} \newline 0 & 0 & 0 & 0 & \cdots & 0 & 0 \end{pmatrix} \end{equation}

Кубічний інтерполяційний сплайн мінімізує функціонал:

\begin{equation} \label{eq:8.8.4} \Phi(u) = \Int_a^n (u^{\prime\prime}(x))^2 \diff x: \end{equation}

\begin{equation} \Phi(s) = \Int_{u \in U} \Phi(u), \end{equation}

де

\begin{equation} U = \left\{ u(x): u(x_i) = f_i, i = \overline{0, n}, u(x) \in W_2^2([a, b]) \right\}. \end{equation}

Введемо функціонал

\begin{equation} \Phi_1(u) = \Phi(u) + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - u(x_i) \right)^2. \end{equation}

Означення: Згладжуючим сплайном назвемо функцію , яка є розв’язком задачі:

\begin{equation} \label{eq:8.8.5} \Phi_1(g) = \inf_{u \in W_2^2([a, b])} \Phi_1(u). \end{equation}

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

Нехай існує функція . Побудуємо кубічний сплайн такий, що . З того, що є розв’язком задачі \eqref{eq:8.8.5}, маємо , а тоді

\begin{equation} \Int_a^b (s^{\prime\prime}(x))^2 \diff x + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - s(x_i) \right)^2 \ge \Int_a^b (g^{\prime\prime}(x))^2 \diff x + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - g(x_i) \right)^2 \end{equation}

Звідси .

Оскільки кубічний інтерполяційний сплайн мінімізує функціонал \eqref{eq:8.8.4} , то . Тому . Звідки .

Позначимо

\begin{equation} \label{eq:8.8.6} \mu_i = g(x_i), \quad i = \overline{0, n}, \end{equation}

Якби значення були б відомі, то для побудови достатньо було б розв’язати систему

\begin{equation} \label{eq:8.8.7} A \vec m = H \vec \mu \end{equation}

Підставимо та \eqref{eq:8.8.6} в :

\begin{equation} \label{eq:8.8.8} \begin{aligned} \Phi_1(g) &= \Sum_{i = 1}^{n} \Int_{x_{i - 1}}^{x_i} \left(m_{i - 1} \cdot \frac{x_i - x}{h_i} + \newline & \quad + m_i \cdot \frac{x - x_{i - 1}}{h_i}\right)^2 \diff x + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - \mu_i \right)^2 = \newline &= \inf \Phi_1(u). \end{aligned} \end{equation}

Після перетворень маємо:

\begin{equation} \begin{aligned} \Phi_1(g) &= \Sum_{i = 1}^{n} \Int_{x_{i - 1}}^{x_i} \left(m_{i - 1} \cdot \frac{x_i - x}{h_i} + m_i \cdot \frac{x - x_{i - 1}}{h_i} \right)^2 \diff x + \newline & \quad + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - \mu_i \right)^2 = \newline &= \Sum_{i = 1}^{n} m_i \left(\frac{h_i m_{i - 1}}{6} + \frac{(h_i + h_{i + 1}) m_i}{3} + \frac{h_{i + 1} m_{i + 1}}{6} \right) \diff x + \newline & \quad + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - \mu_i \right)^2 = \newline &= \left\langle A \vec m, \vec m \right\rangle + \newline & \quad + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - \mu_i \right)^2. \end{aligned} \end{equation}

Задача 28: Показати, що для кубічного згладжуючого сплайну мають місце формули вище.

Оскільки представляє собою квадратичну функція відносно , то необхідною і достатньою умовою мінімуму є

\begin{equation} \frac{\partial \Phi_1}{\partial \mu_1} = 0, \quad j = \overline{0,n}. \end{equation}

Знаходимо:

\begin{equation} \begin{aligned} \frac{\partial \Phi_1}{\partial \mu_j} &= \frac{\partial}{\partial \mu_j} \left\langle A \vec m, \vec m \right\rangle + 2 \rho_j \left( \mu_j - \tilde f_j \right) = \newline &= 2 \left\langle \frac{\partial}{\partial \mu_j} \left( A \vec m \right), \vec m \right\rangle + 2 \rho_j \left( \mu_j - \tilde f_j \right) = \newline &= 2 \left\langle \frac{\partial}{\partial m_j} \left( H \vec \mu\right), \vec m \right\rangle + 2 \rho_j \left( \mu_j - \tilde f_j \right) = \newline &= 2 \left\langle \frac{\partial \vec m}{\partial m_j}, H^\intercal \vec m \right\rangle + 2 \rho_j \left( \mu_j - \tilde f_j \right) = \newline &= 2 \left( H^\intercal \vec m \right)\void_j + 2 \rho_j \left( \mu_j - \tilde f_j \right) = 0. \end{aligned} \end{equation}

Отже, з умови мінімізації функціоналу

\begin{equation} \Phi_1(u) + \Int_a^b (u^{\prime\prime}(x))^2 \diff x + \Sum_{i = 0}^{n} \rho_i \left( \tilde f_i - u(x_i) \right)^2. \end{equation}

ми отримали таку систему рівнянь :

\begin{equation} \label{eq:8.8.9} 2 \left( H^\intercal \vec m\right)\void_i + 2 \rho_i (\mu_i - f_i) = 0, \end{equation}

де, як і раніше i — це невідомі значення згладжуючого сплайну:

\begin{equation} \mu_i = s(x_i), \quad m_i = s^{\prime\prime}(x_i). \end{equation}

Можна записати \eqref{eq:8.8.9} у матричному вигляді, якщо ввести матрицю :

\begin{equation} \label{eq:8.8.10} H^\intercal \vec m + R \vec \mu = R \vec f. \end{equation}

Тут — вектор заданих значень функції.

Таким чином маємо для та дві системи \eqref{eq:8.8.7} і \eqref{eq:8.8.10}. Виключаючи отримаємо таку систему лінійних рівнянь

\begin{equation} \label{eq:8.8.11} \left( A + H R^{-1} H^\intercal \right) \vec m = H \vec f. \end{equation}

Розв’язавши її, можемо обчислити

\begin{equation} \mu = \vec f - R^{-1} H^\intercal \vec m \end{equation}

і підставити знайдені значення та в формулу для сплайну

\begin{equation} \begin{aligned} g(x) &= m_{i - 1} \cdot \frac{(x_i - x)^3}{6 h_i} + m_i \cdot \frac{(x - x_{i - 1})^3}{6 h_i} + \newline & \quad + \left( \mu_{i - 1} - \frac{m_{i - 1} \cdot h_i^2}{6} \right) \cdot \frac{x_i - x}{h_i} + \newline & \quad + \left( \mu_i - \frac{m_i \cdot h_i^2}{6}\right) \cdot \frac{x - x_{i - 1}}{h_i}, \end{aligned} \end{equation}

Тепер звернемо увагу на матрицю системи \eqref{eq:8.8.10} :

\begin{equation} A’ = A + H R^{-1} H^\intercal. \end{equation}

Оскільки матриці , — трьохдіагональні, то матриця буде п’ятидіагональною, а тому п’ятидіагональною буде й .

Розв’язують зазвичай системи з такими матрицями наступним чином:

  1. або методом квадратних коренів; для матриць із такою структурою цей метод має складність , оскільки в нашому випадку півширина діагональної смуги .

  2. або методом п’ятидіагональної прогонки [Самарский А. А., Николаев С. Н., «Методы решения сеточных уравнений»], що також має складність .

Зауваження: вибирають так: .

Назад до лекцій

Назад на головну