🧮 Computational Mathematics

Inicio · Parte 01 — Aritmética computacional y representación numérica

030 — Error absoluto y error relativo

basico-computacional clase 10 de 20 4 horas demostración absolute_relative_error

El error relativo es la magnitud que se propaga; el absoluto solo tiene sentido con la escala declarada.

Fórmulas

error absoluto = |aprox − exacto|
error relativo = |aprox − exacto| / |exacto|
dígitos significativos correctos ≈ −log₁₀(error relativo)

Desarrollo

Un error absoluto sin escala es una cifra sin significado. Diez unidades de error son catastróficas si el valor exacto es 1 e irrelevantes si es un millón. El error relativo normaliza esa comparación y por eso es la magnitud que se usa para hablar de precisión.

La relación con los dígitos significativos es directa y muy útil: un error relativo de 10⁻⁶ significa aproximadamente 6 dígitos correctos. Como el epsilon de máquina de float64 es ≈2.2·10⁻¹⁶, ningún cálculo en doble precisión puede prometer más de unos 16 dígitos, y prometer más es exagerar la certeza.

Los dos errores se comportan de forma distinta al operar. Al multiplicar o dividir, los errores relativos se suman aproximadamente. Al sumar o restar, los errores absolutos se suman. Esa asimetría explica por qué la resta de números parecidos es peligrosa —el error absoluto se mantiene pero el resultado se hace pequeño, así que el relativo explota— y es el contenido de la clase 032.

La consecuencia práctica: al reportar un resultado numérico hay que decir cuál de los dos errores se está acotando y con respecto a qué. Un criterio de parada basado solo en el error absoluto falla si la escala del problema es muy grande o muy pequeña (clase 233).

Ejemplo trabajado

Dos aproximaciones con errores absolutos muy distintos.

Caso A:  exacto = 1.0            aprox = 1.01
         error absoluto = 0.01
         error relativo = 0.01   → 1 %      ~2 dígitos correctos

Caso B:  exacto = 1 000 000.0    aprox = 1 000 010.0
         error absoluto = 10.0   (1000× mayor que en A)
         error relativo = 1e−5   → 0.001 %  ~5 dígitos correctos

Conclusión: B es 1000 veces más preciso pese a tener
            un error absoluto 1000 veces mayor.

Qué calcula el laboratorio

El error relativo es el que se propaga; el absoluto engaña con la escala.

python classes/part-01-aritmetica-computacional-y-representacion-numerica/030-error-absoluto-y-error-relativo/lab.py
compmath run 030

Salidas del laboratorio (3)

Muestra de la ejecución real

{
  "exacto=1.0": {
    "aproximado": 1.01,
    "error_absoluto": 0.010000000000000009,
    "error_relativo": 0.010000000000000009
  },
  "exacto=1000000.0": {
    "aproximado": 1000010.0,
    "error_absoluto": 10.0,
    "error_relativo": 1e-05
  },
  "conclusion": "error absoluto mayor no implica peor aproximación"
}

Errores comunes

Dónde se usa

Criterios de parada (parte 11), tolerancias de test, informes de precisión y comparación de implementaciones. La clase 040 construye un auditor basado en esta métrica.

Idea rectora de la parte

Reproducibilidad numérica exige fijar orden de operaciones, no solo semillas.

Error a evitar

Comparar floats con `==` en lugar de una tolerancia razonada.

Conexión con IA

float32, bfloat16 y la cuantización a int8 son decisiones de representación. Los NaN en un entrenamiento casi siempre nacen aquí, no en la arquitectura.

Bibliografía de la clase

Archivos de la clase