Есть ли предпочтительный способ, как реализовать быструю (приблизительную) оценку чебышевского интерполяционного полинома на равномерной сетке (с учетом значений функции в чебышевских узлах)? Моя проблема в том, что интерполяция становится медленной, когда степень интерполяционного полинома увеличивается.
Следующие идеи пришли мне в голову:
- Попробуйте адаптировать методы неоднородного БПФ (NFFT)
- Используйте БПФ для вычисления производных в чебышевских узлах, потенциально после первого перехода к более тонкой (чебышевской) сетке. Затем используйте кусочно-кубическую интерполяцию для (приблизительной) оценки.
- Используйте некоторую формулу, которая использует только значения функций (и, возможно, производные) в «соседних» чебышевских узлах (это связано с конкретной техникой NFFT).
interpolation
fourier-analysis
fftw
Томас Климпел
источник
источник
Ответы:
Задумывались ли вы об использовании барицентрической интерполяции ? Подробное описание того, как сделать это эффективно для чебышевских узлов, дано в разделе 5 данной статьи.
На самом деле это точная оценка чебышевского интерполанта. Если вы оцениваете полином степениn в m узлы, стоимость в O(nm) ,
Обновить
Другой вариант, если у вас есть коэффициенты Чебышева вашего интерполяционного полинома, это использовать алгоритм Кленшоу . Если у вас есть только значения функций в узлах Чебышева, но вы должны оценивать полином несколько раз, вы можете вычислить коэффициенты с помощью БПФ.
Алгоритм Кленшоу несколько быстрее, чем барицентрическая интерполяция, поскольку он требует только сложений и умножений, и что он также довольно хорошо векторизуется.
источник