Métodos de Adams-Bashforth

Métodos multipaso explícitos que integran la EDO aproximando f por su polinomio de interpolación sobre nodos ya calculados: deducción completa de AB2 con Lagrange, las fórmulas AB3 y AB4, su orden y cómo arrancarlos.

De un paso a multipaso

Los métodos de un paso solo usan la información del nodo anterior; al pasar al siguiente subintervalo, tiran todo lo demás. Los métodos multipaso reutilizan las pendientes fj=f(tj,yj)f_j=f(t_j,y_j) de varios nodos ya calculados, así que aprovechan mejor el trabajo hecho: cada paso solo cuesta una evaluación nueva de ff. Se parte de la forma integral del PVI:

y(tk+1)=y(tk)+tktk+1f(τ,y(τ))dτy(t_{k+1})=y(t_k)+\int_{t_k}^{t_{k+1}} f(\tau,y(\tau))\,d\tau

La integral no se puede calcular porque el integrando depende de la solución desconocida. Adams-Bashforth sustituye ff por el polinomio que la interpola en los nodos anteriores tk,tk1,t_k, t_{k-1},\dots, donde sus valores ya se conocen, e integra ese polinomio. Como solo usa valores ya calculados, el método resultante es explícito.

Deducción de AB2

El caso de dos pasos concentra toda la mecánica: interpolar ff linealmente en tk1t_{k-1} y tkt_k, integrar y leer los coeficientes.

tₖ₋₁tₖtₖ₊₁fₖ₋₁fₖpendientes conocidasextrapolaciónintegrar aquíp₁(t)
AB2 interpola las pendientes conocidas fk1f_{k-1} y fkf_k y extrapola esa recta sobre el intervalo nuevo [tk,tk+1][t_k,t_{k+1}].
Ampliar diagrama

AB2 interpola las pendientes conocidas fk1f_{k-1} y fkf_k y extrapola esa recta sobre el intervalo nuevo [tk,tk+1][t_k,t_{k+1}].

DeducciónDeducción: Adams-Bashforth de 2 pasos (AB2)Ver como página propia →

Paso 1: la forma integral

tₖ₋₁tₖtₖ₊₁fₖ₋₁fₖpendientes conocidasextrapolaciónintegrar aquíp₁(t)
La recta de Lagrange se construye con las pendientes ya calculadas y después se usa fuera de sus nodos: por eso Adams-Bashforth es explícito y extrapolador.
Ampliar diagrama

La recta de Lagrange se construye con las pendientes ya calculadas y después se usa fuera de sus nodos: por eso Adams-Bashforth es explícito y extrapolador.

  1. Partimos del PVI y(t)=f(t,y(t))y'(t)=f(t,y(t)). Integramos ambos lados entre tkt_k y tk+1t_{k+1}:

    tktk+1y(τ)dτ=tktk+1f(τ,y(τ))dτ\int_{t_k}^{t_{k+1}} y'(\tau)\,d\tau=\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau
  2. Aplicando el Teorema Fundamental del Cálculo al lado izquierdo se obtiene la forma integral exacta. Todavía no hay ninguna aproximación:

    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
  3. El integrando completo es desconocido porque depende de la solución exacta, pero sus valores aproximados en los nodos anteriores sí se conocen: fk1=f(tk1,yk1)f_{k-1}=f(t_{k-1},y_{k-1}) y fk=f(tk,yk)f_k=f(t_k,y_k). AB2 nace de aproximar f(τ,y(τ))f(\tau,y(\tau)) con esos dos datos.

Paso 2: interpolar f con Lagrange

  1. Construimos el polinomio de grado 1 que interpola los valores fk1f_{k-1} y fkf_k usando la base de Lagrange. Como tktk1=ht_k-t_{k-1}=h y tk1tk=ht_{k-1}-t_k=-h, las bases quedan:

    Lk1(τ)=τtktk1tk=tkτh,Lk(τ)=τtk1tktk1=τtk1hL_{k-1}(\tau)=\frac{\tau-t_k}{t_{k-1}-t_k}=\frac{t_k-\tau}{h},\qquad L_k(\tau)=\frac{\tau-t_{k-1}}{t_k-t_{k-1}}=\frac{\tau-t_{k-1}}{h}
  2. El interpolante de Lagrange es la combinación de los valores con su base. Es la recta que coincide con las pendientes conocidas en los dos nodos:

    p1(τ)=fk1tkτh+fkτtk1h=fkτtk1hfk1τtkhp_1(\tau)=f_{k-1}\,\frac{t_k-\tau}{h}+f_k\,\frac{\tau-t_{k-1}}{h}=f_k\,\frac{\tau-t_{k-1}}{h}-f_{k-1}\,\frac{\tau-t_k}{h}
  3. Los nodos de interpolación son tk1t_{k-1} y tkt_k, pero el intervalo de integración es [tk,tk+1][t_k,\,t_{k+1}]. Al extrapolar el polinomio fuera de sus nodos, el método queda explícito.

