Журнал вычислительной математики и математической физики, 2021, T. 61, № 2, стр. 179-188

Неполиномиальная интерполяция функций с большими градиентами и ее применение

А. И. Задорин 1*, Н. А. Задорин 1**

1 Ин-т матем. СО РАН
630090 Новосибирск, пр-т Акад. Коптюга, 4, Россия

* E-mail: zadorin@ofim.oscsbras.ru
** E-mail: nik-zadorin@yandex.ru

Поступила в редакцию 02.06.2020
После доработки 20.08.2020
Принята к публикации 16.09.2020

Полный текст (PDF)

Аннотация

Исследуется вопрос интерполяции функции одной переменной с большими градиентами в области пограничного слоя. Проблема в том, что применение классических полиномиальных интерполяционных формул на равномерной сетке к функциям с большими градиентами может приводить к погрешностям порядка $O(1)$, несмотря на малость шага сетки. Исследована интерполяционная формула, построенная на основе подгонки к составляющей, задающей погранслойный рост функции. Получена оценка погрешности, зависящая от числа узлов интерполяции и равномерная по погранслойной составляющей и ее производным. Показано, как построенная интерполяционная формула может быть применена для построения формул численного дифференцирования и интегрирования, в двумерном случае. Получены соответствующие оценки погрешности. Библ. 21. Табл. 2.

Ключевые слова: пограничный слой, функция с большими градиентами, неполиномиальная интерполяционная формула, оценка погрешности.

1. ВВЕДЕНИЕ

Многочлен Лагранжа широко используется для интерполяции функций. Однако в случае функций с большими градиентами применение интерполяции Лагранжа может приводить к погрешностям порядка O(1) (см. [1]). Следовательно, актуален вопрос построения интерполяционных формул для функций с большими градиентами в пограничном слое. Интерполяционная формула должна строиться таким образом, чтобы ее погрешность была равномерной по резким изменениям функции в пограничном слое. Для построения таких формул можно выделить два подхода: применение интерполяции Лагранжа на сетке, сгущающейся в области пограничного слоя и построение специальных интерполяционных формул, основанных на подгонке к погранслойной составляющей функции.

Формула линейной интерполяции при наличии экспоненциального пограничного слоя на сетках Г.И. Шишкина (см. [2]) и Н.С. Бахвалова (см. [3]) исследовалась в [4]. В [5] доказано, что в случае экспоненциального пограничного слоя многочлен Лагранжа можно применять на сетке Шишкина. Для многочлена Лагранжа с произвольно заданным числом узлов интерполяции получены оценки погрешности, равномерные по малому параметру.

Подход, основанный на подгонке интерполяционной формулы к быстро растущей составляющей, менее исследован. В [6] рассмотрен вопрос интерполяции функции, представимой в виде

(1.1)
$u(x) = p(x) + \gamma \Phi (x),\quad x \in [a,b],$
где функция $u(x)$ является достаточно гладкой, погранслойная составляющая $\Phi (x)$ известна и имеет большие градиенты на интервале $[a,b]$, регулярная составляющая $p(x)$ ограничена вместе с производными до некоторого порядка, постоянная $\gamma $ не задана. В частности, декомпозиция (1.1) строилась в [7] для решения сингулярно возмущенной краевой задачи, при этом
(1.2)
$\Phi (x) = {{e}^{{ - mx/\varepsilon }}},\quad x \in [0,1],\quad m > 0,\quad \varepsilon \in (0,1].$
Производные функции $\Phi (x)$ неограниченно растут с уменьшением параметра $\varepsilon ,$ из-за чего погрешность полиномиальных интерполяционных формул становится порядка $O(1).$

В [6] построена интерполяционная формула на произвольном сеточном интервале $[{{x}_{{n - 1}}},{{x}_{n}}]$ с двумя узлами интерполяции ${{x}_{{n - 1}}}$ и ${{x}_{n}}$, точная на составляющей $\Phi (x).$ Доказано, что если $\Phi {\kern 1pt} '(x) \ne 0,$ то погрешность построенной формулы порядка $O(h)$ равномерна по составляющей $\Phi (x).$ Здесь $h$ – шаг сетки.

В [8] для функции вида (1.1) построена интерполяционная формула с произвольно заданным числом узлов интерполяции, точная на составляющей $\Phi (x)$. Однако в [8] нет оценки погрешности, равномерной по погранслойной составляющей $\Phi (x).$

В данной работе получим оценку погрешности интерполяционной формулы из [8] с $k$ узлами интерполяции. Рассмотрим применение этой формулы для построения формул численного дифференцирования и интегрирования, а также в двумерном случае.

2. АНАЛИЗ ИНТЕРПОЛЯЦИОННОЙ ФОРМУЛЫ

Пусть ${{\Omega }^{h}}$ – равномерная сетка интервала $[a,b]$:

${{\Omega }^{h}} = \{ {{x}_{n}}\,:{{x}_{n}} = a + (n - 1)h,\;{{x}_{1}} = a,\;{{x}_{k}} = b,\;n = 1,2, \ldots ,k\} .$
Предполагаем, что функция $u(x)$ вида (1.1) задана в узлах сетки, ${{u}_{n}} = u({{x}_{n}}).$

Пусть ${{L}_{n}}(u,x)$ – многочлен Лагранжа для функции $u(x)$ с узлами интерполяции ${{x}_{1}}, \ldots ,{{x}_{n}}.$ Покажем, что применение многочлена Лагранжа к функции вида (1.1) может приводить к значительным погрешностям. Для этого зададим $u(x) = {{e}^{{ - x/\varepsilon }}}$ при $x \in [0,1].$ Пусть $\varepsilon = h,$ тогда при интерполяции на интервале $[0,h]$ выполнится ${{L}_{2}}(u,h{\text{/}}2) - u(h{\text{/}}2) \approx 0.075.$ Итак, точность интерполяции не повышается с уменьшением шага $h,$ если $\varepsilon = h$.

В [8] для интерполяции функции вида (1.1) построена интерполяционная формула

