Python Bindings for Pressio
Advancing reduced order models (ROMs) for dynamical systems in science and engineering.
This is the documentation of the Python library, one component of the Pressio ecosystem.
Start with why
Model reduction is a broad and very active field. Many methods exist, but there is no such thing as "one method to rule them all". We believe that evaluating the quality of a reduced model requires accounting for several factors, e.g., the reduction in degrees of freedom, training cost, evaluation cost, robustness, simplicity, predictive accuracy, etc. There is no single metric to rely on; it is always a tradeoff.
We believe that there is a lot to explore in this field both in terms of new research directions as well as assessing robustness of current state-of-the-art methods. There is no better way than an agile Python framework to incentivize and foster work to impact this field. Working towards this goal, pressio4py is our open source contribution to research novel fundamental ideas on model reduction as well as test state-of-the-art methods on problems of arbitrary complexity and from arbitrary disciplines. Python is a great language to do so because it benefits from a large community of developers, a large choice of available packages, and has become the de-facto choice for machine learning. This makes it an ideal framework to explore and merge ideas from different fields.
Components
Name | Description/Content | Links | Module(s) |
---|---|---|---|
logger | (dis)enable pressio logging | Doc Page | pressio4py.logger |
solvers_nonlinear | general info Newton-Raphson Gauss-Newton Levenberg-Marquardt | Doc Page Doc Page Doc Page Doc Page | pressio4py.solvers |
ode | explicit steppers implicit steppers advancers | Doc Page Doc Page Doc Page | pressio4py.ode |
rom | general info decoder Galerkin LSPG: steady LSPG: unsteady WLS | Doc Page Doc Page Doc Page Doc Page Doc Page Doc Page | pressio4py.rom |
Note that we intentionally keep pressio4py limited in scope for now. We don't provide bindings for all the functionalities in the pressio C++ library but only for the model reduction ones and those strictly auxiliary.
Installation
To avoid potential issues with mixed versions, make sure the version of pytest
you use is compatible with the pip
command you use to install. The Python commands must be from the same distribution.
License and Citation
The full license is available here.
We are working on publishing this: you can find our arXiv preprint at: https:/
Questions?
Find us on Slack: https:/