La PizarraMatemática.

Matemáticas para ingeniería

Condicionamiento y estabilidad numérica

Imagina que dos mediciones casi iguales se restan: una pequeña incertidumbre puede cambiar mucho la diferencia. ¿Falló la cuenta o el propio problema era sensible? El condicionamiento mide esa sensibilidad; la estabilidad examina cómo calcula un algoritmo. Aprenderemos a medir ambos sin confundir un residuo pequeño con una respuesta precisa.

1. Primero declaramos qué entra, qué sale y qué puede cambiar

Un problema se representa como y=f(x), en su dominio.

Los datos pueden variar a x+Δx y la solución exacta cambia a f(x+Δx). El condicionamiento compara esos cambios. Debemos declarar qué datos se perturban, cómo medimos sus tamaños y si usamos errores absolutos o relativos.

El algoritmo es el procedimiento que produce una aproximación ỹ. Dos algoritmos para el mismo problema pueden tener estabilidad distinta. El problema conserva su condición aunque cambiemos de calculadora. También puede cambiar la condición si cambiamos la pregunta, la escala o qué entradas consideramos inciertas.

Una recta amplifica errores absolutos de forma transparente

El problema es y=10x; x=2 cambia a 2,001.

  1. Referencia

    f(2)=20.
  2. Entrada perturbada

    Δx=0,001 y f(2,001)=20,01.
  3. Comparar cambios

    |Δy|/|Δx|=0,01/0,001=10.

    En relativo, ambos cambios son 0,05 %.

Resultado

La amplificación absoluta vale diez y la relativa uno.

Lo comprobamos

No se ha ejecutado un algoritmo aproximado: estas son cuentas exactas del problema.

Decidir qué dato permanece fijo cambia la pregunta

Queremos calcular x−c, con x=5 y c=4.

  1. Solo x incierto

    Si c es exacto y Δx=0,01, la salida cambia en 0,01.
  2. Ambos inciertos

    Si además Δc=−0,01, la salida cambia en 0,01−(−0,01)=0,02.
  3. Modelo

    La sensibilidad debe referirse al conjunto de perturbaciones que realmente permitimos.

Resultado

No se informa un número de condición sin especificar el modelo.

Lo comprobamos

La resta exacta sigue siendo la misma operación, pero las incertidumbres admisibles son distintas.

2. La derivada da la amplificación local; el cociente relativo necesita denominadores no nulos

Para f diferenciable escalar, f(x+Δx)−f(x)=f′(x)Δx+o(|Δx|).

Así κ_abs(x)=|f′(x)| mide la amplificación absoluta de primer orden. Si x≠0 y f(x)≠0, dividir por los tamaños de entrada y salida da κ_rel(x)=|x f′(x)/f(x)|.

Es una descripción local: para perturbaciones finitas hay términos de orden superior. Si f′(x)=0, desaparece el primer orden, pero la función no tiene por qué ser constante. Si x o f(x) son cero, esta fórmula relativa no está definida; usamos una medida absoluta o escalas elegidas y declaradas.

Una raíz cuadrada reduce a la mitad los cambios relativos pequeños

f(x)=√x, x>0; evaluamos x=9.

  1. Derivar

    f′(x)=1/(2√x), así κ_abs(9)=1/6.
  2. Normalizar

    κ_rel(9)=|9·(1/6)/3|=1/2.
  3. Verificar con un cambio conocido

    9→9,0601 es un cambio de 0,0601/9≈0,6678 %.
    La raíz cambia 3→3,01, aproximadamente 0,3333 %.
Resultado

La razón de cambios relativos se aproxima a un medio cuando la perturbación tiende a cero.

Lo comprobamos

Para el cambio finito no afirmamos que la proporción sea exactamente un medio.

Derivada cero no significa salida invariable

f(x)=x² en x=0; aplicamos Δx=0,01.

  1. Primer orden

    f′(0)=0, por lo que κ_abs(0)=0.
  2. Cambio real

    f(0,01)−f(0)=0,0001=(Δx)².
  3. Medida relativa

    No usamos |x f′/f| en cero: f(0)=0 y el denominador se anula.
Resultado

La variación empieza en segundo orden, aunque la condición absoluta de primer orden sea cero.

Lo comprobamos

Separamos la aproximación lineal de la función completa.

3. Una diferencia pequeña puede ser sensible aunque la resta sea exacta

