Ich bin auf der Suche nach einer Open-Source-Implementierung (Python, C, C ++ oder Fortran) für die rationale Annäherung an eine Funktion. Etwas im Artikel [1]. Ich gebe ihm eine Funktion und er gibt mir zwei Polynome zurück, deren Verhältnis die Annäherung an das gegebene Intervall ist und deren Fehler mit der gleichen Amplitude schwingt und eine optimale Annäherung ist oder dieser nahekommt.
Folgendes habe ich gefunden:
Es sieht so aus, als ob chebfun das kann, aber ich habe keinen Zugang zu Matlab *.
Es gibt ein einfaches Programm in Abschnitt 5-13 "Rationale Chebyshev-Approximation" in Numerical Recipes (NR).
Mathematica verfügt über EconomizedRationalApproximation und MiniMaxApproximation
Ich habe mich gefragt, ob es etwas Neues gibt (möglicherweise besser getestet) als den NR-Code.
Meine Anwendung ist, dass ich eine Reihe von Sonderfunktionen habe, ungefähr 10, die entweder als hypergeometrische Reihe angegeben sind, oder eine Formel, die numerische Auslöschungen aufweist, und ich möchte eine robuste, schnelle und genaue Auswertungsfunktion, die aufgerufen wird Die innerste Schleife zum Berechnen zweier Partikelmatrixelemente in Hartree Fock-Berechnungen. Ich habe ein einfaches Beispiel für eine Funktion angegeben, die für mich bei [2] funktioniert. Wie Sie sehen, wird entweder eine direkte Formel oder eine Reihe um x = 0 verwendet, die ich mit SymPy berechnet habe. Es funktioniert irgendwie, aber die Genauigkeit ist nicht großartig, bei x = 1 geht ungefähr die Hälfte der signifikanten Stellen verloren (aber für x = 0.1 und x = 1e5 ist es auf fast alle signifikanten Stellen genau). Ich suche eine bessere Annäherung.
[1] Deun, J. & Trefethen, LN (2011). Eine robuste Implementierung der Carathéodory-Fejér-Methode zur rationalen Approximation. BIT Numerical Mathematics, 51 (4), 1039–1050. doi: 10.1007 / s10543-011-0331-7 ( e-print vom Juni 2010 )
[2] https://gist.github.com/3831580
(*) Auch nicht auf der chebfun-Website, die mir 404 gibt, aber Pedro schlug vor, dass dies mein Providerproblem sein muss.