(2.1)
${{L}_{{\Phi ,k}}}(u,x) = {{L}_{{k - 1}}}(u,x) + \frac{{[{{x}_{1}}, \ldots ,{{x}_{k}}]u}}{{[{{x}_{1}}, \ldots ,{{x}_{k}}]\Phi }}[\Phi (x) - {{L}_{{k - 1}}}(\Phi ,x)],$
где $[{{x}_{1}}, \ldots ,{{x}_{k}}]u$ – разделенная разность для функции $u(x)$ (см. [9]).

Пусть

(2.2)
${{\Phi }^{{(k - 1)}}}(x) \ne 0,\quad x \in (a,b).$
Тогда знаменатель в (2.1) не обращается в нуль и формула задана корректно.

Покажем, что формула (2.1) является интерполяционной. Преобразуем формулу (2.1). В соответствии с [9], справедливо соотношение

(2.3)
${{L}_{k}}(u,x) = {{L}_{{k - 1}}}(u,x) + {{r}_{{k - 1}}}(x)[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{k}}]u,$
где ${{r}_{{k - 1}}}(x) = (x - {{x}_{1}})(x - {{x}_{2}}) \cdots (x - {{x}_{{k - 1}}}).$ Учитывая (2.3), из (2.1) получаем
(2.4)
${{L}_{{\Phi ,k}}}(u,x) = {{L}_{k}}(u,x) + \frac{{[{{x}_{1}}, \ldots ,{{x}_{k}}]u}}{{[{{x}_{1}}, \ldots ,{{x}_{k}}]\Phi }}[\Phi (x) - {{L}_{k}}(\Phi ,x)].$
Очевидно, что формула (2.4) является интерполяционной с узлами интерполяции ${{x}_{1}}$, $ \ldots ,{{x}_{k}}$. Следовательно, и формула в виде (2.1) является интерполяционной.

Учитывая, что, согласно [9, с. 44],

(2.5)
$\Phi (x) - {{L}_{{k - 1}}}(\Phi ,x) = {{r}_{{k - 1}}}(x)[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},x]\Phi $
и
(2.6)
$u(x) - {{L}_{k}}(u,x) = \frac{{{{u}^{{(k)}}}(s)}}{{k!}}{{r}_{k}}(x),\quad \exists s \in (a,b),$
получаем, что формула (2.1) является точной на многочленах степени $(k - 2)$ и на функции $\gamma \Phi (x).$

Лемма 1. Пусть выполнено условие (2.2),

(2.7)
${{M}_{k}}(\Phi ,x) = \frac{{\Phi (x) - {{L}_{{k - 1}}}(\Phi ,x)}}{{\Phi ({{x}_{k}}) - {{L}_{{k - 1}}}(\Phi ,{{x}_{k}})}}.$
Тогда

(2.8)
$\mathop {max}\limits_x \left| {{{L}_{{\Phi ,k}}}(u,x) - u(x)} \right| \leqslant \mathop {max}\limits_x \left| {{{L}_{{k - 1}}}(p,x) - p(x)} \right|(1 + \mathop {max}\limits_x \left| {{{M}_{k}}(\Phi ,x)} \right|).$

Доказательство. Интерполяционная формула (2.1) точна на составляющей $\Phi (x),$ поэтому

${{L}_{{\Phi ,k}}}(u,x) - u(x) = {{L}_{{k - 1}}}(p,x) - p(x) + \frac{{[{{x}_{1}}, \ldots ,{{x}_{k}}]p}}{{[{{x}_{1}}, \ldots ,{{x}_{k}}]\Phi }}[\Phi (x) - {{L}_{{k - 1}}}(\Phi ,x)].$

Учитывая (2.5), получаем

(2.9)
${{L}_{{\Phi ,k}}}(u,x) - u(x) = [{{L}_{{k - 1}}}(p,x) - p(x)] - [{{L}_{{k - 1}}}(p,{{x}_{k}}) - p({{x}_{k}})]{{M}_{k}}(\Phi ,x),$
где ${{M}_{k}}(\Phi ,x)$ соответствует (2.7). Теперь из (2.9) получаем (2.8). Лемма доказана.

Следствие 1. Учитывая (2.6), из (2.8) получаем

$\mathop {max}\limits_x \left| {{{L}_{{\Phi ,k}}}(u,x) - u(x)} \right| \leqslant \mathop {max}\limits_x \left| {{{p}^{{(k - 1)}}}(x)} \right|(1 + \mathop {max}\limits_x \left| {{{M}_{k}}(\Phi ,x)} \right|){{h}^{{k - 1}}},\quad x \in [a,b].$

Лемма 2. Пусть

(2.10)
${{\Phi }^{{(k - 1)}}}(x) \ne 0,\quad {{\Phi }^{{(k)}}}(x) \ne 0,\quad k \geqslant 2,\quad x \in (a,b).$
Тогда

(2.11)
$\mathop {max}\limits_x \left| {{{L}_{{\Phi ,k}}}(u,x) - u(x)} \right| \leqslant 2\mathop {max}\limits_x \left| {{{L}_{{k - 1}}}(p,x) - p(x)} \right|,\quad x \in [a,b].$

Доказательство. Рассмотрим случай, когда производные ${{\Phi }^{{(k - 1)}}}(x),\;{{\Phi }^{{(k)}}}(x)$ одного знака:

(2.12)
${{\Phi }^{{(k - 1)}}}(x) > 0,\quad {{\Phi }^{{(k)}}}(x) > 0,\quad x \in (a,b),$
или

(2.13)
${{\Phi }^{{(k - 1)}}}(x) < 0,\quad {{\Phi }^{{(k)}}}(x) < 0,\quad x \in (a,b).$

Остановимся на условиях (2.12), условия (2.13) рассматриваются аналогично. Учитывая (2.5) и (2.7), получаем

(2.14)
${{M}_{k}}(\Phi ,x) = \frac{{{{r}_{{k - 1}}}(x)[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},x]\Phi }}{{{{r}_{{k - 1}}}({{x}_{k}})[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},{{x}_{k}}]\Phi }}.$

