Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SVD Toolbox for diagnostics #1256

Merged
merged 32 commits into from
Oct 6, 2023
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a3bc13a
Working on refactoring SVD analysis
andrewlee94 Aug 30, 2023
7b20be5
Merge branch 'main' of https://github.com/IDAES/idaes-pse into diagno…
andrewlee94 Aug 30, 2023
7ec6195
Initial version of SVDToolbox
andrewlee94 Aug 30, 2023
5141d92
Adding attribution
andrewlee94 Aug 30, 2023
c681931
Updating some doc strings
andrewlee94 Aug 30, 2023
dce89fd
Supporting user callbacks for SVD methods
andrewlee94 Aug 31, 2023
b851e83
Adding doc strings
andrewlee94 Aug 31, 2023
c654112
Adding more docs
andrewlee94 Aug 31, 2023
79736e9
Starting to clean up DegeneracyHunter
andrewlee94 Aug 31, 2023
1dcd985
Finishing initial tests of DegeneracyHunter
andrewlee94 Sep 5, 2023
75f9d48
Clean up and first comments
andrewlee94 Sep 6, 2023
e580844
Fixing typo
andrewlee94 Sep 7, 2023
d992001
Merge branch 'main' of https://github.com/IDAES/idaes-pse into diagno…
andrewlee94 Sep 7, 2023
c911ae3
Addressing pylint issue
andrewlee94 Sep 7, 2023
e64a0a2
Dealing wiht scipy sign inconsistency
andrewlee94 Sep 7, 2023
a5237ac
Minor formatting
andrewlee94 Sep 11, 2023
1a609ac
Merge branch 'main' of https://github.com/andrewlee94/idaes-pse into …
andrewlee94 Sep 12, 2023
810d358
Merge branch 'main' into diagnostics_2
andrewlee94 Oct 3, 2023
43f8080
Fixing new version of degenereacy hunter
andrewlee94 Oct 3, 2023
30f1152
Adding some tolerance outputs
andrewlee94 Oct 3, 2023
9d27ff3
Tolerances in all numerical checks
andrewlee94 Oct 3, 2023
fedc3a3
Tolerances in SVD output
andrewlee94 Oct 3, 2023
5d4ffa1
Fixing unrelated typo
andrewlee94 Oct 3, 2023
2ab12f4
REport residuals on unconverged constraints
andrewlee94 Oct 3, 2023
2d1ae09
Adding placeholder for degeneracy hunter docs
andrewlee94 Oct 3, 2023
e7e7cb3
Addressing comments
andrewlee94 Oct 4, 2023
2ab93a2
adding test for _get_solver
andrewlee94 Oct 5, 2023
a036c55
Better unit testing of degeenracy hunter methods
andrewlee94 Oct 6, 2023
cc5d9ef
Merge branch 'main' into diagnostics_2
andrewlee94 Oct 6, 2023
2318870
Adjusting validation to be 2 or more args
andrewlee94 Oct 6, 2023
fa18ab3
Merge branch 'diagnostics_2' of https://github.com/andrewlee94/idaes-…
andrewlee94 Oct 6, 2023
ca7154a
Fixing svd analysis to ignore inequalities
andrewlee94 Oct 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/explanations/model_diagnostics/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ Model Diagnostics Workflow
:depth: 3
:local:

.. toctree::
:maxdepth: 1

svd_analysis

Introduction
------------

Expand Down
8 changes: 8 additions & 0 deletions docs/explanations/model_diagnostics/svd_analysis.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SVD Analysis
============

.. contents::
:depth: 3
:local:

TBA
17 changes: 17 additions & 0 deletions docs/reference_guides/core/util/diagnostics/svd_toolbox.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SVD Toolbox
===========

The IDAES SVD Toolbox is an advanced diagnostics tool for helping to identify scaling and degeneracy issues in models using Singular Value Decomposition and is accessible through the ``DiagnosticsToolbox``. Further discussion of how to use and interpret SVD results can be found :ref:`here<explanations/model_diagnostics/svd_analysis:SVD Analysis>`.

.. autoclass:: idaes.core.util.model_diagnostics.SVDToolbox
:members:

SVD Callbacks
-------------

The SVD Toolbox supports callbacks to select the SVD analysis tool to use. Two callbacks are provided to make use of methods avaialable in Scipy.

Check warning on line 12 in docs/reference_guides/core/util/diagnostics/svd_toolbox.rst

View workflow job for this annotation

GitHub Actions / Check Spelling

"avaialable" should be "available".

.. automodule:: idaes.core.util.model_diagnostics
:noindex:
:members: svd_dense, svd_sparse

3 changes: 2 additions & 1 deletion docs/reference_guides/core/util/model_diagnostics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ The IDAES toolset contains a number of utility functions which can be useful for
:maxdepth: 1

diagnostics/diagnostics_toolbox
diagnostics/svd_toolbox
diagnostics/degeneracy_hunter

Other Methods
^^^^^^^^^^^^^

.. automodule:: idaes.core.util.model_diagnostics
:exclude-members: DegeneracyHunter, DiagnosticsToolbox
:exclude-members: DegeneracyHunter, DiagnosticsToolbox, SVDToolbox, svd_dense, svd_sparse
:members:

Loading
Loading