Jede kontinuierliche Funktion (die häufigste mathematische Operationen umfasst) kann auch über einen beschränkten Intervall durch ein Polynom approximiert werden. Dies, zusammen mit relativ einfachen Identitäten, die gewöhnliche mathematische Funktionen normalerweise erfüllen (wie Additionsgesetze) und Tabellensuchen, liefert die Basis der Standardtechniken zum Konstruieren schneller Approximationsalgorithmen (und auch die Basis von hochgenauen Methoden, wie sie in der Systemmathematik verwendet werden Bibliothek).
Taylor-Reihen sind normalerweise eine schlechte Wahl, jedoch; Chebyshev- oder Minimax-Polynome haben für die meisten Computeranwendungen viel bessere Fehlereigenschaften. Die Standardtechnik für die Anpassung von Minimax-Polynomen ist die Verwendung des Remes-Algorithmus, der in einer Vielzahl kommerzieller Mathe-Software implementiert ist, oder Sie können Ihre eigene Implementierung mit einem Arbeitstag umsetzen, wenn Sie wissen, was Sie tun.
Für die Aufzeichnung der „schnelle inverse Quadratwurzel“ sollte bei modernen Prozessoren vermieden werden, da er wesentlich schneller ist, eine Fließkommainstruktion reziproken Quadratwurzelschätzwertes (rsqrtss
/rsqrtps
auf SSE, vrsqrte
auf NEON zu verwenden, vrsqrtefp
auf AltiVec). Selbst die (nicht näherungsweise) Hardware-Quadratwurzel ist auf aktuellen Intel-Prozessoren recht schnell.
Vielleicht erhalten Sie auch Antworten für die auf http://mathoverflow.net – Lucero
Was ist damit ein Wiki zu machen? – ATorras
Ich bin mir nicht sicher, ob die schnelle umgekehrte Wurzel, die in Quake verwendet wird, heutzutage schneller ist als eine RSQRTPS, und sie tut vier parallel. Heutzutage können die Kosten für das Verschieben von Daten von der FPU in den RAM zum Registrieren, Manipulieren, Speichern und Neuladen in die FPU mehr als nur ein FSQRT sein. – Skizz