Internal design choices#
diffeqzoo is a database of ODE problems. As such, the following principles apply to the source:
It must be compatible with all numpy/jax-based ODE solvers.
It must be easy to copy/paste from, if desired.
It must not have opinions (we don’t care whether your ODE variable is called u, x, or y).
It must take non-standard dynamics seriously: if an ODE is of second order, autonomous, or in mass-matrix form, it is implemented as such (we trust the user to translate it to an appropriate first-order version).
It should provide all information that might be relevant if the problem appears in a paper (citation, maths, meaning).
diffeqzoo must be extremely easy to maintain, even if it costs a tiny bit of user-friendliness.