Python binding for odeiv2 in GNU Scientific Library (GSL).
Project description
pygslodeiv2 provides a Python binding to the odeiv2 interface of GSL - GNU Scientific Library. The odeiv2 interface allows a user to numerically integrate (systems of) differential equations.
Example
The classic van der Pol oscillator (see examples/van_der_pol.py)
>>> from pygslodeiv2 import integrate_adaptive
>>> mu = 1.0
>>> def f(t, y, dydt):
... dydt[0] = y[1]
... dydt[1] = -y[0] + mu*y[1]*(1 - y[0]**2)
...
>>> def j(t, y, Jmat, dfdt):
... Jmat[0, 0] = 0
... Jmat[0, 1] = 1
... Jmat[1, 0] = -1 -mu*2*y[1]*y[0]
... Jmat[1, 1] = mu*(1 - y[0]**2)
... dfdt[0] = 0
... dfdt[1] = 0
...
>>> y0 = [1, 0]; tend=10.0; dt0=1e-8; t0=0.0; atol=1e-8; rtol=1e-8
>>> tout, yout = integrate_adaptive(f, j, 2, y0, t0, tend, atol, rtol, dt0)
License
The source code is Open Source and is released under GNU GPL v3. See LICENSE.txt for further details. Contributors are welcome to suggest improvements at https://github.com/bjodah/pygslodeiv2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pygslodeiv2-0.1.0.tar.gz
(60.0 kB
view hashes)