Given the differential equation:

$y' = f(t,y(t))$

And the multistep method:

$y_{n+3} = y_{n+2} + h[A f_{n+2} + B f_n]$

I wan't to find the coefficients A and B in order to get an exact result for: $f(t,y(t)) = at + b$. And to know if the method is convergent for any f.

In order to determine if the method is convergent we know that it has to be consistent and verify the root condition. So in general a multistep method is given by:

$\sum_{j=0}^k \alpha_k y_{n+j} = h \sum_{j=0}^k \beta_k f_{n+j}$

Which in this case gives us the coefficients:

$\alpha_0 =0 \qquad \alpha_1=0 \qquad \alpha_2 = -1 \qquad \alpha_3 = 1$

$\beta_0 = B \qquad \beta_1 = 0 \qquad \beta_2 = A \qquad \beta_3 = 0$

And the polynomials:

$p(z) = z^2(z-1) \qquad q(z) = B + Az^2$

So all the roots of $p(z)$ are $< 1$ so that condition is Ok. And for the consistence we need $p(1) = 0, \quad p'(1) = q(1)$, which is equivalent to set $A = \frac{1}{2}$. So it seems that if $A = \frac{1}{2}$ the method is convergent for any $f(t,y(t))$ and any value of B.

Now in order to be exact for $f(t,y(t)) = at + b$ I'm a little lost. Given:

$\int_{tn+2}^{tn+3} y'(t) = \int_{tn+2}^{tn+3} (at + b) dt $

Yields an expression for: $y_{n+3} - y_{n+2} = \frac{a}{2} (t_{n+3}^2- t_{n+2}^2) + b(t_{n+3} - t_{n+2})$

Finding A as function of B and the times is enough to assert that the method is exact? Or is there any other way to do it?


Use $t_n=nh$ and explore the case $n=0$. This is sufficient since all other cases can be reduced to this one (even further to $h=1$). Thus, as you already found what the left side should look like, you have to match it against the corresponding right side, and then compare coefficients of powers of $h$ resp. of the independent parameters $a,b$: $$ \frac a2(9h^2-4h^2)+b(3h-2h)=h(Af(2h)+Bf(0))\\ \frac{5a}2h^2+bh = A(2ah^2+bh)+B(bh)\\ \frac{5a}2=2Aa\text{ and }b=(A+B)b\\ A=\frac54\text{ and }B=-\frac14 $$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.