Skip to content

pykoop v1.2.0

Compare
Choose a tag to compare
@sdahdah sdahdah released this 02 Oct 18:01
· 35 commits to main since this release
555c77e

This release allows users to manually set a Koopman matrix computed outside of pykoop for easier interoperability with other libraries or custom regression code. The release also adds global configuration management, specifically to skip input validation. This can significantly (2x!) speed up predict_trajectory() and other methods that call lift(), retract(), etc. frequently. Finally, this release fixes some awkward scoring behaviour, making score_trajectory() work better in hyperparameter optimization setups.

Full changelog: v1.1.3...v1.2.0

New features

  • Added DataRegressor to allow KoopmanPipeline objects to be created directly from NumPy arrays (#129)
  • Added sklearn-style configuration management (set_config(skip_validation), get_config() and config_context(skip_validation) ) to allow skipping input validation in performance-critical areas (#151)
  • Added KoopmanPipeline.frequency_response() to compute the frequency response of a Koopman system without plotting the Bode plot (#143)
  • Added the plot_error parameter to plot_predicted_trajectory() to allow plotting the prediction error instead of the trajectory (#148)
  • Made DelayLiftingFn compatible with SplitPipeline (#145)

Bug fixes

  • Fixed bug where score_trajectory() could return a worse score than the error_score, or even return NaN (#132)