В соответствии с [9] для некоторого $s \in (a,b)$

(2.15)
$[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},x]\Phi = {{\Phi }^{{(k - 1)}}}(s){\text{/}}(k - 1)!.$
Согласно (2.12), ${{\Phi }^{{(k - 1)}}}(x) > 0$. С учетом (2.15) имеем $z(x) = [{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},x]\Phi > 0.$ В соответствии с [9, с. 82] для производной разделенной разности справедливо соотношение
$z{\kern 1pt} '(x) = [{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{k - 1}}},x,x]\Phi .$
Согласно (2.12), ${{\Phi }^{{(k)}}}(x) > 0.$ Учитывая (2.15), получаем $z{\kern 1pt} '(x) \geqslant 0,$ $x \in [a,b].$ Итак, функция $z(x)$ на  интервале $(a,b)$ является положительной и возрастающей. Учитывая неравенство $\left| {{{r}_{{k - 1}}}(x)} \right| \leqslant {{r}_{{k - 1}}}({{x}_{k}})$, из (2.14) получаем
(2.16)
$\left| {{{M}_{k}}(\Phi ,x)} \right| \leqslant 1,\quad x \in [a,b].$
Теперь из (2.8) следует (2.11).

Остановимся на случае, когда производные ${{\Phi }^{{(k - 1)}}}(x)$ и ${{\Phi }^{{(k)}}}(x)$ разных знаков. Представление (1.1) для $u(x)$ может быть записано в виде

(2.17)
$u(a + b - x) = p(a + b - x) + \gamma \Phi (a + b - x),\quad x \in [a,b].$
Зададим ${v}(x) = u(a + b - x),\;\Psi (x) = \Phi (a + b - x).$ Тогда (2.17) принимает вид

$v(x) = p(a + b - x) + \gamma \Psi (x),\quad x \in [a,b].$

Пусть $k$ четно. Тогда

${{\Psi }^{{(k - 1)}}}(x) = - {{\Phi }^{{(k - 1)}}}(a + b - x),\quad {{\Psi }^{{(k)}}}(x) = {{\Phi }^{{(k)}}}(a + b - x).$
Следовательно, производные ${{\Psi }^{{(k - 1)}}}(x)$ и ${{\Psi }^{{(k)}}}(x)$ одного знака. Итак, ограничения (2.12) или (2.13) справедливы для функции $\Psi (x).$ Мы доказали, что в этом случае $\left| {{{M}_{k}}(\Psi ,x)} \right| \leqslant 1,$ поэтому в соответствии с (2.8) справедливо неравенство
$\left| {{{L}_{{\Psi ,k}}}(v,x) - v(x)} \right| \leqslant 2\mathop {max}\limits_s \left| {{{L}_{{k - 1}}}(p,s) - p(s)} \right|,\quad x,s \in [a,b].$
Это неравенство можно записать в виде
(2.18)
$\left| {{{L}_{{\Psi ,k}}}(v,a + b - x) - v(a + b - x)} \right| \leqslant 2\mathop {max}\limits_s \left| {{{L}_{{k - 1}}}(p,s) - p(s)} \right|,\quad x,s \in [a,b].$
Далее учитываем, что $v(a + b - x) = u(x),$ $\Psi (a + b - x) = \Phi (x)$, и из (2.18) получаем требуемую оценку (2.11).

Случай нечетного $k$ рассматривается аналогично. Лемма доказана.

В соответствии с леммой 2 при ограничениях (2.10) оценка погрешности построенной интерполяционной формулы (2.1) сведена к оценке погрешности интерполяции многочленом Лагранжа ${{L}_{{k - 1}}}(p,x)$ на регулярной составляющей $p(x).$ Для оценки погрешности интерполяции многочленом Лагранжа ${{L}_{{k - 1}}}(p,x)$ известны оценки через $max\left| {{{p}^{{(k - 1)}}}(x)} \right|$ и в интегральной форме.

С учетом известной оценки прогрешности интерполяции многочленом Лагранжа на равномерной сетке (см. [9]):

(2.19)
$\left| {{{L}_{k}}(p,x) - p(x)} \right| \leqslant \mathop {max}\limits_s \left| {{{p}^{{(k)}}}(s)} \right|{{h}^{k}},\quad x \in [a,b],$
из (2.11) получаем

(2.20)
$\mathop {max}\limits_x \left| {{{L}_{{\Phi ,k}}}(u,x) - u(x)} \right| \leqslant 2\mathop {max}\limits_x \left| {{{p}^{{(k - 1)}}}(x)} \right|{{h}^{{k - 1}}},\quad x \in [a,b].$

Для отдельных значений $k$ можно выписать оценку погрешности интерполяции многочленом Лагранжа в интегральной форме. Например,

(2.21)
$\left| {{{L}_{2}}(p,x) - p(x)} \right| \leqslant h\int\limits_a^b \left| {p{\kern 1pt} '{\kern 1pt} '(s)} \right|ds,\quad x \in [a,b].$
Тогда из (2.11 ) получаем

$\mathop {max}\limits_x \left| {{{L}_{{\Phi ,3}}}(u,x) - u(x)} \right| \leqslant 2h\int\limits_a^b \,\left| {p{\kern 1pt} '{\kern 1pt} '(s)} \right|ds,\quad x \in [a,b].$

Замечание 1. Условия (2.10) выполнены для пограничных слоев следующих видов:

экспоненциального пограничного слоя, когда $\Phi (x)$ соответствует (1.2);

степенного пограничного слоя, $\Phi (x) = {{(x + \varepsilon )}^{\alpha }},$ $0 < \alpha < 1,$ $x > 0,$ $\varepsilon > 0;$

слоя с логарифмической особенностью, $\Phi (x) = lnx,$ $x \geqslant \varepsilon > 0.$

3. ПОСТРОЕНИЕ КВАДРАТУРНОЙ ФОРМУЛЫ ДЛЯ ФУНКЦИИ С БОЛЬШИМИ ГРАДИЕНТАМИ

