Langevin integrator for SDEs with constant drift and diffusion on continuous intervals with circular boundary conditions.
Project description
CILES: Continuous Interval Langevin Equation Simulator
Langevin integrator for SDEs with constant drift and diffusion on continuous intervals with circular boundary conditions.
CILES is written in Cython and uses GSL for interpolation of drift & diffusion fields, to be able to simulate continuous variables.
Description
Given a discretized drift field A(x) and a (position dependent) diffusion coefficient B(x) this tool performs simple timeforward integration of the SDE:
dx(t)/dt = A(x(t)) + sqrt(B(x(t))) * eta(t)
where eta(t) is a gaussian white noise term and x is a variable on an interval with circular boundaries (commonly 0 <= x < 2PI).
Both drift field A and diffusion B need to be arrays of the same dimension. They are internally interpolated (using gsl_interp_cspline_periodic) to provide continuous fields, which are then used in the forward integration.
Forward integration is performed with the EulerMurayama scheme: x(t+dt) = x(t) + dt * A(x(t)) + r * sqrt(dt * B(x(t))), where r is a normally distributed random number with zero mean and unit variance.
Dependencies
 Numpy
 Cython
 Cythongsl
Installation
 Clone repository
 python setup.py install
 To test (using nosetests): nosetests
Example use
from ciles.integrator import LangevinIntegrator as LI import numpy as np drift = np.zeros(100) # no drift field diff = np.ones(100) # constant diffusion with 1 deg^2/s dt = 1e3 # 1 ms timestep tmax = 1. # simulate until 1s # initialize the integrator li = LI(drift, diff, dt=dt, tmax=tmax) # simulate a single trajectory li.run() out = li.out
More examples
Below are the plot results of the currently available examples from ciles.examples.
Final distributions after 2s diffusion
See the source
Trajectories for driftfield with 2 fixed points
See the source
Project details
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size  File type  Python version  Upload date  Hashes 

Filename, size ciles0.1.0cp27cp27mmacosx_10_11_x86_64.whl (32.5 kB)  File type Wheel  Python version cp27  Upload date  Hashes View hashes 
Filename, size ciles0.1.0.tar.gz (61.4 kB)  File type Source  Python version None  Upload date  Hashes View hashes 
Hashes for ciles0.1.0cp27cp27mmacosx_10_11_x86_64.whl
Algorithm  Hash digest  

SHA256  6f762e9f76762bf003278b2ff24825bfe239d2667a14a9c20278752229b3247b 

MD5  e540ce430d9b7bf8752542c1d81d549b 

BLAKE2256  353d7970983bdc4acf325458114d8c7345b4364ebf8741d134a0bf5427029dcc 