Inicio · Parte 01 — Aritmética computacional y representación numérica
error absoluto = |aprox − exacto|
error relativo = |aprox − exacto| / |exacto|
dígitos significativos correctos ≈ −log₁₀(error relativo)
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).
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.
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
exacto=1.0exacto=1000000.0conclusion{
"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"
}
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.
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.
9780898718027, pendiente de resolver.math.isclose — documentación de la herramienta que ejecuta el laboratorio · URL de la fuente primaria comprobada en Python Software Foundation (2026-08-19).