Полином Лагранжа
В численном анализе — интерполяционный полином Лагранжа это уникальный полином наименьшей степени , который интерполирует заданный набор данных.
Учитывая набор данных пар координат с тот называются узлами , а называются ценностями . Полином Лагранжа имеет степень и принимает каждое значение в соответствующем узле,
Хотя оно названо в честь Жозефа-Луи Лагранжа , опубликовавшего его в 1795 году, [1] метод был впервые открыт в 1779 году Эдвардом Уорингом . [2] Это также простое следствие формулы, опубликованной в 1783 году Леонардом Эйлером . [3]
Использование полиномов Лагранжа включает Ньютона-Котеса метод численного интегрирования , схему разделения секретов Шамира в криптографии и коррекцию ошибок Рида-Соломона в теории кодирования .
Для равноотстоящих друг от друга узлов интерполяция Лагранжа подвержена Рунге явлению больших колебаний .
Определение
[ редактировать ]Учитывая набор узлы , которые все должны быть различны, для индексов , базис Лагранжа для многочленов степени для этих узлов представляет собой набор полиномов каждый степени которые принимают значения если и . Используя дельту Кронекера, это можно записать Каждый базисный полином может быть явно описан произведением:
Обратите внимание, что числитель имеет корни в узлах в то время как знаменатель масштабирует полученный полином так, что
Интерполирующий полином Лагранжа для этих узлов через соответствующие значения представляет собой линейную комбинацию:
Каждый базисный полином имеет степень , поэтому сумма имеет степень , и он интерполирует данные, потому что
Интерполяционный полином уникален. Доказательство: предположим полином степени интерполирует данные. Тогда разница равен нулю в отдельные узлы Но единственный полином степени с более чем корни — это функция постоянного нуля, поэтому или
Барицентрическая форма
[ редактировать ]Каждый базисный полином Лагранжа можно переписать как произведение трех частей, функцию общий для каждого базисного полинома, константа, специфичная для узла (называемый барицентрическим весом ), и часть, представляющая смещение от к : [4]
Путем факторинга из суммы можно записать полином Лагранжа в так называемой первой барицентрической форме :
Если веса были предварительно рассчитаны, для этого требуется только операции по сравнению с для оценки каждого базисного полинома Лагранжа индивидуально.
Формулу барицентрической интерполяции также можно легко обновить, включив в нее новый узел. путем деления каждого из , к и строительство нового как указано выше.
Для любого потому что постоянная функция – уникальный многочлен степени интерполяция данных Таким образом, мы можем еще больше упростить барицентрическую формулу, разделив
Это называется второй формой или истинной формой формулы барицентрической интерполяции.
Эта вторая форма имеет преимущества в стоимости и точности вычислений: она позволяет избежать оценки ; работа по вычислению каждого члена в знаменателе уже сделано в вычислительной технике и поэтому вычисление суммы в знаменателе стоит всего операции сложения; за оценочные баллы которые находятся близко к одному из узлов , катастрофическая отмена обычно будет проблемой для значения , однако эта величина появляется как в числителе, так и в знаменателе, и они сокращаются, обеспечивая хорошую относительную точность конечного результата.
Используя эту формулу для оценки в одном из узлов приведет к неопределенному результату ; компьютерные реализации должны заменить такие результаты
Каждый базисный полином Лагранжа также можно записать в барицентрической форме:
Взгляд из линейной алгебры
[ редактировать ]Решение проблемы интерполяции приводит к проблеме линейной алгебры, сводящейся к обращению матрицы. Использование стандартного мономиального базиса для нашего интерполяционного полинома , мы должны обратить матрицу Вандермонда решить для коэффициентов из . Выбрав лучший базис, базис Лагранжа, мы просто получаем единичную матрицу , , что является обратным самому себе: базис Лагранжа автоматически инвертирует аналог матрицы Вандермонда.
Эта конструкция аналогична китайской теореме об остатках . Вместо проверки остатков целых чисел по модулю простых чисел мы проверяем остатки многочленов при делении на линейные числа.
Кроме того, когда порядок велик, можно использовать быстрое преобразование Фурье для определения коэффициентов интерполированного полинома.
Пример
[ редактировать ]Мы хотим интерполировать по домену в трех узлах :
Узловой полином является
Барицентрические веса
Базисные полиномы Лагранжа:
Интерполяционный полином Лагранжа:
Во (второй) барицентрической форме
Примечания
[ редактировать ]Лагранжевая форма интерполяционного полинома показывает линейный характер полиномиальной интерполяции и уникальность интерполяционного полинома. Поэтому ему отдают предпочтение в доказательствах и теоретических рассуждениях. Уникальность также можно увидеть из обратимости матрицы Вандермонда из-за необращения в нуль определителя Вандермонда .
Но, как видно из конструкции, при каждом изменении узла все xk базисные полиномы Лагранжа приходится пересчитывать. Лучшей формой интерполяционного полинома для практических (или вычислительных) целей является барицентрическая форма интерполяции Лагранжа (см. ниже) или полиномы Ньютона .
Лагранж и другие интерполяции в точках с одинаковым интервалом, как в примере выше, дают полином, колеблющийся выше и ниже истинной функции. Такое поведение имеет тенденцию усиливаться с увеличением количества точек, что приводит к расхождению, известному как феномен Рунге ; Проблему можно устранить выбором точек интерполяции в узлах Чебышева . [5]
Базисные полиномы Лагранжа можно использовать при численном интегрировании для вывода формул Ньютона-Котеса .
Остаток в формуле интерполяции Лагранжа
[ редактировать ]При интерполяции заданной функции f полиномом степени k в узлах мы получаем остаток что можно выразить как [6]
где это обозначение разделенных разностей . В качестве альтернативы остаток можно выразить как контурный интеграл в комплексной области как
Остаток может быть связан как
Вывод [7]
[ редактировать ]Четко, равен нулю в узлах. Найти в какой-то момент , определить новую функцию и выбери где константа, которую мы должны определить для данного . Мы выбираем так что имеет нули (во всех узлах и ) между и (включая конечные точки). Предполагая, что является -раз дифференцируемо, так как и являются полиномами и, следовательно, бесконечно дифференцируемы, будет -раз дифференцируемы. По Ролля теореме имеет нули, имеет нули... имеет 1 ноль, скажем . Явное написание :
- (Поскольку высшая сила в является )
Уравнение можно переписать как
С у нас есть
Производные
[ редактировать ]я производная d- интерполяционного полинома Лагранжа может быть записана через производные базисных полиномов:
Напомним (см. § Определение выше), что каждый базисный полином Лагранжа равен
Первую производную можно найти с помощью правила произведения :
Вторая производная
Третья производная
и то же самое для высших производных.
Обратите внимание, что все эти формулы для производных недействительны в узле или вблизи него. Метод эффективной оценки всех порядков производных полинома Лагранжа во всех точках области, включая узлы, заключается в преобразовании полинома Лагранжа в степенную базисную форму и последующем вычислении производных.
Конечные поля
[ редактировать ]Полином Лагранжа также можно вычислить в конечных полях . Это имеет применение в криптографии , например, в схеме совместного использования секретов Шамира .
См. также
[ редактировать ]- Алгоритм Невилла
- Ньютоновская форма интерполяционного полинома
- Полином Бернштейна
- Теорема Карлсона
- постоянная Лебега
- Система Чебфун
- Таблица ньютоновских рядов
- Ковариант Фробениуса
- Формула Сильвестра
- Коэффициент конечной разности
- Интерполяция Эрмита
Ссылки
[ редактировать ]- ^ Лагранж, Жозеф-Луи (1795). «Урок пятый. Об использовании кривых при решении задач». Элементарные уроки математики (на французском языке). Париж. Переиздано в Серре, Джозеф-Альфред , изд. (1877). Работы Лагранжа . Полет. 7. Готье-Виллар. стр. 271–287 . Переведено как «Лекция V. Об использовании кривых при решении задач» . Лекции по элементарной математике . Перевод МакКормака, Томаса Дж. (2-е изд.). Открытый суд. 1901. стр. 127–149.
- ^ Уоринг, Эдвард (1779). «Задачи об интерполяциях» . Философские труды Королевского общества . 69 : 59–67. дои : 10.1098/rstl.1779.0008 .
- ^ Мейеринг, Эрик (2002). «Хронология интерполяции: от древней астрономии до современной обработки сигналов и изображений» (PDF) . Труды IEEE . 90 (3): 319–342. дои : 10.1109/5.993400 .
- ^ Беррю, Жан-Поль ; Трефетен, Ллойд Н. (2004). «Барицентрическая интерполяция Лагранжа» (PDF) . Обзор СИАМ . 46 (3): 501–517. Бибкод : 2004SIAMR..46..501B . дои : 10.1137/S0036144502417715 .
- ^ Квартерони, Альфио ; Салери, Фаусто (2003). Научные вычисления с MATLAB . Тексты по информатике и технике. Том. 2. Спрингер. п. 66. ИСБН 978-3-540-44363-6 . .
- ^ Абрамовиц, Милтон ; Стегун, Ирен Энн , ред. (1983) [июнь 1964 г.]. «Глава 25, уравнение 25.2.3» . Справочник по математическим функциям с формулами, графиками и математическими таблицами . Серия «Прикладная математика». Том. 55 (Девятое переиздание с дополнительными исправлениями десятого оригинального издания с исправлениями (декабрь 1972 г.); первое изд.). Вашингтон, округ Колумбия; Нью-Йорк: Министерство торговли США, Национальное бюро стандартов; Дуврские публикации. п. 878. ИСБН 978-0-486-61272-0 . LCCN 64-60036 . МР 0167642 . LCCN 65-12253 .
- ^ «Интерполяция» (PDF) .
Внешние ссылки
[ редактировать ]- «Формула интерполяции Лагранжа» , Математическая энциклопедия , EMS Press , 2001 [1994]
- ALGLIB имеет реализации на C++/C#/VBA/Pascal.
- GSL имеет код полиномиальной интерполяции на языке C.
- У SO есть пример MATLAB, который демонстрирует алгоритм и воссоздает первое изображение в этой статье.
- Метод интерполяции Лагранжа - Примечания, PPT, Mathcad, Mathematica, MATLAB, Maple. Архивировано 1 сентября 2006 г. в Wayback Machine в Институте целостных численных методов.
- Интерполяционный полином Лагранжа на сайте www.math-linux.com
- Вайсштейн, Эрик В. «Интерполирующий полином Лагранжа» . Математический мир .
- Полином Лагранжа в ProofWiki
- Динамическая интерполяция Лагранжа с помощью JSXGraph
- Численные вычисления с функциями: проект Chebfun
- Функция листа Excel для бикубической интерполяции Лагранжа
- Полиномы Лагранжа в Python