En el subcampo matemático del análisis numérico, la estabilidad numérica es una característica deseable de los algoritmos numéricos que la definición exacta de la estabilidad del depende del contexto, pero se relaciona con la exactitud del algoritmo.
Un solo cálculo puede ser alcanzado a veces de varias maneras, que son algebraico equivalente en términos de números verdaderos o complejos ideales, pero rendir en la práctica diversos resultados pues tienen diversos niveles de estabilidad numérica. Una de las tareas comunes del análisis numérico es intentar seleccionar los algoritmos que son &mdash robusto del ; es decir, tener buena estabilidad numérica.
Como ejemplo de un algoritmo inestable, considerar la tarea de agregar un arsenal de 100 números. Para simplificar cosas, asumir que nuestra computadora tiene solamente dos dígitos de precisión (por ejemplo, usted puede representar solamente números en los centenares como 100, 110, 120, etc.
La manera obvia de hacer esto sería el pseudo-code siguiente:
suma = 0 para i = 1 a 100 hace suma = suma + a extremo
Que las miradas razonables, pero asumen el primer elemento en el arsenal es 1.0 y los otros 99 elementos son 0. En matemáticas pura, la respuesta sería 1. Sin embargo, en nuestra computadora de dos dígitos, una vez que los 1.0 fueran agregados en la variable de la suma, el adición en 0.01 no tendría ninguÌn efecto sobre la suma, y así que la respuesta final sería 1.0 - no una aproximación muy buena de la respuesta verdadera.
Un algoritmo estable primero clasificaría el arsenal por los valores absolutos de los elementos en orden creciente. Esto se asegura de que los números más cercanos a cero sean tomados en la consideración primero. Una vez que se realiza ese cambio, todos los 0.01 elementos serán agregados, dando 0.99, y entonces el elemento 1.0 será agregado, rindiendo un resultado redondeado de 2.0 - una aproximación mucho mejor del resultado verdadero.
Hay maneras diferentes de formalizar el concepto de estabilidad. Las definiciones siguientes de la estabilidad delantera, posterior, y mezclada son de uso frecuente en la álgebra linear numérica .
Considerar el problema ser solucionado por el algoritmo numérico como f de la función que traza el x de los datos al y de la solución. El resultado del algoritmo, dice el y *, se desviará generalmente del " true" y de la solución. Las causas principales del error son el error Round-off, el error de truncamiento y el error de datos . El error delantero algoritmo es la diferencia entre el resultado y la solución; en este caso, Δ y = y * − y . El error posterior del es el &Delta más pequeño; x tales que f ( x + Δ x ) = y *; es decir el error posterior nos dice qué problema solucionó el algoritmo realmente. El error delantero y posterior es relacionado por el número de la condición: el error delantero es a lo más tan grande en magnitud como el número de la condición multiplicado por la magnitud del error posterior.
En muchos casos, es más natural considerar el