Рассмотрим вопрос численного интегрирования функции вида (1.1). В [10], [11] показано, что применение составной квадратурной формулы Ньютона–Котеса при наличии экспоненциального пограничного слоя при достаточно малых значениях параметра $\varepsilon $ приводит к погрешностям порядка $O(h),$ несмотря на увеличение числа узлов базовой квадратурной формулы. Например, составная формула Симпсона при $\varepsilon = 1$ имеет погрешность порядка $O({{h}^{4}})$, а при $\varepsilon \leqslant h$ погрешность становится порядка $O(h).$

Таким образом, в случае равномерной сетки неприемлемо применять формулы Ньютона–Котеса для численного интегрирования функций вида (1.1). В [10]–[12] обоснованы аналоги формул Ньютона–Котеса с числом узлов от двух до пяти, построенные на основе замены подынтегральной функции $u(x)$ интерполянтом (2.1) вместо многочлена Лагранжа. В этих работах доказано, что построенные составные квадратурные формулы обладают погрешностью порядка $O({{h}^{{k - 1}}})$ равномерно по составляющей $\Phi (x)$ и ее производным, где $k$ – число узлов базовой квадратурной формулы. При оценке погрешности накладывается ограничение ${{\Phi }^{{(k - 1)}}}(x) \ne 0$ на каждом интервале с $k$ узлами, на котором строится базовая квадратурная формула. Это условие выполнено для всех функций из замечания 1. Доказано, что если выделить область пограничного слоя и вне этой области строить формулы Ньютона–Котеса, то точность составной квадратурной формулы повышается на порядок и при этом погрешность становится такой же, как в регулярном случае, когда интегрируемая функция имеет ограниченные производные.

В [13] на основе интерполянта (2.1) построен и обоснован аналог формулы Ньютона–Котеса в общем случае, когда квадратурная формула содержит $k$ узлов. При обосновании оценки погрешности потребовались ограничения на знак остаточного члена квадратурной формулы в случае функции $\Phi (x).$ Выполнение требуемых ограничений можно проверить для отдельных значений $k$ на основе задаваемых в ряде работ таблиц, в которых указан вид остаточного члена квадратурной формулы.

Полученные оценки погрешности интерполяции (2.11), (2.20) можно применить для оценивания погрешности квадратурной формулы, построенной в [13]. При этом накладываемые ограничения (2.10) имеют более простой для проверки вид, чем ограничения в [13].

Итак, применяем интерполяционную формулу в виде (2.4) для построения квадратурной формулы с $k$ узлами:

$\int\limits_a^b \,u(x)dx \approx \int\limits_a^b \,{{L}_{{\Phi ,k}}}(u,x)dx.$
Учитывая (2.4), полученную квадратурную формулу можно записать в виде
$\int\limits_a^b \,u(x)dx \approx {{S}_{{\Phi ,k}}}(u) = {{S}_{k}}(u) + \frac{{[{{x}_{1}}, \ldots ,{{x}_{k}}]u}}{{[{{x}_{1}}, \ldots ,{{x}_{k}}]\Phi }}\left[ {\int\limits_a^b \,\Phi (x)dx - {{S}_{k}}(\Phi )} \right],$
где ${{S}_{k}}(u)$ – замкнутая формула Ньютона–Котеса с $k$ узлами,
${{S}_{k}}(u) = \int\limits_a^b \,{{L}_{k}}(u,x)dx.$
Предполагается, что интеграл от функции $\Phi (x)$ можно вычислить в явном виде. Это условие выполнено для функций из замечания 1.

Лемма 3. Пусть выполнены условия (2.10). Тогда

$\left| {\int\limits_a^b \,u(x)dx - {{S}_{{\Phi ,k}}}(u)} \right| \leqslant 2(b - a)\mathop {max}\limits_{x \in [a,b]} \left| {{{L}_{{k - 1}}}(p,x) - p(x)} \right| \leqslant 2(b - a)\mathop {max}\limits_{x \in [a,b]} \left| {{{p}^{{(k - 1)}}}(x)} \right|{{h}^{{k - 1}}}.$
Доказательство леммы следует из оценок (2.11), (2.19). Итак, получена оценка погрешности квадратурной формулы, равномерная по составляющей $\Phi (x).$ Погрешность $\left| {{{L}_{{k - 1}}}(p,x) - p(x)} \right|$ для отдельных значений $k$ может быть оценена более точно в интегральной форме, например, как в (2.21).

4. ФОРМУЛЫ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯ

Покажем необходимость построения специальных формул численного дифференцирования в случае функций с большими градиентами. Рассмотрим классическую формулу

