1

When given an nth-order ordinary differential equation, it is possible to make a simple algebraic manipulation to convert the differential equation into a first-order "autonomous" differential equation. Is there a similar transformation from a linear multistep method into a one-step method or is this in general not possible? For example, consider

$y_{n+1} = y_{n} + \frac{h}{2} \left( f(y_n) + f(y_{n+1}) \right)$.

We can "convert" this into an explicit method by

$y_{n+1} = y_{n} + \frac{h}{2} \left( f(y_n) + f(y_n + hf(y_n)) \right)$.

This makes the method go from two-step into one-step (and in fact, converts it from implicit to explicit). Can this be generalized?

  • This will not work in general as a multistep method (apart from the order 1 and 2 examples that are identical to one-step methods) has a memory over multiple time steps while in a one-step method the information reduces to the state at one time between one step and the next. – Lutz Lehmann Aug 19 '18 at 17:20
  • I believe the transformation I provide in the answer is correct. The one-step method that I provide as a motivating example...but that scheme is not equivalent to the implicit one. As for memory...when you pass to a vector, each element in the difference scheme now represents more data. – TylerMasthay Aug 20 '18 at 18:46
  • But what would the Butcher-tableau of that method be? What is the abstract one-step method that this is a specialization of? – Lutz Lehmann Aug 20 '18 at 19:42

1 Answers1

0

I believe the following construction works.Consider $s$-step linear multistep method

\begin{align*} y_{n+s} = a_{s-1}y_{n+s-1} + ...+a_0y_{n}+h(b_{s}f(y_{n+s})+...+b_0f(y_n)). \end{align*}

Define

\begin{align*} A = \begin{bmatrix} a_{s-1} & a_{s-2} & ... & a_{0} \\ 1 & 0 & ... & 0 \\ 0 & 1 & ... & 0 \\ . \\ 0 & 0 & ... & 1 \end{bmatrix} \end{align*}

\begin{align*} B = \begin{bmatrix} b_{s} & b_{s-1} & ... & b_{0} \\ 0 & 0 & ... & 0 \\ 0 & 0 & ... & 0 \\ . \\ 0 & 0 & ... & 0 \end{bmatrix} \end{align*}

\begin{align*} z_n = \begin{bmatrix} y_{n+s-1} \\ . \\ . \\ . \\ y_n \end{bmatrix} \end{align*}

\begin{align*} F(z_n) = \begin{bmatrix} f(y_{n+s-1}) \\ . \\ . \\ . \\ f(y_n) \end{bmatrix}. \end{align*}

The multistep method now reads \begin{align*} z_{n+1} = A z_n + h B F(z_n). \end{align*} This is a one-step method.