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

[NDTensors] [ITensors] Implement QR/RQ/QL/LQ decompositions #1012

Merged
merged 71 commits into from Mar 17, 2023

Conversation

JanReimers
Copy link
Contributor

No description provided.

@codecov-commenter
Copy link

codecov-commenter commented Nov 21, 2022

Codecov Report

Merging #1012 (0dd5238) into main (4606546) will decrease coverage by 31.22%.
The diff coverage is 90.90%.

❗ Current head 0dd5238 differs from pull request most recent head b22f8a3. Consider uploading reports for the commit b22f8a3 to get more accurate results

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@             Coverage Diff             @@
##             main    #1012       +/-   ##
===========================================
- Coverage   85.11%   53.89%   -31.22%     
===========================================
  Files          86       85        -1     
  Lines        8277     8251       -26     
===========================================
- Hits         7045     4447     -2598     
- Misses       1232     3804     +2572     
Impacted Files Coverage Δ
src/tensor_operations/matrix_decomposition.jl 90.00% <90.90%> (-3.26%) ⬇️

... and 42 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Locating the diagonal in a lower tri matrix requires a little extra work.
Add unit tests accordingly
Have to remember run unit test in a fresh REPL.
@JanReimers
Copy link
Contributor Author

Status upate:

  1. Full support for dense and Blocksparse QR/RQ/QL/LQ under review in PR#1012
  2. Rank reduction support for QR/RQ/QL/LQ Will forward PR once PR#1012 is finished.
  3. Update factorize() to allow Blocksparse through (currently it errors out before calling qr()) and allow RQ/LQ/QL
  4. Update all docs accordingly

Test for 32/64 bit float and complex types
Test for positive/real diagonals on L/R
Enhance unit tests for qr/ql decomp
Use a more general complex phase change, instead of the sign change.
@mtfishman
Copy link
Member

@JanReimers we did a reorganization of the NDTensors library in #1061 so you'll need to update this PR appropriately.

@mtfishman
Copy link
Member

mtfishman commented Mar 17, 2023

Looks great, thanks for sticking with all of the comments @JanReimers. It's been a long time coming to have block sparse QR implemented in ITensor, it's been on the TODO list for many years so I'm very happy to see it finally happen! Is this ready to merge from your end?

@JanReimers
Copy link
Contributor Author

JanReimers commented Mar 17, 2023 via email

@mtfishman mtfishman merged commit faa8b94 into ITensor:main Mar 17, 2023
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants