Inicio · Parte 11 — Métodos numéricos y computación científica
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
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.
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.
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
problema_1informe_edomejor_relacion_error_por_evaluacionproblema_2biseccionnewtontolerancia_declaradamax_iteraciones_declaradoregla{
"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
}
}
Informes de simulación, selección de solvers en proyectos científicos, benchmarking de integradores y documentación de resultados numéricos.
Los Neural ODE, los samplers de difusión y los optimizadores de segundo orden son métodos numéricos con parámetros aprendidos.
9781611975581, pendiente de resolver.