UGent   FirW


odes scikit

I maintain the odes package, which is a scikit toolkit for scipy to add some extra ode and daesolvers. At present it provides dae solvers you can use, extending the capabilities offered in scipy.integrade.ode. LICENSE: NEW BSD like the scipy sources.

The development code can be downloaded from the repository on github.

Installation instructions are in the README for latest install instructions. The new version is developed for python 2.7+ and python 3.1+.

In Ubuntu, you can obtain the needed software with the following commands:

  1. Numpy and scipy and header files: sudo apt-get install python-numpy python-scipy python-dev
  2. Fortran compiler sudo apt-get install gfortran
  3. Python setup tools: sudo apt-get install python-setuptools python-nose

Documentation: This is present in the package. To see it in eg python, do:

me@pc:~$ python
Python 2.5.2 (r252:60911, Jul 31 2008, 17:31:22)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scikits.odes
>>> import scipy

The above will print out the doc string of the dae method.

Example usage:

See the docs folder for several examples: examples

Also see the test file for example usage: tests


  • ida solver. Sundials 2.4.0 needs to be installed. This solver can be compared to ode15s in Matlab.
  • ddaspk solver. An implicit solver present as solver in scikits.odes.dae. Krylov part is not used
  • lsodi solver. An implicit solver present as solver in scikits.odes.dae. Not as versatile as ddaspk, however good to compare and check output from ddaspk
  • cvode solver. Sundials 2.4.0 needs to be installed.

Extra: Mail me with questions and remarks.

Aim for the future:

  • Add interface to solvers of Cash under BSD license
  • Allow the use of the Krylov preconditioner

  copyright bm / UGent | webmaster: bm (at) cage (dot) UGent (dot) be | disclaimer