Cualquier función continua (que incluye las operaciones matemáticas más comunes) puede ser bien aproximada durante un intervalo acotado por un polinomio. Esto, junto con identidades relativamente simples que generalmente satisfacen las funciones matemáticas comunes (como leyes de adición) y tablas, proporciona la base de las técnicas estándar para construir algoritmos de aproximación rápida (y también la base de métodos de alta precisión como los utilizados en el sistema matemático biblioteca).
Las series de Taylor son generalmente una opción pobre, sin embargo; Los polinomios Chebyshev o Minimax tienen características de error mucho mejores para la mayoría de los usos computacionales. La técnica estándar para el ajuste de polinomios minimax es usar el algoritmo de Remes, que se implementa en una gran cantidad de software matemático comercial, o puede implementar su propia implementación con un día de trabajo si sabe lo que está haciendo.
Para el registro, la "rápida inversa de la raíz cuadrada" se debe evitar en los procesadores modernos, ya que es sustancialmente más rápido usar una instrucción de cálculo de la raíz cuadrada recíproca de punto flotante (rsqrtss
/rsqrtps
en SSE, vrsqrte
de neón, vrsqrtefp
en AltiVec). Incluso la raíz cuadrada de hardware (no aproximada) es bastante rápida en los procesadores Intel actuales.
Quizás también recibas respuestas para eso en http://mathoverflow.net – Lucero
¿Qué tal si lo haces una wiki? – ATorras
No estoy seguro de si la raíz inversa rápida utilizada en Quake es más rápida en estos días que hacer un RSQRTPS, y hace cuatro en paralelo. En estos días, el costo de mover datos de la FPU a la RAM para registrar, manipular, almacenar y volver a cargar en la FPU podría ser más que solo hacer un FSQRT. – Skizz