8. Апроксимування функцій
8.1. Постановка задачі апроксимації
Література:
- Бахвалов, Жидков, Кобельков, стор. 164–166: pdf
Наближення функцій застосовують у випадках, якщо
-
функція складна (трансцендентна або є розв’язком складної задачі) і її замінюють функцією, яка легко обчислюється (найчастіше, поліномом);
-
необхідно побудувати функцію неперервного аргументу для функції, яка задана своїми значеннями (таблична);
-
таблична функція наближається табличною ж функцією (згладжування).
Інтерполювання не кращий спосіб наближення функцій через розбіжність цього процесу для поліномів. Тим більше доцільність застосування інтерполювання сумнівна, якщо функція таблична, а її значення неточні. Потрібно будувати апроксимуючу функцію з інших міркувань.
Найбільш загальний принцип: наблизити функцією так, щоб досягалася деяка задана точність :
\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}
Тоді для маємо . Звідси : , тобто — строго нормований.
Наслідок: .
Приклади (строго нормованих просторів):
з нормою .
з нормою , .
Простір не є строго нормованим, але в ньому існує єдиний елемент найкращого наближення (про цей факт в наступному пункті).
8.2. Найкраще рівномірне наближення
Література:
- Бахвалов, Жидков, Кобельков, стор. 178–187: pdf
Означення: Найкраще рівномірне наближення — це наближення в просторі , де — рівномірна метрика.
Теорема 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]. Але в деяких випадках можна побудувати БНРН за теоремою Чебишова.
-
Потрібно наблизити багаточленом нульового степеня.
Нехай , , тоді — БНРН має вигляд (див. рис. 11):
\begin{equation} Q_0(x) = \frac{M + m}{2}, \end{equation}
де , а , — точки чебишовського альтернансу.
-
Опукла функція наближається багаточленом першого степеня
\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}
Геометрично ця процедура виглядає наступним чином (див. рис. 12). Проводимо січну через точки , . Для неї тангенс кута дорівнює . Проводимо паралельну їй дотичну до кривої , а потім пряму, рівновіддалену від січної та дотичної, яка і буде графіком . При цьому , , .
-
Потрібно наблизити , багаточленом степеня : . Введемо
\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 вказати точки чебишовського альтернансу , .
-
Потрібно наблизити , , БНРН степеня . Запишімо його у вигляді:
\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: Показати, що для парної (непарної) функції БНРН це багаточлен по парних (непарних) степенях .
-
Телескопічний метод. Дуже часто БНРН точно знайти не вдається. В таких випадках шукається багаточлен, близький до нього. Бажано щоб цей багаточлен був невисокого степеня (менше арифметичних операцій на його обчислення) Спочатку будують такий багаточлен
\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. Найкраще середньоквадратичне наближення
Література:
-
БЖК, стор. 156–166;
-
ЛМС, стор. 53–58.
Наблизимо функцію з гільбертового простору функціями із скінченно-вимірного підпростору простору . Тут — гільбертів простір із скалярним добутком , норма і відстань для якого визначаються формулами:
\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}
де — зростаюча функція. Можливі випадки:
-
, тоді та
\begin{equation} \langle u, v \rangle = \Int_a^b \rho(x) u(x) v(x) \diff x. \end{equation}
-
— функція стрибків, , де , . Якщо ввести , то
\begin{equation} \langle u, v \rangle = \Sum_{k = 1}^n \rho_k u(x_k) v(x_k). \end{equation}
Перший вибір використовується при апроксимації функцій неперервного аргументу, а другий — для табличних функцій.
8.5. Системи ортогональних функцій
Література:
-
БЖК, стор. 19–102;
-
ЛМС, стор. 388–382.
Як вибирати ортонормальну або ортогональну систему функцій ?
Розглянемо деякі з найбільш вживаних таких систем.
-
Якщо ; (ваговий множник), то — система багаточленів Лежандра, які мають вигляд
\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}
де і тому .
Зауваження: Якщо потрібно побудувати наближення на довільному проміжку , то бажано перейти до проміжку , тобто по на побудувати з заміною , та для побудови багаточлена НСКН для використати багаточлени Лежандра .
Можна робити навпаки — систему багаточленів перевести з на , але це вимагає більше обчислень і процес побудови ЕНСКН складніше.
-
Якщо , , скалярний добуток
\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}
-
гільбертів простір з ваговим множником . Система — багаточленів Якобі, (, — числові параметри) ортогональна в сенсі скалярного добутку
\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}
а , .
Коли : , а для : .
-
, , .
Цьому ваговому множнику відповідає система багаточленів Лагерра , які задаються диференціальною формулою:
\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}
де , та з нормою .
-
, . Систему ортогональних функцій вибираємо як систему багаточленів Ерміта , які задаються диференціальною формулою:
\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}
де , та .
-
, , . — -періодичні функції. За систему ортонормованих функцій вибираємо тригонометричну систему
\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}
формули для обчислення цих коефіцієнтів наведені в наступному пункті.
-
Якщо потрібно апроксимувати табличну функцію, то , , ,
\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. Середньоквадратичне наближення періодичних функцій
Література:
-
ЛМС, стор. 60–61;
-
БЖК, стор. 166–182.
Нехай маємо періодичну функцію неперервного аргументу, з періодом , тобто . В просторі визначений скалярний добуток:
\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. Метод найменших квадратів (МНК)
Література:
-
ЛМС, стор. 61–65;
-
В, стор. 88–93.
Нехай в результаті вимірювань функції маємо таблицю значень:
\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. Згладжуючі сплайни
Література:
- Марчук Г. И., «Методы вычислительной математики», стор. 181–184.
Якщо значення в точках неточно , то застосовують згладжування. Для цього треба побудувати нову таблицю із згладженими значеннями .
Наведемо деякі прості формули згладжування:
-
:
-
, ;
-
, ;
-
.
-
-
:
- , .
Їх отримуємо в такий спосіб: до застосовуємо апроксимацію, будуємо багаточлен НСКН
\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}
Оскільки матриці , — трьохдіагональні, то матриця буде п’ятидіагональною, а тому п’ятидіагональною буде й .
Розв’язують зазвичай системи з такими матрицями наступним чином:
-
або методом квадратних коренів; для матриць із такою структурою цей метод має складність , оскільки в нашому випадку півширина діагональної смуги .
-
або методом п’ятидіагональної прогонки [Самарский А. А., Николаев С. Н., «Методы решения сеточных уравнений»], що також має складність .
Зауваження: вибирають так: .