Odeint is a modern C++ library for numerically solving Ordinary Differential Equations. It is developed in a generic way using Template Metaprogramming which leads to extraordinary high flexibility at top performance. The numerical algorithms are implemented independently of the underlying arithmetics. This results in an incredible applicability of the library, especially in non-standard environments. For example, odeint supports matrix types, arbitrary precision arithmetics and even can be easily run on CUDA GPUs - check the Highlights to learn more.

Moreover, odeint provides a comfortable easy-to-use interface allowing for a quick and efficient implementation of numerical simulations. Visit the impressively clear 30 lines Lorenz example.

Odeint is a header only C++ library and the full source code is available for download. distributed under the highly liberal Boost Software License. Hence, odeint is free, open source and can be used in both non-commercial and commercial applications.

Attention: Boost is changing its structure and is being modularized from one large svn repository to many small git repository. Due to this modularaization we need to change the file structure of odeint. All headers are now located in a subdirectory include. If you do not building odeint via bjam from this repository you only need change your include path.


odeint did undergo the boost review process in the end of September 2012, which means users and other library authors evaluate the code and provide a review report. Based on these reports, odeint was accepted and thus will become part of the boost library collection. That means odeint will be officially shipped with one of the next releases of boost!

Thanks to Steven Watanabe for managing the review and to everyone who participated by providing comments or even a whole review report. We are very proud to contribute a high quality, modern and stable numerical library into boost.

see us

We have been attending the CppNow! Conference (aka BoostCon) held May 13-18, 2012, in Aspen Colorado where we were giving an overview talk on odeint. You can also find the slides in the CppNow! repository.

use it

Browse the full documentation.
Get some introduction by looking at the slides of our odeint talk.
Get the source code on GitHub : headmyshoulder/odeint-v2.