I have provided two versions of Pendulum system using ResKoopNet and a comparison test with other 4 methods:
- The
pendulum.mfile is used to generate pendulum data, - TensorFlow Version:
pendulum_reskoopnet_tf.ipynb, - PyTorch Version:
pendulum_reskoopnet_torch.ipynb, - Comparison test:
pendulum_edmd_reskoopnet_hankeldmd_edmddl.ipynb, - Algorithm of Hankel-DMD:
hankel_dmd_utils.py. - Some dataset for Pendulum example: here.
We have computed Koopman modes using ResKoopNet and Hankel-DMD in these experiments:
- Experiment on turbulence using ResKoopNet:
turbulence_reskoopnet.ipynb, - Plotting Koopman modes computed from ResKoopNet method:
turbulence_reskoopnet_plot.ipynb, - Experiment on turbulence using ResKoopNet with plotting:
turbulence_hankeldmd.ipynb.
We have tested on the open dataset on mice from the competition ``Sensorium 2023" via comparing ResKoopNet and several other classical methods in this experiment.
- The
solver_edmd_tf.pyis based on a modified version of the EDMD-DL solver. You can find more details here. solver_resdmd_tf.pyandsolver_resdmd_torch.pyare also modified based on the EDMD-DL solver.
koopman_pseudospec_qr- A plotting tool to visualize the pseudospectrum. This Python file is translated from here.
If you use ResKoopNet or the code in your research, please kindly cite the following paper:
@@inproceedings{xu2025reskoopnet,
title = {ResKoopNet: Learning Koopman Representations for Complex Dynamics with Spectral Residuals},
author = {Xu, Yuanchao and Shao, Kaidi and Logothetis, Nikos and Shen, Zhongwei},
booktitle = {Proceedings of the 42nd International Conference on Machine Learning},
year = {2025},
publisher = {PMLR},
series = {ICML '25},
url = {https://openreview.net/forum?id=Svk7jjhlSu}
}