Kooplearn#

A Python library for Koopman and Transfer operator learning


Installation#

To install the core version of kooplearn, without optional the dependencies Torch and Lightning, run

pip install kooplearn

To install the full version of kooplearn, including Neural-Network models, run

pip install "kooplearn[full]"

To install the development version of kooplearn, run

pip install --upgrade git+https://github.com/Machine-Learning-Dynamical-Systems/kooplearn.git

Features#

Algorithms

Kooplearn offers a diverse range of state of the art algorithms tailored for learning Koopman and Transfer operators of deterministic and stochastic dynamical systems, respectively. Check out kooplearn’s model zoo for a complete list of available algorithms.

Modularity

Kooplearn is designed with extensibility in mind. In kooplearn.abc we expose simple abstract base classes which allow you to quickly build kooplearn-compatible components and models.

Spectral Decomposition

Unlock deeper insights into your dynamical systems using spectral analysis. Every model in kooplearn implements eig and modes methods returning the spectral and mode decompositions of the learned operator. This can be used for a number of downstream tasks, such as control, system identification, and more.

Deep Learning models

Kooplearn implements many neural-network models to learn the Koopman/transfer operators. Kooplearn’s Deep-Learning models are based upon Pytorch Lightning for fast and easy training on CPU, GPU, and multi-GPU systems.