$u{\kern 1pt} '(x) \approx \frac{{{{u}_{n}} - {{u}_{{n - 1}}}}}{h},\quad x \in [{{x}_{{n - 1}}},{{x}_{n}}].$
Тогда при $u(x) = {{e}^{{ - x/\varepsilon }}},$ $x \in [0,1]$, и $\varepsilon = h$ выполнится
$\varepsilon \left| {\frac{{{{u}_{1}} - {{u}_{0}}}}{h} - u{\kern 1pt} '(0)} \right| = {{e}^{{ - 1}}}.$
Получаем, что точность формулы не повышается при $h \to 0,$ если $\varepsilon = h$, и требуется разработка формул численного дифференцирования при наличии пограничного слоя. Умножением на параметр $\varepsilon $ вычисляется относительная погрешность, так как производная $u{\kern 1pt} '(x)$ порядка $O(1{\text{/}}\varepsilon ).$

Известно, что классические разностные формулы для производных, построенные дифференцированием многочлена Лагранжа, можно применять на сетках, сгущающихся в области пограничного слоя. В [14]–[17] на сетках Шишкина и Бахвалова получены оценки относительной погрешности, равномерные по параметру $\varepsilon .$

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

Интерполяционную формулу (2.1) можно применить для построения формул численного дифференцирования. Дифференцируя интерполянт (2.1), получаем

(4.1)
${{u}^{{(j)}}}(x) \approx L_{{\Phi ,k}}^{{(j)}}(u,x) = L_{{k - 1}}^{{(j)}}(u,x) + \frac{{[{{x}_{1}}, \ldots ,{{x}_{k}}]u}}{{[{{x}_{1}}, \ldots ,{{x}_{k}}]\Phi }}[{{\Phi }^{{(j)}}}(x) - L_{{k - 1}}^{{(j)}}(\Phi ,x)],\quad x \in [{{x}_{1}},{{x}_{k}}].$
В [18] в случае экспоненциального пограничного слоя были получены равномерные по $\varepsilon $ оценки относительной погрешности при вычислении первой производной при $k = 2,3$ и второй производной при $k = 3,4$, где $k$ – число узлов в формуле (4.1), и $\Phi (x)$ соответствует (1.2).

В случае погранслойной составляющей $\Phi (x)$ общего вида оценки относительной погрешности при вычислении первой производной при $k = 2,3$ и второй производной при $k = 3$ были получены в [19]. Для пояснения остановимся на случае вычисления первой производной по формуле

$u{\kern 1pt} '(x) \approx L_{{\Phi ,2}}^{'}(u,x) = \frac{{{{u}_{n}} - {{u}_{{n - 1}}}}}{{{{\Phi }_{n}} - {{\Phi }_{{n - 1}}}}}\Phi {\kern 1pt} '(x),\quad x \in [{{x}_{{n - 1}}},{{x}_{n}}],$
соответствующей (4.1). В [19] доказана следующая лемма.

Лемма 4. Предположим, что

