compute_prinz_potential_eig¶
- kooplearn.datasets.compute_prinz_potential_eig(gamma, sigma, dt, eval_right_on=None, num_components=4)[source]¶
Computes the eigenvalues and eigenfunctions of the Generator of the Overdamped Langevin dynamics for the Prinz potential.
The generator \(\mathcal{L}\) is defined as:
\[\mathcal{L} = -\frac{1}{\gamma} \nabla V(x) \cdot \nabla + \frac{\sigma^2}{2\gamma} \Delta\]where \(V(x)\) is the Prinz potential. The eigenvalues \(\lambda_i\) and eigenfunctions \(\psi_i(x)\) satisfy \(\mathcal{L} \psi_i = \lambda_i \psi_i\). The Koopman eigenvalues for the discrete-time system are then \(e^{\lambda_i \Delta t}\).
- Parameters:
gamma (
float) – Friction coefficient of the Langevin dynamics.sigma (
float) – Noise amplitude of the Langevin dynamics.dt (
float) – Time step for the discrete-time Koopman operator.eval_right_on (
ndarrayofshape (n_samples,n_features), optional) – Data points on which to evaluate the right eigenfunctions. IfNone, right eigenfunctions are not evaluated.num_components (
int, default4) – Number of dominant eigenvalues and corresponding eigenfunctions to return.
- Returns:
eigenvalues (
ndarray) – Thenum_componentsdominant Koopman eigenvalues (i.e., \(e^{\lambda_i \Delta t}\)), sorted by magnitude in ascending order. Shape(num_components,).eigenfunctions (
ndarray) – The leadingnum_componentsright eigenfunctions evaluated at eval_right_on` if notNone. Shape(len(eval_right_on), num_components).
Notes
The computation uses a Galerkin projection method with a 1D cosine basis to discretize the Fokker-Planck operator. The domain for the basis functions is set to
(-3, 3).