Python binding for odeint from boost.
Project description
pyodeint provides a Python binding to odeint. Currently, only the the 4th order Rosenbrock stepper has been wrapped and exposed to python (using the adpative integration routine).
Example
The classic van der Pol oscillator (see examples/van_der_pol.py)
>>> from pyodeint 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, ny, y0, t0, tend, dt0, atol, rtol)
License
The source code is Open Source and is released under the very permissive “simplified (2-clause) BSD license”. See LICENSE.txt for further details. Contributors are welcome to suggest improvements at https://github.com/bjodah/pyodeint
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
pyodeint-0.2.0.tar.gz
(55.2 kB
view details)
File details
Details for the file pyodeint-0.2.0.tar.gz
.
File metadata
- Download URL: pyodeint-0.2.0.tar.gz
- Upload date:
- Size: 55.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2656ea6b81f3b55a0257785cad4fac9cc30183de68da8aa147696bc323a96db |
|
MD5 | 72943cb6015b849b793d3d5eb82bdac2 |
|
BLAKE2b-256 | 160915e17f7aa5dece43e016589665d66251986f4c5d66db216aa6fda63f114f |