Я ищу некоторую реализацию с открытым исходным кодом (любой из Python, C, C ++, Fortran в порядке) рационального приближения к функции. Что-то в статье [1]. Я даю ему функцию, и она возвращает мне два полинома, отношение которых является приближением на данном интервале, и ошибка колеблется с той же амплитудой, и это оптимальное приближение или близко к нему.
Вот что я нашел:
Похоже, что Chebfun может сделать это, но у меня нет доступа к Matlab *.
В разделе 5-13 "Рациональная чебышевская аппроксимация" в "Числовых рецептах" есть простая программа.
Mathematica имеет экономную рациональную аппроксимацию и минимальную аппроксимацию
Мне было интересно, есть ли что-то более новое (возможно, лучше протестированное), чем код NR.
Мое приложение состоит в том, что у меня есть набор специальных функций, около 10, которые задаются либо в виде гипергеометрических рядов, либо в виде некоторой формулы, которая имеет числовые сокращения, и я хочу иметь надежную, быструю и точную функцию оценки, которая вызывается в самый внутренний цикл вычисления двухчастичных матричных элементов в вычислениях Хартри Фока. Я привел простой пример функции, которая работает для меня в [2]. Как вы можете видеть, это либо прямая формула, либо ряд около x = 0, который я вычислил с помощью SymPy. Это вроде работает, но точность не велика, около x = 1 теряется около половины значащих цифр (но для x = 0.1, а также x = 1e5 он точен почти для всех значащих цифр). Я ищу лучшее приближение.
[1] Deun, J. & Trefethen, LN (2011). Надежная реализация метода Каратеодори-Фейера для рационального приближения. БИТ Численная математика, 51 (4), 1039–1050. doi: 10.1007 / s10543-011-0331-7 ( электронная печать в июне 2010 г. )
[2] https://gist.github.com/3831580
(*) Ни на веб-сайте chebfun, который дает мне 404, но Педро предположил, что это должно быть моей проблемой поставщика.