-
Notifications
You must be signed in to change notification settings - Fork 1
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
[Enhancement] Add singular value decomposition #16
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16 +/- ##
==========================================
- Coverage 27.48% 27.25% -0.23%
==========================================
Files 26 29 +3
Lines 866 987 +121
==========================================
+ Hits 238 269 +31
- Misses 628 718 +90
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Overall this code looks really nice and simple, thanks @lkdvos. I think this is a nice payoff for the BlockSparseArrays.jl design. I have more of a conceptual question, how does this code handle rectangular block structures? |
Related to my question about how the code is handling rectangular block structures, I also noticed it makes use of the That also reminds me that we will need to think about how to preserve sector information when the axes are graded but we don't necessarily have to do that in this PR. |
So, as an intermediate update:
Given this, I would suggest to add a The easiest here is probably Before I move on with this, I'd like to ask some feedback to see if I'm not overlooking anything, as well as seeing if anyone has better ideas, which I would gladly listen to 😃 |
87c2e6e
to
b804995
Compare
@lkdvos this is getting a bit hard to review but I think it is good to go from my end assuming open issues we discussed are addressed in follow-up PRs. |
Yeah, I am having the same problem keeping track of everything. Let me double check things are behaving as they should, add some comments about todos and open some issues, I'll update the draft status here once I have that figured out. |
ea3bf67
to
badd478
Compare
This depends on having ITensor/DerivableInterfaces.jl#11 merged, but afterwards I think I managed to resolve all issues. To summarize: In order to attempt to keep an overview, I chose to (temporarily) not attempt to make A final change I made is a result of testing more thoroughly the case where a row/column is fully empty. Then, it is necessary to add identity blocks in |
@lkdvos besides the comment I left about reorganizing the code logic around handling missing blocks, this looks good to me. |
Co-authored-by: Matt Fishman <[email protected]>
Co-authored-by: Matt Fishman <[email protected]>
Co-authored-by: Matt Fishman <[email protected]>
Co-authored-by: Matt Fishman <[email protected]>
Co-authored-by: Matt Fishman <[email protected]>
d86c79d
to
da3296b
Compare
Co-authored-by: Matt Fishman <[email protected]>
This PR is a migration of ITensor/ITensors.jl#1572, which aims to add support for SVDs.