我正在寻找一些有理逼近函数的开源实现(Python、C、C++、Fortran 中的任何一个都可以)。文章[1]中的一些东西。我给它一个函数,它给了我两个多项式,它们的比率是给定间隔的近似值,并且误差以相同的幅度振荡,它是一个最佳近似值,或者接近它。
这是我发现的:
看起来 chebfun 可以做到这一点,但我无法访问 Matlab *.
Numerical Recipes (NR) 的第 5-13 节“Rational Chebyshev Approximation”中有一个简单的程序。
Mathematica 具有 EconomizedRationalApproximation 和 MiniMaxApproximation
我想知道是否有比 NR 代码更新(可能测试得更好)的东西。
我的应用是我有一组特殊函数,大约 10 个,它们要么作为超几何级数给出,要么作为一些具有数值抵消的公式给出,我想要一个强大、快速和准确的评估函数,它被调用Hartree Fock 计算中计算两个粒子矩阵元素的最内层循环。我在 [2] 中放置了一个对我有用的函数的简单示例。如您所见,它要么使用直接公式,要么使用 x=0 附近的系列,我使用 SymPy 计算得出。它有点工作,但准确度不是很好,大约 x=1 大约一半的有效数字丢失(但对于 x=0.1 和 x=1e5 几乎所有有效数字都是准确的)。我正在寻找更好的近似值。
[1] Deun, J. 和 Trefethen, LN (2011)。用于有理逼近的 Carathéodory-Fejér 方法的稳健实现。BIT 数值数学,51(4),1039–1050。doi:10.1007/s10543-011-0331-7(2010 年 6 月电子版)
[2] https://gist.github.com/3831580
(*) 也不是 chebfun 网站,它给了我 404,但佩德罗建议这一定是我的提供商问题。