Paso 3: cambio de variable e integración

  1. Para integrar, hacemos el cambio que aparece en los apuntes: s=τtks=\tau-t_k, es decir, τ=tk+s\tau=t_k+s y dτ=dsd\tau=ds. Cuando τ=tk\tau=t_k, s=0s=0; cuando τ=tk+1\tau=t_{k+1}, s=hs=h. Además:

    τtk1=s+h,τtk=s\tau-t_{k-1}=s+h,\qquad \tau-t_k=s
  2. Sustituimos f(τ,y(τ))f(\tau,y(\tau)) por el interpolante p1p_1 en la integral. Con el cambio anterior, la recta queda escrita como:

    p1(tk+s)=fks+hhfk1shp_1(t_k+s)=f_k\,\frac{s+h}{h}-f_{k-1}\,\frac{s}{h}
  3. Integramos las dos partes por separado. La parte de fkf_k aporta 3h2\frac{3h}{2} y la de fk1f_{k-1} aporta h2\frac{h}{2} con signo negativo:

    0hfks+hhds=fk1h[s22+hs]0h=3h2fk0hfk1shds=fk11h[s22]0h=h2fk1\begin{aligned} \int_0^h f_k\frac{s+h}{h}\,ds&=f_k\frac{1}{h}\Bigl[\frac{s^2}{2}+hs\Bigr]_0^h=\frac{3h}{2}f_k\\ \int_0^h f_{k-1}\frac{s}{h}\,ds&=f_{k-1}\frac{1}{h}\Bigl[\frac{s^2}{2}\Bigr]_0^h=\frac{h}{2}f_{k-1} \end{aligned}
  4. Por tanto, la integral aproximada sobre el paso nuevo es:

    tktk+1f(τ,y(τ))dτtktk+1p1(τ)dτ=h2(3fkfk1)\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau\approx\int_{t_k}^{t_{k+1}} p_1(\tau)\,d\tau=\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)
  5. Sustituyendo en la forma integral exacta y usando y(tk)yky(t_k)\approx y_k aparece la fórmula de Adams-Bashforth de dos pasos:

    yk+1=yk+h2(3fkfk1)y_{k+1}=y_k+\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)

Paso 4: error y orden

  1. El error local es la integral del error de interpolación de p1p_1. Para el interpolante lineal, f(τ)p1(τ)=f(ξ)2(τtk1)(τtk)f(\tau)-p_1(\tau)=\frac{f''(\xi)}{2}(\tau-t_{k-1})(\tau-t_k); con el cambio de variable, (τtk1)(τtk)=h2s(s+1)(\tau-t_{k-1})(\tau-t_k)=h^2\,s(s+1) y 01s(s+1)ds=56\int_0^1 s(s+1)\,ds=\frac{5}{6}:

    ek+1=hy(ξ)2h256=512h3y(ξ)=O(h3)e_{k+1}=h\cdot\frac{y'''(\xi)}{2}\cdot h^2\cdot\frac{5}{6}=\frac{5}{12}\,h^3\,y'''(\xi)=\mathcal{O}(h^3)
  2. El error global pierde una potencia al acumular N1/hN\propto 1/h pasos: AB2 es de orden 2, igual que Heun, pero con una sola evaluación nueva de ff por paso. La estimación numérica del orden lo confirma.

De AB2 a AB3 y AB4

La misma receta con más nodos produce toda la familia: interpolar ff en tk,tk1,tk2t_k,t_{k-1},t_{k-2} con un polinomio cuadrático y repetir los pasos 3-4 da AB3 (con integrales como 01(s+1)(s+2)2ds=2312\int_0^1\frac{(s+1)(s+2)}{2}ds=\frac{23}{12}); con cuatro nodos y un cúbico sale AB4. Cada nodo adicional sube el grado del interpolante y, con él, el orden del método.

AB2, AB3 y AB4

Interpolando ff con polinomios de grado 2 y 3 sobre tres y cuatro nodos anteriores (misma mecánica, integrales más largas) aparecen AB3 y AB4:

yk+1=yk+h2(3fkfk1)y_{k+1}=y_k+\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)
AB2, orden 2.
yk+1=yk+h12(23fk16fk1+5fk2)y_{k+1}=y_k+\frac{h}{12}\bigl(23f_k-16f_{k-1}+5f_{k-2}\bigr)
AB3, orden 3.
yk+1=yk+h24(55fk59fk1+37fk29fk3)y_{k+1}=y_k+\frac{h}{24}\bigl(55f_k-59f_{k-1}+37f_{k-2}-9f_{k-3}\bigr)
AB4, orden 4.

Arranque del método

Un método de mm pasos necesita mm valores iniciales, pero el PVI solo da y0y_0. Los valores y1,,ym1y_1,\dots,y_{m-1} se calculan con un método de un paso del mismo orden, para no contaminar el error: AB2 se arranca con Heun (orden 2) y AB4 con RK4 (orden 4). El ejercicio de AB2 muestra el arranque y confirma numéricamente el orden 2.