PyKoopman is a Python package for the data-driven approximation of the Koopman operator associated with a dynamical system. The Koopman operator is 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 variants. 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 available at http://github.com/dynamicslab/pykoopman
翻译:PyKoopman是一个用于对动力系统相关联的Koopman算符进行数据驱动逼近的Python包。Koopman算符是对非线性动力学进行原理性线性嵌入的数学工具,可借助线性系统理论对强非线性动力学系统实现预测、估计与控制。该软件包特别针对无驱动和受迫系统,基于方程无关的动态模态分解(DMD)及其变体,提供了数据驱动系统辨识工具。本文简要阐述Koopman算符的数学基础,概述并演示PyKoopman中实现的功能(附代码示例),为用户提供实用建议,并列出该软件的潜在扩展方向。软件代码见http://github.com/dynamicslab/pykoopman