miércoles, 2 de agosto de 2023

Acerca de los errores de truncamiento empleando representaciones máquina: inestabilidades

Si en un entorno que usa el estándar IEEE Double Precision, se realiza el cálculo $e^{-10}$ mediante el truncamiento de la serie de potencias $$e^x=\displaystyle \sum_{i=0}^{30}\,\dfrac{x^i}{i!} \approx 1+\dfrac{x}{1!}+\dfrac{x^2}{3!}+\dfrac{x^3}{3!}+\ldots+\dfrac{x^{30}}{30!}$$, y el resultado aproximado es $9.703415796025505 \times 10^{-4}$. El error de truncamiento viene dado por $\dfrac{e^\xi}{(n+1)!}$ donde $-10 \prec \xi \prec 0$, y $n=30$, por lo que tomamos el error de dicha aproximación como $E(-10):=\dfrac{1}{31!} \overset{n:=30}{\succ} \dfrac{e^{\xi}}{31!}$.

Ahora bien, el resultado exacto de $e^{-10}$ es igual a $4.539992976248485 \times 10^{-5}$, el error relativo de dicho resultado aproximado es enorme (!): $$\dfrac{|4.539992976248485 \times 10^{-5}-9.703415796025505 \times 10^{-4}|}{4.539992976248485 \times 10^{-5}} \approx 20 = 2\,000\,\% $$ Tal inexactitud se debe a la acumulación de los pequeños errores causados al operar en aritmética finita, los cuales se han magnificado a lo largo del cálculo, por lo que podemos decir que el algoritmo de cálculo que hemos utilizado es muy inestable.

Nota: Tengamos en cuenta que si se calcula $e^{-10}$ de la forma $\dfrac{1}{e^{10}}$, desarrollando en serie de potencias el denominador, se obtiene como resultado $4,539993338712231 \times 10^{-5}$ que es muy próximo al valor exacto $4.539992976248485 \times 10^{-5}$, obteniéndose en ese caso un error relativo $\dfrac{|4.539992976248485 \times 10^{-5}-4,539993338712231 \times 10^{-5} \times 10^{-4}|}{4.539992976248485 \times 10^{-5}}\approx$ $\approx 8\times 10^{-8}=8\times 10^{-6}\,\%$

En conclusión, la causa de que un procedimiento de cálculo produzca resultados tan imprecisos es debida a la inestabilidad del algoritmo de cálculo ( un error en alguna etapa del cálculo se propaga de manera creciente a las siguientes etapas ). Así que, para evitar tal efecto - los errores debidos a los cálculos en artimética finita de un sistema de cálculo automático son inevitable - es necesario emplear algoritmos estables. $\square$

No hay comentarios:

Publicar un comentario