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**: https://github.com/decargroup/pykoop/compare/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)