Me gustaría una buena (8 bits de precisión) la aproximación de $x^{1/2.4}$ en el rango $[0, 1]$. Esta transformación se utiliza para la conversión lineal de las intensidades a SRGB comprimido valores, por lo que es importante que puedo hacer es correr rápido.
La trama de la función:
El uso de un simple polinomio no es práctico porque
- la función tiene un montón de alta derivadas de orden
- la función es de aproximadamente asintótica $x$, que es muy diferente el comportamiento asintótico de los polinomios de alto orden
Yo ya tengo el código que construye un arbitrario de grado del polinomio para cualquier función de minimizar el error de los cuadrados e incluso para un 10mo grado del polinomio, la exactitud es todavía sólo como 6 bits significativos.
Luego me enteré de la función racional aproximaciones, lo que tendrá un mejor comportamiento asintótico. Pero el problema es que no sé cómo encontrar el óptimo de los coeficientes. Hay el Pade formulación que crea una aproximación en torno a un solo punto, pero ya que no uso global de la información, puede ser un muy mal ajuste en general como en series de Taylor.
Yo había Mathematica crear una aproximación de la forma $(a_0 + a_1 x + a_2 x^2) / (1 + a_3 x)$ con PadeApproximant[x^(1/2.4), {x, 0.2, {3, 2}}], que es mucho mejor que un simple 3er grado del polinomio, pero todavía no lo suficientemente bueno, así que quiero encontrar a un nivel global de la solución óptima, probablemente de la misma forma.
Traté de encontrar una solución de mínimos cuadrados como antes, pero implica 4 enormes, no-lineal de ecuaciones polinómicas, que se está llevando a Mathematica para siempre (he esperado 1/2 hora hasta el momento) para resolver.
Puede alguien sugerir cómo resolver esas ecuaciones no lineales, o de otra manera de encontrar una función racional de aproximación, o de una forma totalmente diferente de aproximación?
Gracias por la ayuda