-
Notifications
You must be signed in to change notification settings - Fork 54
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
hSVD (rank and tolerance, new) #1126
Conversation
Thank you for the PR! |
Codecov Report
@@ Coverage Diff @@
## main #1126 +/- ##
==========================================
+ Coverage 91.79% 91.85% +0.06%
==========================================
Files 72 74 +2
Lines 10497 10712 +215
==========================================
+ Hits 9636 9840 +204
- Misses 861 872 +11
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
…VD of the zero-matrix (or numerically zero-matrix) appears ... added also corresponding tests
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
Merge queue setting changed
Thank you for the PR! |
Thank you for the PR! |
…cs/heat into features/1041-hsvd-new
Thank you for the PR! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not done with the review, filing what I have so far so it doesn't get lost. Will get back to it later.
Co-authored-by: Claudia Comito <39374113+ClaudiaComito@users.noreply.github.com>
…cs/heat into features/1041-hsvd-new
Thank you for the PR! |
2 similar comments
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Brilliant @mrfh92 !
…ty with versions torch<=1.11.0
Thank you for the PR! |
Thank you for the PR! |
Thank you for the PR! |
replaces old #1042 which I closed due to a problem with the CI
Description
Hiearchical SVD (hSVD) computes an approximate truncated SVD of$A \in \mathbb{R}^{m \times n}$ utilizing a distributed hiearchical algorithm; the truncation rank is given by $maxrank$ , i.e. if $A = U diag(\sigma) V^T$ , $U \in \mathbb{R}^{m \times m}$ , $V \in \mathbb{R}^{n \times n}$ , $\sigma \in \mathbb{R}^{\min(m,n)}$ is the true SVD of $A$ , this routine computes an approximation for $U[:,:maxrank]$ (and $sigma[:maxrank]$ , $V[:,:maxrank]$ ).
There are three routines:
hsvd
: "expert" version with all parameters to be set; potential conflicts are not catchedhsvd_rank
: user-friendly version with appropriate default-parameters to compute hSVD with prescribed truncation rankhsvd_reltol
: user-friendly version with appropriate default-parameters to compute hSVD with prescribed relative reconstruction accuracySelected References:
[1] Iwen, Ong. A distributed and incremental SVD algorithm for agglomerative data analysis on large networks. SIAM J. Matrix Anal. Appl., 37(4), 2016.
[2] Himpe, Leibner, Rave. Hierarchical approximate proper orthogonal decomposition. SIAM J. Sci. Comput., 40 (5), 2018.
Dependencies
hSVD makes use of the pytorch-SVD and MPI-communication. No dependencies on HeAT linear algebra, except for matmul.
Type of change
Memory requirements
TBD
Performance
TBD
Due Diligence
Does this change modify the behaviour of other functions? If so, which?
no