Método de Heun

Promediar la pendiente inicial y una pendiente predicha da un método de orden 2. Deducción completa por Taylor de orden dos y por la regla del trapecio con predicción de Euler.

Promediar dos pendientes

Euler usa solo la pendiente al inicio del subintervalo, y por eso se desvía en cuanto la solución se curva. El método de Heun corrige ese sesgo promediando la pendiente inicial con la pendiente en el punto al que llegaría Euler:

yk+1=yk+12k1+12k2,k1=hf(tk,yk)k2=hf(tk+1,yk+k1)y_{k+1}=y_k+\frac{1}{2}k_1+\frac{1}{2}k_2,\qquad \begin{aligned} k_1&=h\,f(t_k,y_k)\\ k_2&=h\,f(t_{k+1},\,y_k+k_1) \end{aligned}
Método de Heun, orden 2.
tₖtₖ₊₁ỹₖ₊₁punto predichopromedio de pendientes
Heun primero predice con Euler y después corrige usando el promedio entre la pendiente inicial y la pendiente predicha al final.
Ampliar diagrama

Heun primero predice con Euler y después corrige usando el promedio entre la pendiente inicial y la pendiente predicha al final.

Deducción

Hay dos formas naturales de llegar a la fórmula: forzar que el esquema reproduzca el desarrollo de Taylor hasta orden dos, o aproximar la forma integral del PVI con la regla del trapecio y predecir el valor desconocido con Euler.

DeducciónDeducción: método de HeunVer como página propia →

Camino 1: Taylor hasta orden dos

  1. Desarrollamos la solución por Taylor un orden más lejos que en Euler:

    y(t+h)=y(t)+hy(t)+h22y(t)+O(h3)y(t+h)=y(t)+h\,y'(t)+\frac{h^2}{2}y''(t)+\mathcal{O}(h^3)
  2. Necesitamos yy''. Derivando y(t)=f(t,y(t))y'(t)=f(t,y(t)) con la regla de la cadena:

    y(t)=ft(t,y)+fy(t,y)y(t)=ft+fyfy''(t)=\frac{\partial f}{\partial t}(t,y)+\frac{\partial f}{\partial y}(t,y)\,y'(t)=f_t+f_y\,f
  3. Sustituyendo y=fy'=f e y=ft+fyfy''=f_t+f_y f en el desarrollo y agrupando mitad y mitad:

    y(t+h)=y(t)+h2f+h2(f+hft+hffy)+O(h3)y(t+h)=y(t)+\frac{h}{2}f+\frac{h}{2}\Bigl(f+h\,f_t+h\,f\,f_y\Bigr)+\mathcal{O}(h^3)
  4. El paréntesis coincide con un desarrollo de Taylor en dos variables de ff. En general, f(t+h,y+k)=f+hft+kfy+f(t+h,\,y+k)=f+h\,f_t+k\,f_y+\cdots; eligiendo el incremento k=hf(t,y)k=h\,f(t,y):

    f(t+h,y+hf(t,y))=f+hft+hffy+O(h2)f\bigl(t+h,\,y+h f(t,y)\bigr)=f+h\,f_t+h\,f\,f_y+\mathcal{O}(h^2)
  5. Sustituyendo el paréntesis por esa evaluación (el error hO(h2)h\cdot\mathcal{O}(h^2) se absorbe en O(h3)\mathcal{O}(h^3)):

    y(t+h)=y(t)+h2f(t,y)+h2f(t+h,y+hf(t,y))+O(h3)y(t+h)=y(t)+\frac{h}{2}f(t,y)+\frac{h}{2}f\bigl(t+h,\,y+h f(t,y)\bigr)+\mathcal{O}(h^3)
  6. Evaluando en t=tkt=t_k con yky(tk)y_k\approx y(t_k) y descartando O(h3)\mathcal{O}(h^3) queda el método de Heun, con error local O(h3)\mathcal{O}(h^3) y por tanto global O(h2)\mathcal{O}(h^2):

    yk+1=yk+12hf(tk,yk)k1+12hf(tk+1,yk+k1)k2y_{k+1}=y_k+\frac{1}{2}\underbrace{h f(t_k,y_k)}_{k_1}+\frac{1}{2}\underbrace{h f(t_{k+1},\,y_k+k_1)}_{k_2}

Camino 2: trapecio con predicción de Euler

tₖtₖ₊₁ỹₖ₊₁punto predichopromedio de pendientes
Heun interpreta el paso como un trapecio en la integral de pendientes: una pendiente se conoce y la otra se obtiene con una predicción de Euler.
Ampliar diagrama

Heun interpreta el paso como un trapecio en la integral de pendientes: una pendiente se conoce y la otra se obtiene con una predicción de Euler.

  1. Partimos de la forma integral exacta del PVI en un subintervalo:

    y(tk+1)=y(tk)+tktk+1f(τ,y(τ))dτy(t_{k+1})=y(t_k)+\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau
  2. Aproximamos esa integral con la regla del trapecio:

    y(tk+1)yk+h2(f(tk,yk)+f(tk+1,y(tk+1)))y(t_{k+1})\approx y_k+\frac{h}{2}\Bigl(f(t_k,y_k)+f\bigl(t_{k+1},y(t_{k+1})\bigr)\Bigr)
  3. El valor y(tk+1)y(t_{k+1}) del lado derecho es desconocido. En lugar de resolver la ecuación implícita (eso sería AM2, el trapecio implícito), lo predecimos con un paso de Euler:

    yˉk+1=yk+hf(tk,yk)\bar y_{k+1}=y_k+h\,f(t_k,y_k)
  4. Sustituyendo la predicción en el trapecio se obtiene la misma fórmula que por Taylor: Heun es un par predictor-corrector de un solo paso.

    yk+1=yk+h2(f(tk,yk)+f(tk+1,yˉk+1))y_{k+1}=y_k+\frac{h}{2}\Bigl(f(t_k,y_k)+f(t_{k+1},\bar y_{k+1})\Bigr)

Orden y relación con otros métodos

Visto desde la segunda deducción, Heun es el par predictor-corrector más simple: predice con Euler y corrige con la regla del trapecio. Es la misma idea que, con métodos multipaso, produce los pares Adams-Bashforth-Moulton. También es el miembro más popular de la familia de métodos de Runge-Kutta de dos etapas, y el paso natural hacia el Runge-Kutta clásico de orden 4.

EjemploUn paso de Heun

Dar un paso de Heun con h=1h=1 para y=(30.1y)yy'=(3-0.1y)y, y(0)=10y(0)=10.

  1. Pendiente inicial: k1=hf(0,10)=1(31)10=20k_1=h\,f(0,10)=1\cdot(3-1)\cdot 10=20.

  2. Pendiente predicha en el punto de llegada de Euler, y0+k1=30y_0+k_1=30: k2=hf(1,30)=(33)30=0k_2=h\,f(1,30)=(3-3)\cdot 30=0.

  3. Promedio de ambas pendientes:

    y1=10+1220+120=20y_1=10+\tfrac{1}{2}\cdot 20+\tfrac{1}{2}\cdot 0=20

El valor exacto es y(1)=27.2833y(1)=27.2833: con un solo paso el error sigue siendo grande, pero la tabla del ejercicio del orden muestra que al refinar la malla el error de Heun cae con h2h^2, mucho más deprisa que el de Euler.