Coma flotante (IEEE 754)

Nivel FundamentalDificultad ★★★★★Aplicación⌖ Ver en el mapa

¿Qué es?

La aproximación finita de los números reales que usan todos los ordenadores: ±m×2e\pm m \times 2^e con una mantisa de 53 bits en doble precisión. Unas 16 cifras significativas, error relativo de redondeo como mucho 2−532^{-53}, y un zoo de trampas: cancelación, desbordamiento, no asociatividad.

¿Por qué existe?

El cálculo vive en ℝ\R, donde existen los límites y hh puede tender a 0. Un ordenador tiene una cantidad finita de números, más separados cuanto más grandes. IEEE 754 (1985, Kahan) define ese conjunto y garantiza que cada operación se redondea correctamente, lo que hace posible el análisis numérico y la ciencia reproducible.

Fórmulas

x=(−1)s×1.f×2e−1023,εmach=2−52≈2.2×10−16x = (-1)^s \times 1.f \times 2^{e - 1023}, \qquad \varepsilon_{\text{mach}} = 2^{-52} \approx 2.2\times10^{-16}
(1017+1)−1017=0≠1=(1017−1017)+1(10^{17} + 1) - 10^{17} = 0 \ne 1 = (10^{17} - 10^{17}) + 1
la suma en coma flotante no es asociativa

¿Por qué importa?

Todos los temas numéricos de este portal acaban encontrándose con la coma flotante: las derivadas por diferencias finitas pierden cifras, las sumas largas derivan, las simulaciones caóticas divergen entre máquinas, y el aprendizaje automático entrena en formatos de 16 e incluso 8 bits donde estos problemas pasan a primer plano.

Las matemáticas que hay detrás

  • Números reales★★★★★fundamental

    Los dobles IEEE 754 son un subconjunto finito y no uniforme de ℝ\R; cada operación redondea de vuelta a él.

  • Error absoluto y relativo★★★★★fundamental

    La coma flotante está diseñada en torno a un error relativo garantizado por operación.

  • Estabilidad numérica★★★★★fundamental

    La cancelación catastrófica es la trampa clásica de la coma flotante; las reformulaciones estables la evitan.

  • Funciones logarítmicas★★★★★frecuente

    Multiplicar muchas probabilidades pequeñas da 0 por desbordamiento inferior; sumar sus logaritmos (log-sum-exp) no.

  • Método de Newton★★★★★frecuente

    El hardware y las librerías calculan 1/x1/x y x\sqrt x con una aproximación de tabla refinada con iteraciones de Newton.

  • Polinomio de Taylor★★★★★frecuente

    Las librerías matemáticas evalúan sin⁡\sin, exp⁡\exp, log⁡\log con aproximaciones polinómicas tras reducir el rango (minimax, refinadas a partir de Taylor).

  • Dominio y recorrido★★★★★frecuente

    Fuera del dominio, IEEE 754 devuelve NaN (sqrt(-1)) o ±∞ (log(0)) en vez de fallar.

  • Límite de una función★★★★★frecuente

    Acercarse a un límite con pasos diminutos en coma flotante provoca cancelación catastrófica.

  • Infinitésimos y equivalencias★★★★★frecuente

    expm1(x) y log1p(x) existen porque calcular ex−1e^x - 1 o ln⁡(1+x)\ln(1 + x) directamente pierde toda la precisión para xx diminuto.

  • Teorema de Taylor y resto★★★★★frecuente

    Quien diseña una librería acota el resto para decidir cuántos términos hacen falta para la precisión doble completa.

  • Convergencia absoluta y condicional★★★★★frecuente

    La suma en coma flotante no es asociativa; las reducciones paralelas reordenan los términos y dan diferencias entre ejecuciones: el orden importa.

  • Las diferencias de redondeo (orden de las operaciones, FMA, GPU) se amplifican exponencialmente en las simulaciones caóticas.

  • Límites infinitos★★★★★frecuente

    IEEE 754 tiene ±∞\pm\infty: 1.0/0.0 es inf, un sustituto finito de un límite infinito.

  • Series alternadas★★★★★frecuente

    Sumar términos alternos grandes cancela cifras; evaluar e−20e^{-20} con su serie en coma flotante da basura.

¿Dónde se utiliza?

Temas de informática a los que se llega desde aquí, con la cadena de ideas que lleva a ellos:

Qué depende de él

Ejercicios

1Informática

¿Por qué evaluar f′(1)f'(1) para f=exf = e^x con (f(1+h)−f(1))/h(f(1+h) - f(1))/h empeora cuando hh baja de unos 10−810^{-8}?

Solución

El error de truncamiento es ≈h2f′′\approx \frac{h}{2}f'' pero el de redondeo del numerador es ≈εf/h\approx \varepsilon f/h. Su suma es mínima en h≈ε≈10−8h \approx \sqrt\varepsilon \approx 10^{-8}; con hh menor domina el redondeo.

Esta página tiene lo esencial. Un desarrollo más completo (intuición, definición formal, ejemplo resuelto) está en camino.

↑ ↓ para navegar · ↵ · Esc