Математика / Интерполяция

Узлы Чебышёва: выбор точек для интерполяции

Узлы Чебышёва — неравномерные точки, сгущённые около концов отрезка. Корни полинома Tₙ дают удобную сетку для интерполяционного полинома степени не выше n−1 и уменьшают наибольший модуль узлового произведения.

Опубликовано: Обновлено:

Формула

$$x_k=\frac{a+b}{2}+\frac{b-a}{2}\cos\frac{(2k+1)\pi}{2n},\quad k=0,\ldots,n-1$$
Схема Корни T₃ на стандартном отрезке
Три корня полинома T₃Три корня полинома T₃-1-1-0.5-0.5000.50.511tT₃(t)

Кривая T₃(t)=4t³−3t; отмечены три нуля. Для [2;6] координата переносится как x=4+2t.

Обозначения

$a,b$
границы исходного отрезка, a<b, единица аргумента
$n$
число узлов, целое положительное, безразмерная
$k$
номер узла от 0 до n−1, безразмерная
$x_k$
координата выбранного узла, единица аргумента

Условия применения

Значения функции должны быть доступны в вычисленных точках, а границы a и b — различны. Для обычной интерполяции достаточно попарно различных узлов; оценка остатка через n-ю производную дополнительно требует её существования и непрерывности на отрезке.

Ограничения

Корни Tₙ не включают концы отрезка. Если значения на концах обязательны, нужна другая сетка, например экстремумы Чебышёва — Лобатто. Выбор узлов уменьшает определённый множитель остатка, но сам по себе не гарантирует малую ошибку для разрывной или сильно негладкой функции.

Подробное объяснение

На стандартном отрезке [−1;1] полином Чебышёва задаётся тождеством Tₙ(cos θ)=cos(nθ). Его нули получаются из nθ=(2k+1)π/2. Поэтому равномерные углы после проекции на горизонтальную ось превращаются в неравномерные координаты: около краёв соседние точки сближаются. Это геометрическое происхождение сетки, а не эмпирическая поправка к равномерному шагу.

При n узлах интерполянт имеет степень не выше n−1. В остатке появляется произведение ωₙ(x)=∏(x−xₖ). Для стандартной сетки оно равно 2^(1−n)Tₙ(x), так как оба полинома имеют одинаковые корни и старший коэффициент один. Поскольку |Tₙ(x)|≤1 на [−1;1], максимум |ωₙ| равен 2^(1−n). Среди монических полиномов той же степени это минимальное возможное значение.

На произвольный отрезок переходят линейным отображением x=(a+b)/2+(b−a)t/2. Аргумент косинуса остаётся безразмерным, а множитель (b−a)/2 переносит единицы исходной координаты. В указанной нумерации точки идут справа налево; перед передачей в программу, ожидающую возрастание, их нужно развернуть вместе со значениями функции.

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

Как пользоваться формулой

  1. Задайте границы a<b и число n; помните, что степень интерполянта будет не выше n−1, а не n.
  2. Вычислите углы (2k+1)π/(2n) в радианах и возьмите их косинусы для k от 0 до n−1.
  3. Перенесите каждую стандартную координату на [a;b] с помощью середины и половины длины отрезка.
  4. Вычислите значения функции в этих точках; при сортировке узлов переставляйте пары координата–значение вместе.
  5. Постройте интерполянт и сравните его с функцией в дополнительных точках, включая оба конца отрезка.

Историческая справка

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

В вычислительной практике различают сетку корней и сетку экстремумов: первая не включает концы, вторая включает. Современный справочник NIST DLMF описывает полиномы через тригонометрическое тождество, а книга Ллойда Трефетена Approximation Theory and Approximation Practice, впервые изданная в 2013 году, связывает такие сетки с алгоритмами приближения функций. Нынешняя формула для [a;b] получается из стандартных корней простым линейным переносом координаты.

Историческая линия формулы

Название узлов связано с полиномами Чебышёва и их экстремальными свойствами. Приведённая формула является вычислением корней Tₙ с линейным переносом на отрезок; её не следует представлять как отдельное историческое открытие с собственным единственным автором.

Пример

Нужно выбрать три точки на отрезке [2;6] для интерполяции квадратичным полиномом. Здесь середина равна 4, половина длины — 2, n=3. Углы: π/6, π/2 и 5π/6; их косинусы равны √3/2, 0 и −√3/2. После переноса получаем x₀=4+√3≈5,732051; x₁=4; x₂=4−√3≈2,267949. Все точки лежат внутри [2;6], их среднее равно 4, а крайние симметричны относительно середины. Это координаты аргумента в его исходных единицах, а не значения функции. Для f(x)=x² значения равны 19+8√3≈32,856406; 16; 19−8√3≈5,143594. Полином степени два восстанавливает такую функцию точно в точной арифметике.

Частая ошибка

Не подставляйте градусы в библиотечный cos, ожидающий радианы: формула содержит π именно в радианной мере. Не называйте n числом интервалов: здесь это число точек. Не добавляйте автоматически концы отрезка к корням Tₙ, иначе получится иная сетка. Не делайте вывод о сходимости для любой функции только из минимального узлового произведения.

Практика

Задачи с решением

Два узла на стандартном отрезке

Условие. Найдите два корня T₂ на [−1;1].

Решение. При n=2 углы равны π/4 и 3π/4. Их косинусы равны √2/2 и −√2/2.

Ответ. x₀≈0,707107; x₁≈−0,707107.

Четыре точки на [0;2]

Условие. Перенесите четыре корня T₄ на отрезок [0;2].

Решение. Середина и половина длины равны 1. Вычисляем 1+cos(π/8), 1+cos(3π/8), 1+cos(5π/8), 1+cos(7π/8).

Ответ. Приближённо 1,923880; 1,382683; 0,617317; 0,076120.

Дополнительные источники

  • https://dlmf.nist.gov/18.5#E1
  • https://dlmf.nist.gov/3.3
  • https://people.maths.ox.ac.uk/trefethen/ATAP/
  • https://mathshistory.st-andrews.ac.uk/Biographies/Chebyshev/

Связанные формулы

Математика

Интерполяция Лагранжа: полином через заданные точки

$P_n(x)=\sum_{k=0}^{n}y_kL_k(x),\qquad L_k(x)=\prod_{\substack{0\leq j\leq n\\j\ne k}}\frac{x-x_j}{x_k-x_j}$

Формула Лагранжа строит полином степени не выше n по n+1 различным узлам. Каждый базисный множитель выбирает значение своего узла и обращает вклады остальных узлов в ноль.

Математика

Барицентрическая интерполяция: веса и вычисление полинома

$P(x)=\frac{\sum_{k=0}^{n}\dfrac{w_ky_k}{x-x_k}}{\sum_{k=0}^{n}\dfrac{w_k}{x-x_k}},\qquad w_k=\frac{1}{\prod_{j\ne k}(x_k-x_j)},\quad x\ne x_k$

Барицентрическая форма вычисляет полином Лагранжа через заранее рассчитанные веса узлов. Она удобна для множества запросов по одной таблице; при точном совпадении аргумента с узлом нужно сразу вернуть узловое значение.

Математика

Интерполяция Ньютона: таблица разделённых разностей

$P_n(x)=f[x_0]+\sum_{k=1}^{n}f[x_0,\ldots,x_k]\prod_{j=0}^{k-1}(x-x_j),\quad f[x_i,\ldots,x_j]=\frac{f[x_{i+1},\ldots,x_j]-f[x_i,\ldots,x_{j-1}]}{x_j-x_i}$

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