Skip to content

fnueske/KoopmanLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KoopmanLib

KoopmanLib is a python library for data-driven analysis of dynamical systems using Koopman operator-based methods. It is maintained by the DMP group at Max-Planck-Institute for Dynamics of Complex Technical Systems, Magdeburg, Germany, and collaborators.

NOTE: This library is under construction. At this time, only basic functionality is available, the code is not optimized for performance, only rudimentarily tested, and almost no error-checking is implemented.

Installation

This library is presently not available via conda or pip. Simply fork the repository on github, and add the location of KoopmanLib to your python path.

Dependencies

numpy, scipy, matplotlib, sklearn, sympy, deeptime

Conventions for Basis Functions

  • Time series data are usually represented as two-dimensional arrays, where the first axis represents the data dimension (e.g. state space dimension, number of basis functions, ...), and the second axis represents the data size (e.g. time steps, samples from a distribution, ...). Lists of such arrays can also be processed.
  • Basis functions can be represented either by
    • a callable function, which accepts a time series as described above, and returns a new time series of shape number of basis functions by number of data points.
    • a list of symbolic functions (generated by sympy) accompanied by a list of symbolic variables. The number of variables must match the expected data dimension. These functions will internally be converted to callable functions, and differentiated symbolically if required.

Available Modules

  • EDMD: the basic EDMD algorithm. Includes functions for spectral analysis and cross-validation using VAMP score.
  • RFF: kernel-based EDMD or gEDMD using Random Fourier Features. Includes functions for feature matrix construction, spectral analysis, cross-validation using VAMP score.
  • Systems: collection of model systems. Includes: Lemon Slice Potential.
  • TestCases: collection of test cases to illustrate the algorithms implemented in KoopmanLib.
  • Util: collection of auxiliary functions. Includes: whitening transformation, filtering of eigenvalues, splitting data into time-shifted parts, derivatives of internal molecular coordinates.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages