PyKoopman: A Python Package for Data-Driven Approximation of the Koopman Operator

ORAL

Abstract

PyKoopman is a Python package for the data-driven approximation of the Koopman operator in dynamical systems. The Koopman operator has emerged as a principled linear embedding of nonlinear dynamics and facilitates the prediction, estimation, and control of strongly nonlinear dynamics using linear systems theory. In particular, PyKoopman provides tools for data-driven system identification for unforced and actuated systems that build on the equation-free dynamic mode decomposition (DMD) and its nonlinear variants including EDMD, KDMD, time delayed DMD, scalable KDMD, and a neural network version. In this work, we provide a brief description of the mathematical underpinnings of the Koopman operator, an overview and demonstration of the features implemented in PyKoopman (with code examples), practical advice for users, and a list of potential extensions to PyKoopman. Software is also available on Github.

*The authors acknowledge funding from the National Science Foundation AI Institute in Dynamic Systems grant number 2112085 and the Air Force Office of Scientific Research (AFOSR FA9550-19-1-0386).

Presenters

  • Shaowu Pan

    • Rensselaer Polytechnic Institute

Authors

  • Shaowu Pan

    • Rensselaer Polytechnic Institute
  • Eurika Kaiser

    • University of Washington
  • Nathan Kutz

    • University of Washington
    • University of Washington, Department of Applied Mathematics
    • UW
  • Steven L Brunton

    • University of Washington
    • University of Washington, Department of Mechanical Engineering