Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Langevin integrator for SDEs with constant drift and diffusion on continuous intervals with circular boundary conditions.

Project description

Build Status

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.


Given a discretized drift field A(x) and a (position dependent) diffusion coefficient B(x) this tool performs simple time-forward 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 Euler-Murayama 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.



  • Clone repository
  • python 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 = 1e-3  # 1 ms timestep
tmax = 1.  # simulate until 1s

# initialize the integrator
li = LI(drift, diff, dt=dt, tmax=tmax)

# simulate a single trajectory
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

Diffusion for 2 seconds

Trajectories for drift-field with 2 fixed points

See the source

Plotting trajectories

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ciles-0.1.0-cp27-cp27m-macosx_10_11_x86_64.whl (32.5 kB) Copy SHA256 hash SHA256 Wheel cp27 Dec 6, 2017
ciles-0.1.0.tar.gz (61.4 kB) Copy SHA256 hash SHA256 Source None Dec 6, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page