🧮 Computational Mathematics

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

240 — Capstone: solver numérico con informe de error

cientifico clase 20 de 20 4 horas demostración capstone_numerical_solver

Un solver serio reporta su método, su tolerancia, su coste y su error estimado.

Fórmulas

comparar métodos por evaluaciones de f, no por número de pasos
orden empírico: log₂(errorₕ / error_{h/2})
reportar: método, tolerancia, iteraciones, residuo

Desarrollo

El capstone integra la parte entera resolviendo dos problemas —una EDO y una raíz— con varios métodos, y produciendo un informe comparativo. El objetivo no es encontrar el resultado sino justificarlo: qué método, con qué tolerancia, a qué coste y con qué error estimado.

La métrica de comparación correcta es el número de evaluaciones de la función, no el número de pasos. RK4 da un paso por cada cuatro evaluaciones, y comparar «5 pasos de RK4» con «5 pasos de Euler» es comparar cuatro unidades de trabajo con una. Con la métrica correcta, RK4 sigue ganando por un margen enorme, y esa es la conclusión defendible.

El orden empírico se mide ejecutando con h y h/2 y tomando el logaritmo en base 2 del cociente de errores. Si sale 1 para Euler y 4 para RK4, la implementación es correcta; si sale otra cosa, hay un error o el problema no cumple las hipótesis de suavidad. Es la prueba unitaria natural de un integrador.

El informe final debe declarar lo mismo que declararía un artículo: método usado, tolerancia, número de iteraciones o pasos, residuo o error estimado, y las limitaciones conocidas. Un solver que devuelve un número desnudo obliga al lector a confiar; uno que devuelve el número con su diagnóstico permite verificar. Esa es toda la diferencia.

Ejemplo trabajado

Informe comparativo de los dos problemas del capstone.

Problema 1:  y' = −2y + t,  y(0) = 1,  objetivo y(1)
exacto: 0,419169104046

método   pasos  evaluaciones    y(1)          error
euler      10        10       0,384218      3,49e-02
euler      40        40       0,410620      8,55e-03
rk4         5        20       0,419270      1,01e-04
rk4        10        40       0,419175      6,34e-06

Con 40 evaluaciones:
  euler → 8,55e-03        rk4 → 6,34e-06
  rk4 es 1 349 veces más preciso al mismo coste.

Problema 2:  raíz de x³ − 2x − 4
  bisección: raíz 1,999999999999   41 iteraciones
  newton:    raíz 2,000000000000    6 iteraciones

Recomendación: rk4 para la EDO, newton con respaldo
de bisección para la raíz, tolerancia relativa 1e-10
y tope de 100 iteraciones.

Qué calcula el laboratorio

Capstone: solver con informe de error y criterio de parada declarado.

python classes/part-11-metodos-numericos-y-computacion-cientifica/240-capstone-solver-numerico-con-informe-de-error/lab.py
compmath run 240

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "problema_1": "EDO y' = -2y + t",
  "informe_edo": [
    {
      "metodo": "euler",
      "pasos": 10,
      "evaluaciones": 10,
      "y(1)": 0.384217728,
      "error": 0.034951376045765925,
      "coste_por_paso": "1 evaluación"
    },
    {
      "metodo": "euler",
      "pasos": 40,
      "evaluaciones": 40,
      "y(1)": 0.410640195706,
      "error": 0.008528908339386576,
      "coste_por_paso": "1 evaluación"
    },
    {
      "metodo": "rk4",
      "pasos": 10,
      "evaluaciones": 40,
      "y(1)": 0.419174435538,
      "error": 5.3314923718073e-06,
      "coste_por_paso": "4 evaluaciones"
    },
    {
      "metodo": "rk4",
      "pasos": 40,
      "evaluaciones": 160,
      "y(1)": 0.419169122418,
      "error": 1.8371989318755055e-08,
      "coste_por_paso": "4 evaluaciones"
    }
  ],
  "mejor_relacion_error_por_evaluacion": "rk4",
  "problema_2": "raíz de x³ - 2x - 4",
  "biseccion": {
    "raiz": 1.999999999999,
    "iteraciones": 41
  },
  "newton": {
    "raiz": 2.0,
    "iteraciones": 6
  }
}

Errores comunes

Dónde se usa

Informes de simulación, selección de solvers en proyectos científicos, benchmarking de integradores y documentación de resultados numéricos.

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