/odes

git repo of the odes scikit for scipy

Primary LanguageCOtherNOASSERTION

This is a scikit offering some extra ode/dae solvers, so they can mature outside of scipy. 

Requirement
===========
* You need scipy, as the aim is to extend scipy.integrate
* You need a fortran compiler to install from source. 
* You need cython installed to install from source
* Tested with python 2.7 and 3.2

Requirements before install
===========================
1. You need numpy and scipy installed
2. You need to have cython installed and executable
3. You need python development files available (python-dev package)
3. You need to have the sundials package version 2.5.0 installed from 
https://computation.llnl.gov/casc/sundials/download/download.html

It is required that the Blas/Lapack interface in included in sundials, so check
the Fortran Settings section of configure that they are present! If problems,
use the F77 flag to set the fortran compiler, see below.

The sundials package *must* also be installed with the fPIC flag. 
On a *nix systhem, do after extraction of the downloaded tar.gz:

./configure --with-cflags=-fPIC
make
and as root:
make install

This should install sundials in /usr/local/lib
Make sure you use the fortran compiler as used for your lapack/blas install. 
Eg, on linux that would be gfortran, so:

./configure --with-cflags=-fPIC F77=gfortran

Installation from sources
=========================

You can copy the git repository locally in directory odes with:

git clone git://github.com/bmcage/odes.git odes

In the top directory (the same as the file you are reading now), just do as root:

python setup.py build

This builds the packages in the build directory. Libraries are searched in /usr/lib 
and /usr/local/lib, edit setup.py for other locations.

You can try it without installation by using PYTHONPATH. For example:
On my box, the build libs are in odes/build/lib.linux-x86_64-2.7/, hence I can
use them with:

PYTHONPATH=/path-to-odes/odes/build/lib.linux-x86_64-2.7/  python -c'import scikits.odes.sundials'

To install, as root:

python setup.py install

Usage
=====
This installs the scikit, to use it in your python scripts use eg:

from scikits.odes import dae

For examples, see the docs/src/examples directory and scikits/odes/tests 
directory. 

Tests
=====
You need nose to run the tests. Eg, to install it, run
easy_install nose
To run the tests do in the python shell:

>>> import scikits.odes as od; od.test()

or shorter, in a terminal: 

PYTHONPATH=/path-to-build python -c 'import scikits.odes as od; od.test()'

Developer info
==============
Release: 
1/set in common.py version string and dev=false, commit this.
2/tag like: git tag -a v1.0.0 -m 'version 1.0.0'
3/push tag: git push --tags
4/update to pypi repo:
python setup.py sdist --formats=gztar,zip register upload