🧮 Computational Mathematics

Inicio · Parte 11 — Métodos numéricos y computación científica

225 — Interpolación de Lagrange

cientifico clase 5 de 20 4 horas demostración lagrange_interpolation

Subir el grado del polinomio interpolador empeora la aproximación en vez de mejorarla.

Fórmulas

P(x) = Σ yᵢ · Πⱼ≠ᵢ (x − xⱼ)/(xᵢ − xⱼ)
n puntos determinan un único polinomio de grado ≤ n−1
nodos de Chebyshev: xₖ = cos((2k+1)π / 2n)

Desarrollo

Por n puntos con abscisas distintas pasa un único polinomio de grado a lo sumo n−1. La forma de Lagrange lo construye explícitamente como combinación de bases que valen 1 en su nodo y 0 en los demás. Es elegante para demostrar la existencia y unicidad, y mala para calcular: las formas de Newton o baricéntrica son numéricamente preferibles.

El resultado que hay que retener es negativo y contraintuitivo. Al aumentar el número de nodos equiespaciados, el polinomio no converge a la función: oscila cada vez más violentamente cerca de los extremos del intervalo. Es el fenómeno de Runge, y su ejemplo canónico es 1/(1+25x²), donde el error máximo crece con el grado.

La causa no es el redondeo sino la propia teoría: el término de error de interpolación contiene el producto de las distancias a todos los nodos, y con nodos equiespaciados ese producto se dispara cerca de los bordes. La consecuencia práctica es que interpolación de grado alto y nodos uniformes no se deben combinar nunca.

Hay dos salidas. La primera es cambiar los nodos: los de Chebyshev se concentran cerca de los extremos y controlan el producto, haciendo que el error sí decrezca con el grado. La segunda, más usada en la práctica, es renunciar al grado alto y usar trozos de grado bajo, que es exactamente lo que hacen los splines de la clase siguiente.

Ejemplo trabajado

Runge sobre 1/(1+25x²): el error crece con el grado.

Interpolación por 3 puntos (1,1), (2,3), (4,7):
  el polinomio evaluado da [1,75 ; 4,75] en x = 1,5 y 3
  pasa exactamente por los nodos: 1, 3, 7                ✓

Función de Runge con nodos equiespaciados:

  grado    error máximo
    5        0,438177
    9        1,045174
   13        3,656710

El error se multiplica por 8 al pasar de grado 5 a 13.
Más grado, peor aproximación.

Con nodos de Chebyshev el error sí decrece con el grado.

Qué calcula el laboratorio

Interpolación de Lagrange y el fenómeno de Runge.

python classes/part-11-metodos-numericos-y-computacion-cientifica/225-interpolacion-de-lagrange/lab.py
compmath run 225

Salidas del laboratorio (5)

Muestra de la ejecución real

{
  "polinomio_por_3_puntos": [
    1.75,
    4.75
  ],
  "pasa_por_los_nodos": [
    1.0,
    3.0,
    7.0
  ],
  "error_maximo_de_Runge_por_grado": {
    "n=5": 0.438177,
    "n=9": 1.045174,
    "n=13": 3.65671
  },
  "el_error_crece_con_el_grado": true,
  "solucion": "nodos de Chebyshev o splines por tramos"
}

Errores comunes

Dónde se usa

Reconstrucción de curvas a partir de muestras, diseño de esquemas de cuadratura, aproximación de funciones costosas y remuestreo de señales.

Idea rectora de la parte

Un solver sin estimación de error es un generador de números plausibles.

Error a evitar

Iterar sin límite máximo y colgar el proceso.

Conexión con IA

Los Neural ODE, los samplers de difusión y los optimizadores de segundo orden son métodos numéricos con parámetros aprendidos.

Bibliografía de la clase

Archivos de la clase