Git Product home page Git Product logo

d3s's Introduction

Data-driven dynamical systems toolbox

This toolbox contains methods for the approximation of transfer operators and their eigenfunctions as well as methods for learning the governing equations from data:

  • DMD, TICA, AMUSE
  • Ulam's method
  • EDMD, kernel EDMD, generator EDMD
  • SINDy
  • kernel PCA, kernel CCA
  • CMD
  • SEBA

The algorithms are implemented based on the following publications:

  • F. Bach and M. Jordan. Kernel Independent Component Analysis.
  • S. Brunton, J. Proctor, and J. Kutz. Discovering governing equations from data by sparse identification of nonlinear dynamical systems.
  • G. Froyland, C. Rock, and K. Sakellariou. Sparse eigenbasis approximation: Multiple feature extraction across spatiotemporal scales with application to coherent set identification.
  • F. Noé and F. Nüske. A variational approach to modeling slow processes in stochastic dynamical systems.
  • B. Schölkopf, A. Smola, and K.-R. Müller. Nonlinear component analysis as a kernel eigenvalue problem.
  • C. Schwantes and V. Pande. Modeling Molecular Kinetics with tICA and the Kernel Trick.
  • L. Tong, V. Soon, Y. Huang, and R. Liu. AMUSE: a new blind identification algorithm.
  • J. Tu, C. Rowley, D. Luchtenburg, S. Brunton, and J. Kutz. On dynamic mode decomposition: Theory and applications.
  • M. Williams, I. Kevrekidis, and C. Rowley. A data-driven approximation of the Koopman operator: Extending dynamic mode decomposition.
  • M. Williams, C. Rowley, and I. Kevrekidis. A kernel-based method for data-driven Koopman spectral analysis.
  • S. Klus, P. Koltai, and C. Schütte. On the numerical approximation of the Perron-Frobenius and Koopman operator.
  • S. Klus, F. Nüske, P. Koltai, H. Wu, I. Kevrekidis, C. Schütte, and F. Noé. Data-driven model reduction and transfer operator approximation.
  • S. Klus, I. Schuster, and K. Muandet. Eigendecompositions of transfer operators in reproducing kernel Hilbert spaces.
  • S. Klus, B. E. Husic, and M. Mollenhauer: Kernel canonical correlation analysis approximates operators for the detection of coherent structures in dynamical data.

Develop/Install

The ODE/SDE solvers required by some examples to generate trajectory data are implemented in C++. In order to create Python bindings, first install pybind11, then go to the cpp directory and compile the code by executing the following command:

Linux: g++ -O3 -Wall -shared -std=c++11 -fPIC `python3 -m pybind11 --includes` systems.cpp -o ../d3s/systems`python3-config --extension-suffix`
MAC:   c++ -arch x86_64 -O3 -Wall -shared -std=c++11 -undefined dynamic_lookup `python3 -m pybind11 --includes` systems.cpp -o ../d3s/systems`python3-config --extension-suffix`

d3s's People

Contributors

njbittner avatar sklus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

d3s's Issues

Koopman matrix in KEDMD method

I have been using the KEDMD method from the algorithms for a project and I think it would be nice if the function could return the Koopman matrix along with eigenvalues and eigenfunctions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.