Алгоритм Невиля - Nevilles algorithm
В математике Алгоритм Невилла алгоритм, используемый для полиномиальная интерполяция что было выведено математиком Эрик Гарольд Невилл[нужна цитата ]. Данный п +1 балл, существует единственный многочлен степени ≤ п который проходит через данные точки. Алгоритм Невилла вычисляет этот многочлен.
Алгоритм Невилла основан на Форма Ньютона интерполяционного полинома и рекурсивного соотношения для разделенные различия. Это похоже на Алгоритм Эйткена (названный в честь Александр Айткен ), который в настоящее время не используется.
Алгоритм
Учитывая набор п+1 точки данных (Икся, уя) где нет двух Икся одинаковы, интерполирующий полином - это полином п степени не более п с собственностью
- п(Икся) = уя для всех я = 0,…,п
Этот многочлен существует и единственен. Алгоритм Невилла вычисляет полином в какой-то момент Икс.
Позволять пя,j обозначим многочлен степени j − я который проходит через точки (Иксk, уk) за k = я, я + 1, …, j. В пя,j удовлетворяют рекуррентному соотношению
Это повторение можно вычислитьп0,п(Икс), что и является искомым значением. Это алгоритм Невилла.
Например, для п = 4, можно использовать повторение, чтобы заполнить треугольную таблицу ниже слева направо.
Этот процесс дает п0,4(Икс), значение полинома, проходящего через п + 1 точка данных (Икся, уя) в точке Икс.
Этот алгоритм требует О (п2) операции с плавающей запятой.
Производная полинома может быть получена таким же образом, то есть:
Приложение к числовому дифференцированию
Лайнесс и Молер показали в 1966 году, что, используя неопределенные коэффициенты для многочленов в алгоритме Невилла, можно вычислить разложение Маклорена последнего интерполяционного многочлена, которое дает численные приближения для производных функции в начале координат. Хотя «этот процесс требует больше арифметических операций, чем требуется в методах конечных разностей», «выбор точек для оценки функции никоим образом не ограничен». Они также показывают, что их метод может быть применен непосредственно к решению линейных систем типа Вандермонда.
Рекомендации
- Пресс, Уильям; Саул Теукольский; Уильям Веттерлинг; Брайан Флэннери (1992). «§3.1 Полиномиальная интерполяция и экстраполяция (зашифрованные)» (PDF). Числовые рецепты в C. Искусство научных вычислений (2-е изд.). Издательство Кембриджского университета. Дои:10.2277/0521431085. ISBN 978-0-521-43108-8. (ссылка плохая)
- Дж. Н. Лайнесс и К. Б. Молер, Системы Ван дер Монд и численное дифференцирование, Numerische Mathematik 8 (1966) 458-464 (doi: 10.1007 / BF02166671 )
- Невилл, Э. Х .: Итерационная интерполяция. J. Indian Math. Soc.20, 87–120 (1934)