I have been reading upon numerical techniques that are used to solve stiff ordinary differential equations.

From the description given here, I could follow the steps till equation (5).

I am finding it difficult to understand how equation 6 is obtained and the calculations involved in computing the coefficients of BDF.

Could someone recommend a reference in which these steps have been detailed?

  • $\begingroup$ This is probably more suited to math.se $\endgroup$
    – Nox
    Jan 6, 2019 at 17:22
  • 3
    $\begingroup$ I think there won’t be a reference because it’s just calculus: the lhs is a function of t, the rhs is a polynomial in t, so you just differentiate both to get a linear equation in $y_n$, solve for it and read off the coefficients of the other y’s. $\endgroup$
    – Kirill
    Jan 6, 2019 at 17:50
  • $\begingroup$ Actually, there is no solve involved. One directly reads off the coefficients for all $y_{n-j}$s so that $f(t_n)=\dot y(t_n)$ is exactly approximated by the polynomial (up to order $k$). $\endgroup$
    – Jan
    Jan 8, 2019 at 14:03

1 Answer 1


In BDF schemes for $\dot y = f$, one uses $$ f(t_n)=\dot y(t_n) $$ and tries to approximate $\dot y(t_n)\approx \sum_{j=0}^k\alpha_k y_{n-j}$ by the current value $y_n$ (that is to be computed) and the $k$ previously computed approximations.

In the presented approach, in $(5)$, $y$ is approximated as a polynomial $p$ in $t$ fitted to $y_{n-j}$, so that the time derivative of the polynomial at $t_n$ approximates $\dot y(t_n)$ as desired. With that, for a given approximation order $k$, one can read of the coefficients $\alpha_j$ by evaluating $\dot p$ at $t_n$:

For $k=1$:

$$ \quad \dot y(t_n) \approx \dot p(t_n) = \frac{1}{h}(y_n - y_{n-1}) $$ which gives that $h\dot y(t_n)$ is approximated by $$1\cdot y_n + (-1)\cdot y_{n-1}.$$

For $k=2$ the terms read: $$ k=2: \quad \dot y(t_n) \approx \dot p(t_n) = \frac{1}{h}(y_n - y_{n-1})+\frac{1}{2h^2}[(t_n-t_n)\nabla^2y_n + (t_n-t_{n-1})\nabla^2y_n] $$ which, with $t_n-t_{n-1}=h$ and $\nabla^2y_n = y_n - 2y_{n-1} + y_{n-2}$ gives that $h\dot y(t_n)$ is approximated by $$\frac{3}{2}\cdot y_n + (-2)\cdot y_{n-1} + \frac{1}{2}y_{n-2}$$.

And so on...

  • 1
    $\begingroup$ If my understanding is right, the interpolating polynomial is in Newton's form, $p(t)=y[t_1] + y[t_1,t_2](t-t_1)+y[t_1,t_2,...,t_k](t-t_1)(t-t_2)..(t-t_{k-1})$ $\endgroup$
    – Natasha
    Jan 9, 2019 at 4:19
  • $\begingroup$ yes, if you say it. I wasn't sure and I did not check the definition. $\endgroup$
    – Jan
    Jan 9, 2019 at 7:22
  • $\begingroup$ How does one choose the intial data in the best way? $\endgroup$
    – Emil
    Jan 9, 2019 at 19:19
  • $\begingroup$ Maybe my comment was off topic, found this anyway: math.stackexchange.com/a/421107/68036 (predictor-corrector) $\endgroup$
    – Emil
    Jan 9, 2019 at 19:53

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.