# Linear Multistep methods¶

A linear multistep method computes the next solution value from the values at several previous steps:

$$\alpha_k y_{n+k} + \alpha_{k-1} y_{n+k-1} + ... + \alpha_0 y_n = h ( \beta_k f_{n+k} + ... + \beta_0 f_n )$$

Note that different conventions for numbering the coefficients exist; the above form is used in NodePy. Methods are automatically normalized so that $$\\alpha_k=1$$.

## Instantiation¶

The follwing functions return linear multistep methods of some common types:

• backward_difference_formula(k)

• Optimal explicit SSP methods (elm_ssp2(k))

In each case, the argument $$k$$ specifies the number of steps in the method. Note that it is possible to generate methods for arbitrary $$k$$, but currently for large $$k$$ there are large errors in the coefficients due to roundoff errors. This begins to be significant at 7 steps. However, members of these families with many steps do not have good properties.

More generally, a linear multistep method can be instantiated by specifying its coefficients $$\\alpha,\\beta$$:

>> from nodepy import linear_multistep_method as lmm
>> my_lmm=lmm.LinearMultistepMethod(alpha,beta)