Estabilidad numérica

Keywords: Estabilidad numérica, Algoritmo, Análisis numérico, Dígito, Error absoluto, Error relativo, Lenguajes de programación, Matemática


Imagen no existente
Icon-gears.png


Uno o más wikipedistas están actualmente trabajando en este artículo; los defectos en formato o contenido pueden deberse a ello. Por favor, antes de realizar correcciones mayores o reescrituras, contacta con ellos en su página de usuario o la página de discusión del artículo para poder coordinar la redacción.


En el subcampo matemático del análisis numérico, la estabilidad numérica es una propiedad de los algoritmos numéricos. Describe cómo los errores en los datos de entrada se propagan a través del algoritmo. En un método estable, los errores debidos a las aproximaciones get damped out as la computación procede. En un método inestable, cualquier error en el procesamiento se magnifica as el cálculo procede. Métodos inestables generan rápidamente basura y son inútiles para el procesamiento numérico.

La estabilidad numérica de un método junto con el número condición () define cuán buen resultado podemos obtener usando métodos aproximados para calcular cierto problema matemático.

Algunas veces un sólo cálculo puede ser logrado de varias maneras, todas las cuales son algebraicamente idénticas en términos de números ideales reales o complejos, pero en la práctica producen resultados diferentes mientras (as) tienen diferentes niveles de estabilidad numérica. Una de las tareas comunes del análisis numérico es tratar de seleccionar algoritmos robustos -- esto es, que tienen una buena estabilidad numérica en un amplia rango (range) de situaciones. Éstos métodos están frecuentemente disponibles para usuarios de lenguajes de programación como librerías de computación matemática ( ver mathematical computing libraries). El uso apropiado de librerías (libraries) de computación matemática es usualmente muy superior a algoritmos numéricos "roll you own".

Definición

Dado un algoritmo f(x), con x los datos de entrada y ε el error en los datos de entrada, decimos que el algoritmo es numéricamente estable para el error relativo si

x - (x + \epsilon) \simeq f(x) - f(x + \epsilon)

y numéricamente estable para el error absoluto si

\frac{x - (x + \epsilon)}{x} \simeq \frac{f(x) - f(x + \epsilon)}{f(x)}

Decimos que un algoritmo es numéricamente inestable para el error relativo si

x - (x + \epsilon) << f(x) - f(x + \epsilon)\

y numéricamente inestable para el error absoluto si

\frac{x - (x + \epsilon)}{x} << \frac{f(x) - f(x + \epsilon)}{f(x)}

Notas

Cuando se calculan soluciones numéricas a ciertas ecuaciones diferenciales parciales, la estabilidad se consigue algunas veces incluyendo la difusión numérica. La difusión numérica es un término matemático que asegura que errores de redondeo y de otro tipo en los cálculos se YYY (spread out) y no se sumen para causar que el cálculo YYY "blow up".

La estabilidad numérica es la razón por la cual no se puede normalmente probar (testear) un código numérico como la simulación del clima corriéndolo hacia atrás (backward). Correr el código hacia adelante (forward) incluye métodos numéricos para asegurar que los erroes de aproximación aleatorios se vuelvan (become) menos y menos importantes mientras (as) el cálculo procede asegurando la estabilidad numérica. Correr el código hacia atrás causa que esos mecanismos magnifiquen esos errores generando resultados inútiles.

Cuando se resuleve un problema numérico con un método aproximado, dos tipos de errorres pueden ocurrir:

Keywords: Estabilidad numérica, Algoritmo, Análisis numérico, Dígito, Error absoluto, Error relativo, Lenguajes de programación, Matemática