1. Аналіз похибок заокруглення
Література:
1.1. Види похибок
Нехай необхідно розв’язати рівняння
\begin{equation} \label{eq:1.1.1} A u = f. \end{equation}
За рахунок неточно заданих вхідних даних насправді ми маємо рівняння
\begin{equation} \label{eq:1.1.2} \tilde A \tilde u = \tilde f. \end{equation}
Означення: Назвемо неусувною похибкою.
Застосування методу розв’язання \eqref{eq:1.1.2} приводить до рівняння
\begin{equation} \label{eq:1.1.3} \tilde A_h \tilde u_h = \tilde f_h, \end{equation}
де — малий параметр.
Означення: Назвемо похибкою методу.
Реалізація методу на ЕОМ приводить до рівняння
\begin{equation} \label{eq:1.1.4} \tilde A_h^\star \tilde u_h^\star = \tilde f_h^\star. \end{equation}
Означення: Назвемо похибкою заокруглення.
Означення: Тоді повна похибка .
Означення: кажуть, що задача \eqref{eq:1.1.1} коректна, якщо
: ;
Задача \eqref{eq:1.1.1} стійка, тобто : :
\begin{equation} | A - \tilde A | < \delta, | f - \tilde f | < \delta \implies | u - \tilde u | < \varepsilon. \end{equation}
Якщо задача \eqref{eq:1.1.1} некоректна, то або розв’язок її не існує, або він неєдиний, або він нестійкий, тобто : :
\begin{equation} | A - \tilde A | < \delta, | f - \tilde f | < \delta \implies | u - \tilde u | > \varepsilon. \end{equation}
Означення: Абсолютна похибка .
Означення: Відносна похибка , або .
Означення: Значущими цифрами називаються всі цифри, починаючи з першої ненульової зліва.
Означення: Вірна цифра — це значуща, якщо абсолютна похибка за рахунок відкидання всіх молодших розрядів не перевищує одиниці розряду цієї цифри.
Тобто, якщо , то вірна, якщо (інколи , де наприклад, ).
1.2. Підрахунок похибок в ЕОМ
Підрахуємо відносну похибку заокруглення числа на ЕОМ з плаваючою комою. В -ічній системі числення число представляється у вигляді
\begin{equation} \label{eq:1.1.5} x = \pm (\alpha_1 \beta^{-1} + \alpha_2 \beta^{-2} + \ldots + \alpha_t \beta^{-t} + \ldots) \cdot \beta^p, \end{equation}
де , ,
Якщо в ЕОМ розрядів, то при відкиданні молодших розрядів ми оперуємо з наближеним значенням
\begin{equation} x^\star = \pm (\alpha_1 \beta^{-1} + \alpha_2 \beta^{-2} + \ldots + \alpha_t \beta^{-t}) \cdot \beta^p \end{equation}
і відповідно похибка заокруглення
\begin{equation} x - x^\star = \pm \beta^p \cdot (\alpha_{t + 1} \beta^{- t - 1} + \ldots). \end{equation}
Тоді її можна оцінити так
\begin{equation} \begin{aligned} \vert x - x^\star \vert &\le \beta^{p - t - 1} \cdot (\beta - 1) \cdot (1 + \beta^{-1} + \ldots) \le \newline &\le \beta^{p - t - 1} \cdot (\beta - 1) \cdot \frac{1}{1 - \beta^{-1}} = \beta^{p - t}. \end{aligned} \end{equation}
Якщо в представлені \eqref{eq:1.1.5} взяти , то . Звідси остаточно
\begin{equation} \delta x \le \frac{\beta^{p - t}}{\beta^{p - 1}} = \beta^{- t + 1}. \end{equation}
При більш точних способах заокруглення можна отримати оцінку . Число називається «машинним іпсилон». Наприклад, для , , .
1.3. Підрахунок похибок обчислення значення функції
Нехай задана функція . Необхідно обчислити її значення при наближеному значенні аргументів , де та оцінити похибку обчислення значення функції . Маємо
\begin{equation} \begin{aligned} \vert y - y^\star \vert &= \left\vert f\left(\vec x\right) - f \left(\vec x^\star\right) \right\vert = \newline &= \left\vert \Sum_{i = 1}^n \frac{\partial f}{\partial x_i} \left(\vec \xi\right) \cdot (x_i - x_i^\star) \right\vert \le \newline &\le \Sum_{i = 1}^n B_i \cdot \Delta x_i, \end{aligned} \end{equation}
де .
Тут
\begin{equation} U = \left\{ \vec x = (x_1, \ldots, x_n) : \left| x_i - x_i^\star \right| \le \Delta x_i \right\} \subset \Omega, \end{equation}
для . Отже з точністю до величин першого порядку малості по
\begin{align} \Delta x &= \Max_i \Delta x_i, \newline \Delta y &= \vert y - y^\star \vert \prec \Sum_{i = 1}^n b_i \cdot \Delta x_i, \end{align}
де та «» означає приблизно менше.
Розглянемо похибки арифметичних операцій.
-
Сума: , :
\begin{align} \Delta y &\le \Delta x_1 + \Delta x_2, \newline \delta y &\le \frac{\Delta x_1 + \Delta x_2}{x_1 + x_2} \le \Max(\delta x_1, \delta x_2). \end{align}
-
Різниця: , :
\begin{align} \Delta y &\le \Delta x_1 + \Delta x_2, \newline \delta y &\le \frac{x_2 \delta x_1 + x_1 \delta x_2}{x_1 - x_2}. \end{align}
При близьких , зростає відносна похибка (за рахунок втрати вірних цифр).
-
Добуток: , :
\begin{align} \Delta y &\prec x_2 \Delta x_1 + x_1 \Delta x_2, \newline \delta y &\le \delta x_1 + \delta x_2. \end{align}
-
Частка , :
\begin{align} \Delta y &\prec \frac{x_2 \Delta x_1 + x_1 \Delta x_2}{x_2^2}, \newline \delta y &\le \delta x_1 + \delta x_2. \end{align}
При малих зростає абсолютна похибка (за рахунок зростання результату ділення).
Означення: Пряма задача аналізу похибок: обчислення , по заданих , .
Означення: Обернена задача: знаходження , по заданих , . Якщо , маємо одну умову
\begin{equation} \Sum_{i = 1}^n b_i \cdot \Delta x_i < \varepsilon \end{equation}
для багатьох невідомих .
Вибирають їх із однієї з умов:
\begin{equation} \forall i: b_i \cdot \Delta x_i < \frac{\varepsilon}{n} \end{equation}
або
\begin{equation} \Delta x_i < \frac{\varepsilon}{\Sum_{i = 1}^n b_i}. \end{equation}