Repository navigation
Add randomized full-environment CTMRG projector - #464
Yue-Zhengyuan wants to merge 1 commit into
Conversation
Port QuantumKitHub#263 to the current projector layout and SVD/truncation interfaces, preserving the original randomization defaults and lazy four-quadrant contractions. Validation: 20 serial smoke-test assertions covering exact/randomized block paths and trivial/U(1) CTMRG integration.
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
| # parse SVD forward & rrule algorithm | ||
|
|
||
| decomposition_algorithm = if alg in [:HalfInfiniteProjector, :FullInfiniteProjector] | ||
| decomposition_algorithm = if alg in [:HalfInfiniteProjector, :FullInfiniteProjector, :randomized] |
There was a problem hiding this comment.
should randomized have capital R for consistency
| @@ -0,0 +1,95 @@ | |||
| """Full-environment randomized SVD projector from PR 263.""" | |||
There was a problem hiding this comment.
I think the "from PR 263" should be removed here
|
We do have randomized SVD support on CUDA wrapped in MatrixAlgebraKit, btw. That shouldn't block this at all but might be good to leave a TODO comment to integrate with it later, if we can? |
|
I've realized that the "randomized SVD" from #263 is much more similar to the subspace iteration approach. For CTMRG, it seems that the goal is not to reach the dominant singular subspace each time we calculate the projectors (which I think is what a general randomized SVD will do), but to eventually reach it over several full CTMRG iterations, so we can recycle the rangefinders from previous CTMRG steps. Nevertheless, significant changes are upcoming to both #464 and #422, and I tend to eventually merge them (with some choices to make) and just call the new projector algorithm |
|
Thanks for the clarification! |
|
Close in favor of #422. |
Update #263 to the current projector layout and SVD/truncation interfaces, preserving the original randomization defaults and lazy four-quadrant contractions.
I'm opening this mainly for easier tracking of the changes relative to
mainbranch. I'll also do a careful comparison with SI-CTMRG in #422 with help of 🤖 as suggested by @leburgel.