dimitra-maoutsa / UnderdampedLangevinInference

Python implementation of Underdamped Langevin Inference, a method to infer the dynamical equation of underdamped stochastic systems from discrete noisy time series.

Home Page:https://arxiv.org/abs/2002.06680

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UnderdampedLangevinInference

UnderdampedLangevinInference is a package aimed at inferring the deterministic and stochastic contributions of underdamped stochastic processes (underdamped Langevin dynamics).

Reference: David Brückner, Pierre Ronceray and Chase Broedersz, "Inferring the dynamics of underdamped stochastic systems", Phys. Rev. Lett. 125, 058103 (2020). https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.125.058103

Authors: Pierre Ronceray and David Brückner.

Contact: pierre.ronceray@outlook.com or d.brueckner@campus.lmu.de

Website: www.pierre-ronceray.net and www.davidbrueckner.de

See also StochasticForceInference, the overdamped (Brownian dynamics) equivalent of this package: https://github.com/ronceray/StochasticForceInference


Developed in Python 3.6. Dependencies:

  • NumPy, SciPy

  • Optional: Matplotlib (2D plotting, recommended); Mayavi2 (3D plotting)


###Contents:

UnderdampedLangevinInference: a front-end includer of all classes useful to the user.

ULI_data.py: contains a data wrapper class, StochasticTrajectoryData, which formats trajectories for force and diffusion inference. Also contains a number of plotting routines. See this file for the different ways to initialize it using data.

ULI_inference.py: implements the core force and diffusion inference class, UnderdampedLangevinInference, that reconstructs the these fields and computes the inference error on the force field.
Takes as input a StochasticTrajectoryData instance, and inference parameters.

ULI_langevin.py: contains the class UnderdampedLangevinProcess, which implements a simple Ito integration of the second order Langevin equation, useful for testing the method with known models. It takes as input a force field and a diffusion tensor field. Also used by UnderdampedLangevinInference to predict new trajectories with the inferred force and diffusion field.

ULI_projectors.py: implements an internal class, TrajectoryProjectors, used by UnderdampedLangevinInference. Given a set of fitting functions, it orthonormalizes it as a premise to the inference.

ULI_bases.py: provides an internal dictionary of (more or less) standard fitting bases, such as polynomials. This dictionary is called by UnderdampedLangevinInference at initialization, unless a custom base is provided by the user.

ULI_plotting_toolkit.py: a few plotting functions for the convenience of the author.

ULI_demo_VdP.py: a fully commented example of force and diffusion inference on the example of 1D non-linear oscillator. Start here!


Enjoy, and please send feedback to pierre.ronceray@outlook.com or d.brueckner@campus.lmu.de !


About

Python implementation of Underdamped Langevin Inference, a method to infer the dynamical equation of underdamped stochastic systems from discrete noisy time series.

https://arxiv.org/abs/2002.06680

License:MIT License


Languages

Language:Python 100.0%