Si c es fijo y f(x)=x−c, entonces κ_abs=1 y κ_rel=|x/(x−c)| donde corresponde. Cerca de c, un cambio absoluto pequeño puede representar una fracción grande de la salida. Este fenómeno existe incluso en aritmética exacta.

Si ambos datos x, y varían con |Δx|≤η|x| y |Δy|≤η|y|, la diferencia tiene error relativo a lo sumo η(|x|+|y|)/|x−y|, siempre que x−y≠0. La suma de magnitudes aparece por la desigualdad triangular. Esta es otra condición, para otro modelo de perturbación.

Un cambio mínimo en la entrada puede verse grande en la diferencia

c=2; x=2,001; Δx=0,000001.

  1. Salida

    f(x)=0,001 y f(x+Δx)=0,001001.
  2. Comparar porcentajes

    El cambio relativo de salida es 0,000001/0,001=0,001; el de entrada es 0,000001/2,001.
  3. Cociente

    Dividir ambos cambios da 2,001/0,001=2001, la condición relativa.
Resultado

κ_rel=2001; κ_abs=1.

Lo comprobamos

No hemos supuesto errores de la última resta para obtener la amplificación.

Dos mediciones cercanas acumulan incertidumbre

x=1000,1; y=1000; cada dato tiene error relativo como máximo η=0,00001.

  1. Referencia

    x−y=0,1.
  2. Cambios opuestos permitidos

    Δx=0,010001 y Δy=−0,01.

    La diferencia aumenta en 0,020001.

  3. Cota alcanzada

    El cambio relativo es 0,020001/0,1=0,20001=20,001 %.
    La condición del modelo vale 2000,1/0,1=20001.
Resultado

Una incertidumbre de 0,001 % en cada dato permite 20,001 % en la diferencia.

Lo comprobamos

Conocer muchos decimales del resultado de la resta no elimina esa incertidumbre de entrada.

4. El error hacia delante compara la salida calculada con la solución exacta

Fijada la entrada x, el error hacia delante absoluto es |ỹ−f(x)|, o la norma correspondiente para vectores. Su versión relativa divide por |f(x)| si no es cero. Esta medida responde a cuánto nos hemos equivocado en la respuesta del problema original.

Que dos programas coincidan es un indicio, pero no una prueba: pueden compartir datos redondeados o un mismo error de planteamiento. Tampoco se deduce precisión de la longitud de un decimal impreso. Necesitamos una referencia exacta, una cota o un control independiente.

Medir una aproximación a un inverso

Para x=4, un algoritmo devuelve ỹ=0,249 al calcular f(x)=1/x.

  1. Solución exacta

    f(4)=1/4=0,25.
  2. Error absoluto

    |0,249−0,25|=0,001.
  3. Error relativo

    0,001/0,25=0,004=0,4 %.
Resultado

El error hacia delante es 0,001 en absoluto y 0,4 % en relativo.

Lo comprobamos

El divisor es la salida de referencia, no el dato de entrada cuatro.

Más cifras impresas pueden dar una peor aproximación

Para 1/3 comparamos A=0,3333 y B=0,330000000000.

  1. Referencia exacta

    1/3−3333/10000=1/30000.
  2. Ceros que no añaden precisión

    B sigue siendo 33/100; su error es 1/300.

  3. Comparar

    (1/300)/(1/30000)=100.

    La segunda aproximación tiene cien veces más error absoluto.

Resultado

A es mejor aunque B muestre más caracteres.

Lo comprobamos

Los ceros finales no reparan las cifras equivocadas anteriores.

5. El error hacia atrás pregunta qué dato cercano justificaría exactamente la salida

Buscamos una perturbación admisible Δx tal que ỹ=f(x+Δx). Su tamaño mide error hacia atrás; si hay varias, puede interesar la menor según la norma declarada. Puede no existir una perturbación del tipo permitido, por ejemplo si la salida queda fuera de la imagen del problema.

Un algoritmo estable hacia atrás produce soluciones exactas de problemas con pequeñas perturbaciones de los datos, bajo un modelo y cotas establecidos para sus entradas. Una sola ejecución con error hacia atrás pequeño no prueba estabilidad del algoritmo completo. Si la condición es grande, hasta un error hacia atrás pequeño puede generar gran error hacia delante.

La relación κ·error hacia atrás es local y puede tener términos superiores.

Un resultado cercano hacia atrás puede ser malo hacia delante

