make_prinz_potential¶
- kooplearn.datasets.make_prinz_potential(X0, n_steps=10000, dt=0.0001, gamma=0.1, sigma=1.4142135623730951, random_state=None)[source]¶
Generate a 1D Langevin trajectory for the “Prinz potential” Prinz et al. [1].
This quadruple-well potential exhibits three metastable states separated by energy barriers. The dynamics follow the (discretized) overdamped Langevin equation:
\[X_{t + 1} = X_t -\frac{1}{\gamma}\nabla V{X_t}\Delta t + \frac{\sigma}{\gamma}\sqrt{\Delta t}\xi_t,\]where \(\xi_t\) is a Gaussian white noise process with zero mean and unit variance, \(\gamma\) is the friction coefficient, and \(k_B T = \frac{\sigma^2}{2\gamma}\) determines the thermal energy scale.
The potential is defined as:
\[V(x) = 32 x^8 - 256 e^{-80 x^2} - 80 e^{-40 (x + 0.5)^2} - 128 e^{-80 (x - 0.5)^2}.\]- Parameters:
X0 (
floatorarray-likeofshape (1,)) – Initial position.n_steps (
int, default10000) – Number of discrete time steps to simulate.dt (
float, default1e-4) – Time step size for Euler–Maruyama integration.gamma (
float, default0.1) – Friction coefficient.sigma (
float, default:math:sqrt```{2}``:class:```) – Noise variance, corresponding to a thermal energy scale \(k_B T = \frac{\sigma^2}{2\gamma}\).random_state (
int,RandomState instanceorNone, defaultNone) – Controls the random number generation for the noise. Pass anintfor reproducible output across multiple function calls.
- Returns:
df – Trajectory of the particle with column
['x']andn_steps + 1samples. Indexed by a MultiIndex with levels['step', 'time'].Metadata stored in
df.attrsincludes:'generator':'make_prinz_potential';'X0': initial condition;'params': dictionary of all parameters.
- Return type:
pandas.DataFrame
Examples
>>> import numpy as np >>> from kooplearn.datasets import make_prinz_potential >>> df = make_prinz_potential(X0=0.0, n_steps=5000, dt=1e-4)
Jan-Hendrik Prinz, Hao Wu, Marco Sarich, Bettina Keller, Martin Senne, Martin Held, John D. Chodera, Christof Schütte, and Frank Noé. Markov models of molecular kinetics: generation and validation. The Journal of Chemical Physics, May 2011. URL: http://dx.doi.org/10.1063/1.3565032, doi:10.1063/1.3565032.