The ROM tools and workflows Python library comprises a set of algorithms for constructing and exploiting ROMs that rely on protocol classes that encapsulate all the information needed to run a given algorithm. The philosophy is that, for any given application, the user simply needs to "fill out" a class that meets the required API of the protocol. Once this class is complete, the user gains access to all of our existing algorithms.
https://pressio.github.io/rom-tools-and-workflows/
https://pressio.github.io/rom-tools-and-workflows/demos/
pip install romtoolsgit clone git@github.com:Pressio/rom-tools-and-workflows.git
cd rom-tools-and-workflows
pip install -e .Install the testing dependencies with:
pip install .[test]cd my-path/rom-tools-and-workflows
pytestNote: some tests actually generate some auxiliary/temporary files which
are handled via the tmp_path as suggested https://docs.pytest.org/en/7.1.x/how-to/tmp_path.html.
Install the documentation dependencies with:
pip install .[docs]cd <repo-dir>
make -C docs htmlOpen docs/build/html/index.html in a browser to view the docs.