f(x)=x−1; x=1,0001; el resultado calculado es ỹ=0,0002.

  1. Salida ideal

    f(x)=0,0001: el error relativo hacia delante es 0,0001/0,0001=1, es decir 100 %.
  2. Dato que explica la salida

    f(1,0002)=0,0002, así Δx=0,0001.
  3. Normalizar

    El error relativo hacia atrás es 0,0001/1,0001=1/10001; κ_rel=10001.

    El producto da uno en este caso lineal.

Resultado

La mala precisión de salida es compatible con un dato justificativo muy cercano.

Lo comprobamos

Esto describe esta ejecución; no certifica la estabilidad de un algoritmo para todas sus entradas.

El término cuadrático sigue presente

f(x)=x²; x=2; el algoritmo devuelve 4,0401.

  1. Encontrar el dato cercano

    4,0401=2,01², así sirve Δx=0,01.
  2. Error hacia atrás

    Δx/x=0,005.
  3. Error hacia delante

    (4,0401−4)/4=0,010025=2·0,005+0,005².
Resultado

El producto por κ_rel=2 da el primer orden; falta el término 0,000025.

Lo comprobamos

En el dominio positivo el dato justificativo elegido es la raíz positiva de la salida.

6. En un sistema lineal, el residuo se convierte en error mediante la inversa

Para Ax=b, con A invertible y solución exacta x, una aproximación x̃ tiene residuo r=b−Ax̃.

Restar las ecuaciones da A(x−x̃)=r y por tanto x−x̃=A⁻¹r.

Un residuo pequeño solo controla el error si controlamos también A⁻¹.

La sensibilidad depende de la dirección de la perturbación
A(x, y)=(x, y/5)Entradas de norma 1Imagen de la esferaAl invertir, el error verticalse multiplica por 5.
A la misma escala, el círculo unidad se convierte en una elipse de semiejes 1 y 1/5. La inversa conserva los errores horizontales y multiplica los verticales por cinco. En norma euclídea, ‖A‖=1, ‖A⁻¹‖=5 y κ(A)=5.

Con una norma vectorial y la norma matricial subordinada, κ(A)=‖A‖‖A⁻¹‖≥1.

Si b≠0, la identidad y ‖b‖≤‖A‖‖x‖ dan ‖x−x̃‖/‖x‖≤κ(A)‖r‖/‖b‖.

Manteniendo A fija, x̃ resuelve exactamente Ax̃=b−r: el residuo es también una perturbación del segundo miembro, con signo menos.

Un residuo de una diezmilésima puede ocultar error de tamaño uno

En norma euclídea, A=diag(1; 0,0001), b=(1;0), x̃=(1;1).

  1. Solución y residuo

    x=(1;0).
    Ax̃=(1;0,0001), así r=(0;−0,0001).
  2. Normas

    ‖r‖/‖b‖=0,0001. ‖x−x̃‖/‖x‖=1.
  3. Condición

    ‖A‖=1 y ‖A⁻¹‖=10000; la cota da 10000·0,0001=1.
Resultado

El residuo relativo es pequeño y el error relativo llega al 100 %.

Lo comprobamos

La igualdad x−x̃=A⁻¹r reproduce exactamente el error (0;−1).

Con referencia cero usamos controles absolutos

A=2I, b=(0;0), x̃=(0,00000001;0).

  1. Solución exacta

    La única solución es x=(0;0).
  2. Residuo

    r=−2x̃, con norma 0,00000002.
  3. Cota absoluta

    ‖A⁻¹‖=1/2, así ‖x−x̃‖≤(1/2)‖r‖=0,00000001.
Resultado

La cota absoluta funciona; las versiones relativas a b o x no están definidas.

Lo comprobamos

No dividimos por cero para fabricar un porcentaje.

7. La condición es un peor caso: la dirección y las escalas importan

κ(A) limita la amplificación máxima según la norma elegida; no dice que toda perturbación la alcance. Algunas direcciones se transmiten suavemente y otras se amplifican mucho. Cambiar unidades o variables cambia la geometría y la interpretación de la condición; debemos explicar en qué variables queremos precisión.

La regularización cambia el problema para reducir sensibilidad, habitualmente introduciendo sesgo. No se presenta como una recuperación exacta de información perdida. Del mismo modo, escalar puede mejorar el comportamiento de un algoritmo, pero al volver a las variables físicas originales reaparece la sensibilidad correspondiente.

Perturbaciones iguales en tamaño, distintas en efecto

