Интерполяционная формула Лагранжа: узлы и базисные полиномы

Интерполяционная формула Лагранжа - это способ построить единственный многочлен степени не выше , который проходит ровно через заданную точку . В отличие от подгонки коэффициентов через систему уравнений, интерполяционная формула Лагранжа даёт готовое явное выражение: она сразу собирает искомый полином из элементарных «кирпичиков» - базисных полиномов, каждый из которых отвечает за один узел. Это делает её удобной для теории и для ручного счёта по короткой таблице, хотя на практике у неё есть и слабые места, о которых речь ниже.
Постановка задачи интерполяции
Дана таблица значений неизвестной функции: набор узлов интерполяции (все различны) и соответствующие значения . Требуется найти многочлен степени не выше , такой что во всех узлах. Такой многочлен существует и единственен - это следствие того, что определитель Вандермонда для различных узлов отличен от нуля. Единственность важна: какой бы метод вы ни применили (Лагранжа, Ньютона, решение системы), при одних и тех же узлах получится один и тот же полином, отличаться будет лишь форма записи и объём вычислений.
Интерполяционная формула Лагранжа отвечает именно на этот вопрос, не требуя решать линейную систему. Ниже - мини-форма: впишите узлы и значения из своей таблицы, а в чате соберём базисные полиномы , итоговый многочлен и при желании оценку погрешности.
Базисные полиномы Лагранжа
Ключевая идея - для каждого узла построить свой базисный полином , который равен единице в «своём» узле и нулю во всех остальных:
Такой полином легко выписать явно как произведение: в числителе перемножаются все множители при , а знаменатель нормирует значение до единицы в точке :
Подстановка обнуляет всё, кроме нужного множителя, и даёт ровно ; подстановка любого другого узла () включает в числитель множитель . Каждый - многочлен степени ровно .
Знаменатель $\prod_{j \ne i}(x_i - x_j)$ - это просто число, оно не зависит от $x$. Считайте его один раз для каждого узла, иначе арифметические ошибки почти неизбежны.
Сборка интерполяционного многочлена
Имея базисные полиномы, итоговый многочлен собирается как линейная комбинация значений с весами - это и есть интерполяционная формула Лагранжа:
Проверка условия интерполяции тривиальна: подставив , мы получаем , потому что все зануляются, кроме . Так интерполяционная формула Лагранжа гарантированно проходит через все табличные точки. Для двух узлов она вырождается в обычную линейную интерполяцию (прямую через две точки), для трёх - в параболу.
Пример: парабола по трём точкам
Пусть даны три узла: , , . Тогда , и базисные полиномы такие:
Подставляя в формулу с весами , , , после раскрытия скобок получаем . Легко проверить: , , - все узлы воспроизведены точно.
Погрешность интерполяции
Если значения взяты от гладкой функции , отклонение многочлена от самой функции в произвольной точке описывает остаточный член. При на отрезке, содержащем узлы и точку , найдётся точка внутри этого отрезка, для которой
Множитель показывает: погрешность мала вблизи узлов и растёт между ними, особенно у краёв отрезка. Поэтому наивное увеличение числа равноотстоящих узлов не всегда улучшает приближение - на функции возникает феномен Рунге: колебания на концах отрезка только усиливаются. Лекарство - выбирать узлы Чебышёва, которые сгущаются к краям и минимизируют максимум .
Сравнение с формулой Ньютона
Интерполяционная формула Лагранжа и интерполяционный многочлен Ньютона задают один и тот же полином, но Ньютон использует разделённые разности и схему, удобную для добавления новых узлов: чтобы учесть ещё одну точку, к формуле Ньютона дописывают одно слагаемое, тогда как формула Лагранжа требует пересчёта всех базисных полиномов с нуля. Зато запись Лагранжа нагляднее и удобнее в теоретических выкладках. Идею вычислений через узловые значения продолжают и другие табличные методы - например, метод Симпсона для интегрирования по сути интегрирует именно интерполяционный многочлен по трём узлам.
Отдельно стоит барицентрическая форма формулы Лагранжа - алгебраически эквивалентная, но численно устойчивая и быстрая: после однократного вычисления барицентрических весов значение в новой точке считается за операций. На практике для повторных вычислений используют именно её, а не прямую формулу с произведениями.
Где применяется
Интерполяционная формула Лагранжа лежит в основе многих численных методов: вывода квадратурных формул (Ньютона-Котеса), численного дифференцирования, восстановления функции по таблице, а также в криптографии - схема разделения секрета Шамира восстанавливает секрет именно лагранжевой интерполяцией по долям-точкам. Везде, где есть набор точек и нужен проходящий через них многочлен, эта формула даёт явный ответ.
Частые ошибки
- Совпадающие узлы: если два равны, знаменатель обнуляется и формула теряет смысл - узлы обязаны быть различными.
- Путаница индексов в произведении: в из перемножения исключается множитель именно с (и в числителе, и в знаменателе), а не какой-то другой.
- Ожидание, что больше узлов всегда лучше: на равномерной сетке высокая степень провоцирует феномен Рунге - растущие осцилляции у краёв.
- Прямой пересчёт при добавлении точки: добавив узел, нельзя «дописать» слагаемое как у Ньютона - все базисные полиномы меняются, нужен полный пересчёт.
- Численная неустойчивость наивной формы при большом : вычитания близких чисел в знаменателях накапливают ошибку - используйте барицентрическую форму.
FAQ
Чем формула Лагранжа отличается от многочлена Ньютона? Это один и тот же интерполяционный полином, записанный по-разному. Лагранж нагляднее и не требует разделённых разностей, Ньютон удобнее, когда узлы добавляются по одному.
Сколько узлов нужно для многочлена степени n? Ровно различный узел задаёт единственный многочлен степени не выше . Три точки дают параболу, две - прямую.
Почему интерполяция иногда ухудшается с ростом числа узлов? Из-за феномена Рунге: на равноотстоящих узлах множитель сильно растёт у краёв отрезка. Помогает переход к узлам Чебышёва.
Коротко
Интерполяционная формула Лагранжа строит единственный многочлен степени не выше через заданную точку как сумму , где базисные полиномы равны в своём узле и в остальных. Погрешность контролирует остаточный член с множителем , а выбор узлов (Чебышёва вместо равномерных) спасает от феномена Рунге. Полином совпадает с ньютоновским, но для устойчивых повторных расчётов применяют барицентрическую форму.
Читайте также

Кубический сплайн интерполяция: моменты и прогонка
Кубическая сплайн-интерполяция: построение сплайна по узлам, трёхдиагональная система на вторые производные, метод прогонки, краевые условия и сравнение с многочленом Лагранжа.

Алгоритм Рабина-Карпа: поиск подстроки за O(n+m)
Разбираем алгоритм Рабина-Карпа: как полиномиальный хеш и скользящее окно ускоряют поиск подстроки до O(n+m) в среднем, почему бывают ложные совпадения и при чём тут плагиат.

Распределение Фишера критические значения: как искать F-квантили
Распределение Фишера и его критические значения: что такое F-распределение, как читать таблицу критических значений по двум степеням свободы, как применять F-квантили в F-тесте на равенство дисперсий и в дисперсионном анализе.