A software platform for adaptive high order multistep methods

Research output: Contribution to journalArticle


title = "A software platform for adaptive high order multistep methods",
abstract = "We present a software package, Modes, offering h-adaptive and p-adaptive linear multistep methods for first order initial value problems in ordinary differential equations. The implementation is based on a new parametric, grid-independent representation of multistep methods [Ar{\'e}valo and S{\"o}derlind 2017]. Parameters are supplied for over 60 methods. For nonstiff problems, all maximal order methods (p=k for explicit and p=k+1 for implicit methods) are supported. For stiff computation, implicit methods of order p=k are included. A collection of step-size controllers based on digital filters is provided, generating smooth step-size sequences offering improved computational stability. Controllers may be selected to match method and problem classes. A new system for automatic order control is also provided for designated families of multistep methods, offering simultaneous h- and p-adaptivity. Implemented as a Matlab toolbox, the software covers high order computations with linear multistep methods within a unified, generic framework. Computational experiments show that the new software is competitive and offers qualitative improvements. Modes is available for downloading and is primarily intended as a platform for developing a new generation of state-of-the-art multistep solvers, as well as for true ceteris paribus evaluation of algorithmic components. This also enables method comparisons within a single implementation environment.",
keywords = "multistep methods, ordinary differential equations, Solver, variable order, variable step size",
author = "Carmen Ar{\'e}valo and Erik Jonsson-Glans and Josefine Olander and Soto, {Monica Selva} and Gustaf S{\"o}derlind",
year = "2020",
month = apr,
doi = "10.1145/3372159",
language = "English",
volume = "46",
journal = "ACM Transactions on Mathematical Software",
issn = "0098-3500",
publisher = "Association for Computing Machinery (ACM)",
number = "1",