A=diag(1;0,0001), b=(1;0); comparamos dos cambios de norma 0,001 en b.

  1. Primera dirección

    Δb=(0,001;0) da Δx=A⁻¹Δb=(0,001;0).
  2. Segunda dirección

    Δb=(0;0,001) da Δx=(0;10).
  3. Comparar

    El tamaño de los cambios de entrada coincide, pero el segundo cambio de salida es diez mil veces mayor que el primero.

Resultado

La cota de peor caso no predice igual daño para todas las direcciones.

Lo comprobamos

Se mantiene la misma norma euclídea en las dos comparaciones.

Cambiar de variable facilita la ecuación sin borrar la incertidumbre original

En el mismo sistema definimos z=(x₁;0,0001x₂).

  1. Nuevo sistema

    La ecuación se vuelve z=b, con matriz identidad y condición uno para z.

  2. Recuperar x

    x₁=z₁ y x₂=10000z₂.
  3. Error físico

    Un error de 0,001 en z₂ sigue dando error diez en x₂.

Resultado

Buen condicionamiento de la nueva variable no garantiza precisión de todas las variables originales.

Lo comprobamos

Las escalas deben acompañar a cualquier número de condición que se publique.

Regularizar reduce amplificación y puede introducir sesgo

Una coordenada satisface σx=b, con σ=0,001. Usamos x_λ=σb/(σ²+λ), λ=σ².

  1. Sin regularizar

    El factor que multiplica b es 1/σ=1000.
  2. Nuevo factor

    σ/(σ²+λ)=0,001/0,000002=500.
  3. Sesgo visible

    Si el dato exacto viene de x=1, b=σ; la fórmula regularizada devuelve 1/2.

Resultado

Se reduce a la mitad la amplificación de ruido, pero se introduce error incluso sin ruido.

Lo comprobamos

Elegir λ requiere un criterio adicional; no equivale a resolver exactamente la ecuación original.

8. Si también cambia la matriz, la condición de pequeñez es esencial

Con (A+ΔA)(x+Δx)=b+Δb se obtiene (I+A⁻¹ΔA)Δx=A⁻¹(Δb−ΔA x).

Si ‖A⁻¹ΔA‖<1, la serie de Neumann asegura que el factor de la izquierda es invertible.

Una condición suficiente es κ(A)δ_A<1, con δ_A=‖ΔA‖/‖A‖.
Para x, b no nulos, poniendo δ_b=‖Δb‖/‖b‖ resulta ‖Δx‖/‖x‖≤κ(A)(δ_A+δ_b)/(1−κ(A)δ_A).

Se deduce aplicando la cota 1/(1−‖A⁻¹ΔA‖) a la identidad anterior. No se usa el cociente si el denominador no es positivo; tampoco se oculta que la norma subordinada y los datos perturbados deben ser compatibles.

Aplicar la cota con margen positivo

κ(A)=10, δ_A=0,001 y δ_b=0,002.

  1. Comprobar

    κδ_A=0,01<1.
  2. Numerador

    κ(δ_A+δ_b)=10·0,003=0,03.
  3. Dividir

    El error relativo está acotado por 0,03/0,99=1/33≈0,030303.
Resultado

La cota es aproximadamente 3,03 %, no la suma simple de los dos porcentajes de entrada.

Lo comprobamos

Es una cota superior, no una predicción de igualdad.

En el borde puede perderse la invertibilidad

A=diag(1;0,001), ΔA=diag(0;−0,001), con norma euclídea subordinada.

  1. Tamaños

    ‖A‖=1, ‖A⁻¹‖=1000 y δ_A=0,001.
  2. Producto crítico

    κδ_A=1, que no cumple la desigualdad estricta.
  3. Matriz nueva

    A+ΔA=diag(1;0) es singular; no hay inversa ni solución única general.

Resultado

La hipótesis κδ_A<1 protege de una posible singularidad.

Lo comprobamos

El caso de igualdad no se introduce en una fórmula cuyo denominador sería cero.

9. El diagnóstico final combina condición del problema y estabilidad de la fórmula

Para decidir qué mejorar, identificamos las incertidumbres de entrada, estimamos la condición y examinamos el algoritmo. Una fórmula puede introducir cancelación evitable en un problema bien condicionado. Si la información de entrada ya es insuficiente, aumentar la precisión de las operaciones no la inventa.

