Ich muss eine Annäherung an die Inverse von implementieren , dh die Quadrat- Superwurzel-Funktion (ssrt). Zum Beispiel bedeutet s s r t ( 2 ) ≤ 1,56 , dass 1,56 1,56 ≤ 2 ist . Ich bin nicht so sehr an einer bestimmten Genauigkeit / Bittiefe interessiert wie am Verständnis meiner Optionen im Gegensatz zu einfacheren Ansätzen mit Potenzreihen.
Wolfram Alpha gibt eine schöne symbolische Lösung in Bezug auf die Lambert W - Funktion (dh ). Wikipedia gibt die gleiche Formel sowie das Äquivalent e W ( ln ( x ) ) an . Angesichts der Tatsache, dass es eine angemessene Menge an Informationen zur Berechnung von W ( x ) [1] [2] gibt, ist dies technisch alles, was zur Implementierung von etwas erforderlich istfür eine Vielzahl von Anforderungen. Ich kenne mindestens zwei Bücher, die sich eingehend mit der Annäherung von [3] [4] befassen. Daher gibt es auch genügend Raum, um diese Richtung zu optimieren.
Ich habe jedoch zwei Fragen:
- Wurden für diese Funktion spezifische Approximationstechniken irgendwo veröffentlicht?
- Gibt es einen anderen Namen als "Quadratische Superwurzel", der die Suche nach Referenzen etwas erleichtert?
Wikipedia / Google hat einige Verweise auf allgemeinere „tetration“ Funktionen gewidmet ist aufgedreht , die einschließen als Sonderfall, aber die meisten von ihnen scheinen mehr darauf ausgerichtet werden , um die Erkundung / Festlegung der allgemeinen Fälle.
-
- Corless, R .; Gonnet, G .; Hare, D .; Jeffrey, D .; Knuth, Donald (1996), "Über die Lambert W-Funktion" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf
- Digitale Bibliothek mathematischer Funktionen . http://dlmf.nist.gov/4.13
- Crenshaw, Jack W. (2000), Math Toolkit für Echtzeitprogrammierung.
- Hart, John F. (1978), Computer Approximations.
- Chapeau-Blondeau, F. und Monir, A. (2002). Numerische Auswertung der Lambert W-Funktion und Anwendung zur Erzeugung von verallgemeinertem Gaußschen Rauschen mit Exponent 1/2. IEEE-Transaktionen zur Signalverarbeitung 50, 2160-2165. http://www.istia.univ-angers.fr/~chapeau/papers/lambertw.pdf
- Minero, Paul. Schnell Ungefähre Lambert W . http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html
-
Aktualisieren
Etwas mehr Forschung in den letzten paar Tage nachdem ich, ich habe die Art von Hands-on „Crenshaw Stil“ noch nicht gefunden Behandlung von s s r t ( x ) ich gehofft hatte, aber ich habe einen neuen finden Referenz hier dokumentieren. Auf Seite drei in [ 5 ] gibt es einen Abschnitt mit dem Titel "Fast Approximation", in dem die Approximation von W ( x ) im Kontext der Rauscherzeugung sehr detailliert beschrieben wird . Interessanterweise ähnelt die Wahrscheinlichkeitsdichte des "Gaußschen Rauschens mit Exponent 1/2" auffallend dem Histogramm in Kellenjbs Antwort aufDiese Frage zum Erkennen von Signalbeschneidungen .
Darüber hinaus ist der von rwong in den Kommentaren angegebene Link eine hervorragende Ressource für die tatsächliche Implementierung von W ( x ) , und er verweist sogar auf das BSD-lizenzierte Projekt des Autors namens fastapprox , das die beschriebene Implementierung enthält.
quelle
Antworten:
Einige numerische Stiche im Dunkeln ergaben Folgendes für einen iterativen Ansatz:
Wir suchen nach der Lösung y = f (x) mit y ^ y = x.
Dann habe ich einen Ansatz ausprobiert, der Newtons iterativer Quadratwurzel ähnelt:
Dabei soll y * eine nicht konvergierende, aber optimistische Antwort darstellen, die die Genauigkeit beibehält, wenn Sie zufällig einen genauen Anfangswert erraten (in der Quadratwurzel y 2 = x ist es y * = x / y).
Also dachte ich mir, dass es vielleicht eine besser konvergierende Lösung gibt:
Dann habe ich etwas Interessantes gefunden.
(Jemand könnte wahrscheinlich zeigen, dass dies in irgendeiner Weise Newton-Raphson entspricht, aber ich denke, es übersteigt meine Möglichkeiten.)
quelle