$\left| {\Phi {\kern 1pt} '(x)} \right| \leqslant {{B}_{n}},\quad x \in [{{x}_{{n - 1}}},{{x}_{n}}]$
и для некоторой постоянной ${{G}_{n}}$
$\frac{{\int\limits_{{{x}_{{n - 1}}}}^{{{x}_{n}}} \,\left| {\Phi {\kern 1pt} '{\kern 1pt} '(s)} \right|ds}}{{{{B}_{n}}\left| {{{\Phi }_{n}} - {{\Phi }_{{n - 1}}}} \right|}} \leqslant {{G}_{n}}.$
Тогда

(4.2)
$\left| {\frac{{L_{{\Phi ,2}}^{'}(u,x) - u{\kern 1pt} '(x)}}{{{{B}_{n}}}}} \right| \leqslant {{G}_{n}}\int\limits_{{{x}_{{n - 1}}}}^{{{x}_{n}}} \,\left| {p{\kern 1pt} '(s)} \right|ds + \frac{1}{{{{B}_{n}}}}\int\limits_{{{x}_{{n - 1}}}}^{{{x}_{n}}} \,\left| {p{\kern 1pt} '{\kern 1pt} '(s)} \right|ds,\quad x \in [{{x}_{{n - 1}}},{{x}_{n}}].$

В случае, когда $\Phi (x)$ соответствует (1.2), выполнится ${{B}_{n}} = m{\text{/}}\varepsilon ,$ ${{G}_{n}} = 1$. Тогда из (4.2) получаем

(4.3)
$\varepsilon \left| {L_{{\Phi ,2}}^{'}(u,x) - u{\kern 1pt} '(x)} \right| \leqslant \int\limits_{{{x}_{{n - 1}}}}^{{{x}_{n}}} \,\left[ {\left| {p{\kern 1pt} '(s)} \right| + \frac{\varepsilon }{m}\left| {p{\kern 1pt} '{\kern 1pt} '(s)} \right|} \right]ds,\quad x \in [{{x}_{{n - 1}}},{{x}_{n}}].$
С помощью леммы 4 получена оценка погрешности (4.3) порядка $O(h),$ равномерная по составляющей $\Phi (x).$

Аналогично можно воспользоваться леммой 4 для оценивания погрешности в случае другой функции $\Phi (x),$ например, из замечания 1.

5. ДВУМЕРНАЯ ИНТЕРПОЛЯЦИОННАЯ ФОРМУЛА

Исследуем формулу для интерполяции функции двух переменных с большими градиентами. Эта формула является обобщением формулы (2.1) и для получения оценки погрешности будет использована лемма 2.

Итак, пусть для достаточно гладкой функции $u(x,y)$ справедливо представление

(5.1)
$u(x,y) = p(x,y) + {{d}_{1}}(y)\Phi (x) + {{d}_{2}}(x)\Theta (y) + {{d}_{3}}\Phi (x)\Theta (y),$
где $(x,y) \in \bar {\Omega },$ $\bar {\Omega } = [a,b] \times [c,d]$. Предполагаем, что в (5.1) регулярная составляющая $p(x,y)$ и функции ${{d}_{1}}(y),$ ${{d}_{2}}(x)$ не заданы в явном виде и имеют ограниченные производные до некоторого порядка, а функции $\Phi (x),$ $\Theta (y)$ известны и имеют большие градиенты в области пограничного слоя. Остановимся на примере такой функции $u(x,y).$

Рассмотрим сингулярно возмущенную задачу для эллиптического уравнения

(5.2)
$\begin{gathered} \varepsilon {{u}_{{xx}}} + \varepsilon {{u}_{{yy}}} + a(x){{u}_{x}} + b(y){{u}_{y}} - c(x,y)u = f(x,y),\quad (x,y) \in \Omega ; \\ u(x,y) = g(x,y),\quad (x,y) \in \Gamma , \\ \end{gathered} $
где $\Gamma = \bar {\Omega }{\backslash }\Omega .$ Предполагается, что функции $a,b,c,f,g$ – достаточно гладкие и угловые пограничные слои отсутствуют:
$a(x) \geqslant \alpha > 0,\quad b(y) \geqslant \beta > 0,\quad c(x,y) \geqslant 0,\quad \varepsilon > 0.$
В соответствии с [20] решение задачи (5.2) представимо в виде (5.1) при

$\Phi (x) = {{e}^{{ - a(0)x/\varepsilon }}},\quad \Theta (y) = {{e}^{{ - b(0)y/\varepsilon }}}.$

Зададим сетку ${{\Omega }^{h}} = \Omega _{x}^{{{{h}_{1}}}} \times \Omega _{y}^{{{{h}_{2}}}}$ в исходной области $\bar {\Omega }:$

$\Omega _{x}^{{{{h}_{1}}}} = \{ {{x}_{i}}:{{x}_{i}} = a + (i - 1){{h}_{1}},\;i = 1,2, \ldots ,{{k}_{1}}\} ,\quad {{h}_{1}} = (b - a){\text{/}}({{k}_{1}} - 1),$
$\Omega _{y}^{{{{h}_{2}}}} = \{ {{y}_{j}}:{{y}_{j}} = c + (j - 1){{h}_{2}},\;j = 1,2, \ldots ,{{k}_{2}}\} ,\quad {{h}_{2}} = (d - c){\text{/}}({{k}_{2}} - 1),\quad {{k}_{1}} \geqslant 2,\quad {{k}_{2}} \geqslant 2.$
Построим интерполяционную формулу для функций вида (5.1), точную на погранслойных составляющих.

Сначала при заданном значении $y$ в соответствии с (2.1) зададим интерполяцию по $x:$

(5.3)
${{L}_{x}}(u,x,y) = {{L}_{{{{k}_{1}} - 1}}}(u,x,y) + \frac{{[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{{{k}_{1}}}}}]u}}{{[{{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{{{k}_{1}}}}}]\Phi }}[\Phi (x) - {{L}_{{{{k}_{1}} - 1}}}(\Phi ,x)].$
В (5.3) ${{L}_{{{{k}_{1}} - 1}}}(u,x,y)$ соответствует интерполяции по $x$ функции $u(x,y)$ многочленом Лагранжа с узлами интерполяции ${{x}_{1}},{{x}_{2}}, \ldots ,{{x}_{{{{k}_{1}} - 1}}}$ при заданном $y.$

По аналогии с (5.3) зададим интерполяционную формулу по $y$:

(5.4)
${{L}_{y}}(u,x,y) = {{L}_{{{{k}_{2}} - 1}}}(u,x,y) + \frac{{[{{y}_{1}},{{y}_{2}}, \ldots ,{{y}_{{{{k}_{2}}}}}]u}}{{[{{y}_{1}},{{y}_{2}}, \ldots ,{{y}_{{{{k}_{2}}}}}]\Theta }}[\Theta (y) - {{L}_{{{{k}_{2}} - 1}}}(\Theta ,y)].$

Используя (5.4), после интерполяции по $x$ осуществляем интерполяцию по $y$:

(5.5)
${{L}_{{\Phi ,\Theta ,{{k}_{1}},{{k}_{2}}}}}(u,x,y) = {{L}_{{{{k}_{2}} - 1}}}({{L}_{x}}(u,x,y),x,y) + \frac{{[{{y}_{1}},{{y}_{2}}, \ldots ,{{y}_{{{{k}_{2}}}}}]{{L}_{x}}(u,x,y)}}{{[{{y}_{1}},{{y}_{2}}, \ldots ,{{y}_{{{{k}_{2}}}}}]\Theta }}[\Theta (y) - {{L}_{{{{k}_{2}} - 1}}}(\Theta ,y)].$
Итак, построена двумерная интерполяционная формула (5.3)(5.5).

Формула (5.3)(5.5) задана корректно, если знаменатель в (5.3) и (5.5) не обращается в нуль. В соответствии с соотношением (2.15) это условие выполняется, если

(5.6)
${{\Phi }^{{({{k}_{1}} - 1)}}}(x) \ne 0,\quad x \in (a,b),\quad {{\Theta }^{{({{k}_{2}} - 1)}}}(y) \ne 0,\quad y \in (c,d).$
Несложно получить, что двумерная интерполяционная формула (5.3)(5.5) является точной на функциях

${{x}^{i}},\;\;{{x}^{i}}\Theta (y),\;\;i = 0,1, \ldots ,{{k}_{1}} - 2,\;\;{{y}^{j}},\;\;{{y}^{j}}\Phi (x),\;\;j = 0,1, \ldots ,{{k}_{2}} - 2,\;\;\Phi (x)\Theta (y).$

Формула (5.3)(5.5) исследовалась в [21], где доказана следующая лемма.

Лемма 5. Пусть выполнены условия (5.6). Тогда для некоторой постоянной $C$, не зависящей от функций $\Phi (x),$ $\Theta (y)$ и их производных, справедлива оценка погрешности

(5.7)
$\left| {u(x,y) - {{L}_{{\Phi ,\Theta ,{{k}_{1}},{{k}_{2}}}}}(u,x,y)} \right| \leqslant C(1 + \mathop {max}\limits_x \left| {{{M}_{{{{k}_{1}}}}}(\Phi ,x)} \right|)(1 + \mathop {max}\limits_y \left| {{{M}_{{{{k}_{2}}}}}(\Theta ,y)} \right|)[h_{1}^{{{{k}_{1}} - 1}} + h_{2}^{{{{k}_{2}} - 1}}],$
где $(x,y) \in \bar {\Omega }$, ${{M}_{{{{k}_{1}}}}}(\Phi ,x),$ ${{M}_{{{{k}_{2}}}}}(\Theta ,y)$ определяются согласно (2.7).

Оценка погрешности (5.7) зависит от погранслойных составляющих $\Phi (x),$ $\Theta (y).$ Улучшим эту оценку.

Лемма 6. Пусть

(5.8)
${{\Phi }^{{({{k}_{1}} - 1)}}}(x) \ne 0,\quad {{\Phi }^{{({{k}_{1}})}}}(x) \ne 0,\quad {{k}_{1}} \geqslant 2,\quad x \in (a,b),$
(5.9)
${{\Theta }^{{({{k}_{2}} - 1)}}}(y) \ne 0,\quad {{\Theta }^{{({{k}_{2}})}}}(y) \ne 0,\quad {{k}_{2}} \geqslant 2,\quad y \in (c,d).$
Тогда

(5.10)
$\left| {u(x,y) - {{L}_{{\Phi ,\Theta ,{{k}_{1}},{{k}_{2}}}}}(u,x,y)} \right| \leqslant 4C[h_{1}^{{{{k}_{1}} - 1}} + h_{2}^{{{{k}_{2}} - 1}}],\quad x \in [a,b],\quad y \in [c,d].$

Доказательство. По аналогии с леммой 2, где обоснована оценка (2.16) при выполнении условий (2.10), получаем, что при выполнении условий (5.8) и (5.9) справедливы оценки

$\left| {{{M}_{{{{k}_{1}}}}}(\Phi ,x)} \right| \leqslant 1,\quad \left| {{{M}_{{{{k}_{2}}}}}(\Theta ,y)} \right| \leqslant 1.$
Теперь из (5.7) следует (5.10), что доказывает лемму.

Замечание 2. Если исходную область $[a,b] \times [c,d]$ разбить на непересекающиеся прямоугольные ячейки с ${{k}_{1}}$ узлами по $x$ и ${{k}_{2}}$ узлами по $y,$ то при интерполяции функции $u(x,y)$ можно применить интерполяционную формулу (5.3)–(5.5) в каждой ячейке. Если ячейка не пересекается с областью больших градиентов функции $u(x,y),$ то в ней можно применять классические интерполяционные формулы, основанные на многочленах Лагранжа.

6. РЕЗУЛЬТАТЫ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ

Рассмотрим функцию вида (1.1):

$u(x) = cos(\pi x) + {{e}^{{ - x/\varepsilon }}},\quad x \in [0,1],\quad \varepsilon > 0.$
При этом $\Phi (x) = {{e}^{{ - x/\varepsilon }}}.$ Предполагаем, что число сеточных интервалов $N$ четно и разобьем интервал $[0,1]$ на непересекающиеся интервалы вида $[{{x}_{{n - 1}}},{{x}_{{n + 1}}}],$ где $n = 1,3, \ldots ,N - 1.$ На каждом таком интервале зададим интерполяционную формулу (2.1) при $k = 3$:
$\begin{gathered} {{L}_{{\Phi ,3}}}(u,x) = {{u}_{{n - 1}}} + \frac{{{{u}_{n}} - {{u}_{{n - 1}}}}}{h}(x - {{x}_{{n - 1}}}) + \frac{{{{u}_{{n + 1}}} - 2{{u}_{n}} + {{u}_{{n - 1}}}}}{{{{\Phi }_{{n + 1}}} - 2{{\Phi }_{n}} + {{\Phi }_{{n - 1}}}}} \times \\ \, \times \left[ {\Phi (x) - {{\Phi }_{{n - 1}}} - \frac{{{{\Phi }_{n}} - {{\Phi }_{{n - 1}}}}}{h}(x - {{x}_{{n - 1}}})} \right],\quad x \in [{{x}_{{n - 1}}},{{x}_{{n + 1}}}]. \\ \end{gathered} $
Зададим погрешность интерполяции многочленом Лагранжа

${{\Delta }_{{\varepsilon ,N}}} = \mathop {max}\limits_{1 \leqslant n \leqslant N} \left| {u({{{\tilde {x}}}_{n}}) - {{L}_{3}}(u,{{{\tilde {x}}}_{n}})} \right|,\quad {{\tilde {x}}_{n}} = ({{x}_{n}} + {{x}_{{n - 1}}}){\text{/}}2.$

В табл. 1 приведена погрешность интерполяции ${{\Delta }_{{\varepsilon ,N}}}$ многочленом Лагранжа ${{L}_{3}}(u,x)$ в зависимости от $\varepsilon $ и $N.$ При малых значениях $\varepsilon $ погрешность не убывает при уменьшении шага сетки. Это подтверждает неприемлемость применения для интерполяции многочлена Лагранжа на равномерной сетке при наличии пограничного слоя.

Таблица 1.  

Погрешность интерполяции многочленом Лагранжа ${{L}_{3}}(u,x)$

$\varepsilon $ $N$
$3 \times {{2}^{3}}$ $3 \times {{2}^{4}}$ $3 \times {{2}^{5}}$ $3 \times {{2}^{6}}$ $3 \times {{2}^{7}}$ $3 \times {{2}^{8}}$
1 $1.36e - 4$ $1.72e - 5$ $2.15e - 6$ $2.68e - 7$ $3.36e - 8$ $4.19e - 9$
${{10}^{{ - 1}}}$ $3.15e - 3$ $4.71e - 4$ $6.45e - 5$ $8.43e - 6$ $1.08e - 6$ $1.36e - 7$
${{10}^{{ - 2}}}$ $2.62e - 1$ $1.14e - 1$ $3.00e - 2$ $5.68e - 3$ $8.82e - 4$ $1.23e - 4$
${{10}^{{ - 3}}}$ $3.75e - 1$ $3.75e - 1$ $3.70e - 1$ $3.05e - 1$ $1.58e - 1$ $4.82e - 2$
${{10}^{{ - 4}}}$ $3.75e - 1$ $3.75e - 1$ $3.75e - 1$ $3.75e - 1$ $3.75e - 1$ $3.74e - 1$

Примечание. Здесь и в табл. 2 $e - m$ обозначает ${{10}^{{ - m}}}.$

В табл. 2 аналогичным образом представлена погрешность интерполянта ${{L}_{{\Phi ,3}}}(u,x)$ и вычисленный порядок точности ${{M}_{{\varepsilon ,N}}} = lo{{g}_{2}}({{\Delta }_{{\varepsilon ,N}}}{\text{/}}{{\Delta }_{{\varepsilon ,2N}}}).$ Из табл. 2 следует, что порядок точности интерполяционной формулы понижается с 3 до 2 при уменьшении $\varepsilon $, результаты вычислений согласуются с оценкой (2.20) при $k = 3.$

Таблица 2.  

Погрешность и вычисленный порядок точности интерполянта ${{L}_{{\Phi ,3}}}(u,x)$

$\varepsilon $ $N$
$3 \times {{2}^{3}}$ $3 \times {{2}^{4}}$ $3 \times {{2}^{5}}$ $3 \times {{2}^{6}}$ $3 \times {{2}^{7}}$ $3 \times {{2}^{8}}$
1 $1.47e - 4$ $1.84e - 5$ $2.30e - 6$ $2.87e - 7$ $3.59e - 8$ $4.49e - 9$
  3.0 3.0 3.0 3.0 3.0  
${{10}^{{ - 1}}}$ $4.87e - 4$ $6.00e - 5$ $7.40e - 6$ $9.19e - 7$ $1.15e - 7$ $1.43e - 8$
  3.0 3.0 3.0 3.0 3.0  
${{10}^{{ - 2}}}$ $4.61e - 3$ $6.34e - 4$ $7.69e - 5$ $9.23e - 6$ $1.12e - 6$ $1.38e - 7$
  2.9 3.0 3.0 3.0 3.0  
${{10}^{{ - 3}}}$ $6.38e - 3$ $1.60e - 3$ $3.96e - 4$ $8.26e - 5$ $1.23e - 5$ $1.52e - 6$
  2.0 2.0 2.3 2.7 3.0  
${{10}^{{ - 4}}}$ $6.38e - 3$ $1.60e - 3$ $4.01e - 4$ $1.00e - 4$ $2.51e - 5$ $6.25e - 6$
  2.0 2.0 2.0 2.0 2.0  
${{10}^{{ - 5}}}$ $6.38e - 3$ $1.60e - 3$ $4.01e - 4$ $1.00e - 4$ $2.51e - 5$ $6.27e - 6$
  2.0 2.0 2.0 2.0 2.0  

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

7. ЗАКЛЮЧЕНИЕ

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

Список литературы

  1. Задорин А.И. Метод интерполяции для задачи с пограничным слоем // Сиб. ж. вычисл. матем. 2007. Т. 10. № 3. С. 267–275.

  2. Шишкин Г.И. Сеточные аппроксимации сингулярно возмущенных эллиптических и параболических уравнений. Екатеринбург: УрО РАН, 1992.

  3. Бахвалов Н.С. К оптимизации методов решения краевых задач при наличии пограничного слоя // Ж. вычисл. матем. и матем. физ. 1969. Т. 9. № 4. С. 841–859.

  4. Linβ T. Layer-Adapted Meshes for Reaction-Convection-Diffusion Problems. Berlin: Springer-Verlag, 2010.

  5. Задорин А.И. Интерполяция Лагранжа и формулы Ньютона–Котеса для функций с погранслойной составляющей на кусочно-равномерных сетках // Сиб. ж. вычисл. матем. 2015. Т. 18. № 3. С. 289–303.

  6. Zadorin A.I. Interpolation method for a function with a singular component // Lect. Notes in Comput Sci. 2009. V. 5434. P. 612–619.

  7. Kellogg R.B., Tsan A. Analysis of some difference approximations for a singular perturbation problems without turning points // Math. Comput. 1978. V. 32. P. 1025–1039.

  8. Zadorin A.I., Zadorin N.A. Interpolation formula for functions with a boundary layer component and its application to derivatives calculation // Sib. Electronic Math. Reports. 2012. V. 9. P. 445–455.

  9. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. М.: Наука, 1987.

  10. Задорин А.И., Задорин Н.А. Квадратурные формулы для функций с погранслойной составляющей // Ж. вычисл. матем. и матем. физ. 2011. Т. 51. № 11. С. 1952–1962.

  11. Задорин А.И., Задорин Н.А. Аналог формулы Ньютона–Котеса с четырьмя узлами для функции с погранслойной составляющей // Сиб. ж. вычисл. матем. 2013. Т. 16. № 4. С. 313–323.

  12. Zadorin A., Zadorin N. Quadrature formula with five nodes for functions with a boundary layer component // Lect. Notes in Comput. Sci. 2013. V. 8236. P. 540–546.

  13. Задорин А.И., Задорин Н.А. Аналог формул Ньютона–Котеса для численного интегрирования функций с погранслойной составляющей // Ж. вычисл. матем. и матем. физ. 2016. Т. 56. № 3. С. 368–376.

  14. Shishkin G.I. Approximations of solutions and derivatives for a singularly perturbed elliptic convection-diffusion equations // Mathematical Proceedings of the Royal Irish Academy. 2003. V. 103A. P. 169–201.

  15. Kopteva N. Error expansion for an upwind scheme applied to a two-dimensional convection-diffusion problem // SIAM Journal on Numerical Analysis. 2003. V. 41. P. 1851–1869.

  16. Gracia J.L., O’Riordan E. Numerical approximation of solution derivatives of singularly perturbed parabolic problems of convection-diffusion type // Mathematics of Computation. 2016. V. 85. P. 581–599.

  17. Задорин А.И. Анализ формул численного дифференцирования на сетке Шишкина при наличии пограничного слоя // Сиб. ж. вычисл. матем. 2018. Т. 21. № 3. С. 243–254.

  18. Zadorin A., Tikhovskaya S. Formulas of numerical differentiation on a uniform mesh for functions with the exponential boundary layer // Int. J. of Num. Analysis and Modeling. 2019. V. 16. № 4. P. 590–608.

  19. Il’in V.P., Zadorin A.I. Adaptive formulas of numerical differentiation of functions with large gradients // J. of Physics: Conference Series. 2019. V. 1260. 042003.

  20. Roos H.G., Stynes M., Tobiska L. Numerical Methods for Singularly Perturbed Differential Equations, Convection-Diffusion and Flow Problems. Berlin: Springer, 2008.

  21. Задорин А.И. Интерполяция функции двух переменных с большими градиентами в пограничных слоях // Ученые записки Казанского университета. Физ.-мат. науки. 2015. Т. 157. Кн. 2. С. 55–67.

Дополнительные материалы отсутствуют.

Инструменты

Журнал вычислительной математики и математической физики