Resolvent4py
Resolvent4py is a petsc4py- and slepc4py-based toolbox to perform analysis, model reduction and control of high-dimensional linear dynamical systems. The goal of this project is to provide users with a friendly python-like experience, while also leveraging the high-performance and parallel-computing capabilities of the PETSc and SLEPc library. Current functionalities include:
Right and left eigendecomposition
Resolvent analysis (algebraic and using time-stepping techniques)
Harmonic resolvent analysis
Balanced truncation (time-invariant)
If you use resolvent4py in your work, please cite the following paper (see here for the open access pdf):
@article{PADOVAN2025102286, title = {Resolvent4py: A parallel Python package for analysis, model reduction and control of large-scale linear systems}, journal = {SoftwareX}, volume = {31}, pages = {102286}, year = {2025}, issn = {2352-7110}, doi = {https://doi.org/10.1016/j.softx.2025.102286}, url = {https://www.sciencedirect.com/science/article/pii/S2352711025002523}, author = {Alberto Padovan and Vishal Anantharaman and Clarence W. Rowley and Blaine Vollmer and Tim Colonius and Daniel J. Bodony}, }
Getting Started