Nov 22, 2020. | By: @vsoch

Nodepy is a package for the analysis of numerical ODE solvers. Why is an ODE solver? Read on to learn more!


Are you already familiar with nodepy? We encourage you to contribute to the research software encyclopedia and annotate the respository:

otherwise, keep reading!

What is Nodepy?

Ordinary differential equations (ODEs) are extremely useful tools for describing multiple coupled quantities changing over time in deterministic settings. For example, they are used for modelling the motion of planets, electrical circuits, and dynamics of biological systems. In many cases they cannot be solved exactly and require numerical solutions. Numerical ODEs have developed as their own branch of mathematics, concerned with both accuracy and stability of solutions. NodePy is a Python library for numerical ODEs.

NodePy has been cited multiple times by practitioners, fuelling further development for years. It is based on Python’s SymPy and NumPy libraries, and optionally NetworkX, CVXPY, and Scipy for specific algorithms.

Why is it useful?

In addition to having multiple algorithms ‘out of the box’, it also allows users to experiment with their own. There is a collection of tools with a common interface that helps users study the properties of these various algorithms. For example, it can determine stability and numerical accuracy automatically. NodePy is not meant to just be a collection of algorithms, but a tool to help students and practitioners develop and understand their own algorithms.

How do I cite it?

There is an accompanying paper, which you can cite using:

  doi = {10.21105/joss.02515},
  url = {},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {55},
  pages = {2515},
  author = {David I. Ketcheson and Hendrik Ranocha and Matteo Parsani and Umair Bin Waheed and Yiannis Hadjimichael},
  title = {`NodePy`: A package for the analysis of numerical ODE solvers},
  journal = {Journal of Open Source Software}

How do I get started?

How do I contribute to the software survey?

or read more about annotation here. You can clone the software repository to do bulk annotation, or annotation any repository in the software database, We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. If you’d like to request annotation of a particular repository (or addition to the software database) please don’t hesitate to open an issue or even a pull request.

Where can I learn more?

You might find these other resources useful:

For any resource, you are encouraged to give feedback and contribute!


News 2

Tutorials 2

Software 33

Recent Posts