Un informe útil indica el problema, la escala del error, el modelo de perturbación, la aproximación y su control. Si se usa un residuo, se explica cómo se convierte en error. Si solo hay un experimento con más precisión, se presenta como comprobación experimental y no como certificado universal.

Una resta inestable puede ocultar un problema bien condicionado

f(h)=√(1+h)−1 con h como dato primario, h>−1 y h≠0.

  1. Derivar

    f′(h)=1/(2√(1+h)).
  2. Condición relativa

    Racionalizando h=(√(1+h)−1)(√(1+h)+1), queda κ_rel=(√(1+h)+1)/(2√(1+h)).
  3. Cerca de cero

    Esta expresión tiende a uno. El problema respecto de h no se vuelve relativamente mal condicionado, aunque la forma con resta pueda perder precisión.

Resultado

Reformular como h/(√(1+h)+1) aborda un problema del cálculo.

Lo comprobamos

Si solo se conserva una entrada x=fl(1+h), y h se perdió, el modelo de datos ya es otro.

Más precisión aritmética no corrige una medición desconocida

Se mide x=1,000 con incertidumbre ±0,001 y se quiere y=x−1.

  1. Intervalo de entrada

    El valor real puede estar entre 0,999 y 1,001.

  2. Propagar exactamente

    La salida puede estar entre −0,001 y 0,001.

  3. Conclusión

    El intervalo contiene cero y ambos signos. Ninguna cantidad de decimales de la resta revela cuál era el valor medido exacto.

Resultado

La limitación procede de la información de entrada.

Lo comprobamos

Podríamos mejorar la medición o cambiar la pregunta; no certificar un porcentaje respecto de una salida que puede ser cero.

Ahora lo resolvemos de principio a fin.

EJEMPLO RESUELTO 1

Condición de elevar al cuadrado

Calcula κ relativo de f(x)=x² para x≠0.

  1. Definir el problema

    f(x)=x², x≠0.

    Su salida también es no nula, de modo que la condición relativa está definida.

  2. Derivar

    f′(x)=2x.
  3. Usar la escala relativa

    κ_rel=|x f′(x)/f(x)|=|x·2x/x²|.
  4. Simplificar

    Como x²≠0, el cociente vale |2|=2.
  5. Comprobar sin derivada

    Un cambio x→x(1+ε) produce f→x²(1+ε)²; el cambio relativo firmado es 2ε+ε².
  6. Interpretar

    Para ε pequeño domina 2ε. La condición dos describe el primer orden, no una igualdad exacta para todo ε.

Resultado

κ=2.

Lo comprobamos

Una perturbación relativa ε produce (1+ε)²−1=2ε+ε², aproximadamente 2ε.

EJEMPLO RESUELTO 2

Una resta sensible

Calcula κ relativo de f(x)=x−1 en x=1,01.

  1. Identificar qué cambia

    f(x)=x−1; el uno es fijo y x=1,01 es el dato perturbable.
  2. Salida de referencia

    f(1,01)=0,01≠0.
  3. Derivada

    f′(x)=1.
  4. Calcular

    κ_rel=|1,01·1/0,01|=101.
  5. Control con un incremento

    Si Δx=0,0001, la salida cambia lo mismo; 0,0001/0,01=0,01, es decir 1 %.
  6. Comparar con la entrada

    Su cambio relativo es 0,0001/1,01; el cociente entre cambios relativos es 101. La amplificación absoluta sigue siendo uno.

Resultado

κ=101.

Lo comprobamos

Un cambio absoluto de 0,0001 produce el mismo cambio en f, pero representa 1 % de 0,01.

Los símbolos que hemos usado

Problema f
Aplicación matemática que transforma datos en una respuesta.
κ_abs
Sensibilidad absoluta local; en el caso escalar diferenciable es |f′(x)|.
κ_rel
Sensibilidad relativa local |xf′(x)/f(x)|, cuando x y f(x) no son cero.
Error hacia delante
Distancia entre respuesta calculada y respuesta del dato original.
Error hacia atrás
Tamaño de la perturbación de los datos que hace exacta la respuesta calculada.
Residuo
Incumplimiento de las ecuaciones al sustituir una aproximación.
κ(A)
‖A‖‖A⁻¹‖ para una matriz invertible y una norma matricial compatible.

Ahora te toca a ti.

Tienes cinco ejercicios. Inténtalos; las pistas te ayudan si te atascas.

Practicar este tema →

Para ampliar