{{ message }}
Conversation
Contributor
|
Your PR no longer requires formatting changes. Thank you for your contribution! |
Reconcile CBE with main after rebase: - migrate CBEDMRG/SketchedExpand to the 3-arg environments(ψ, H, ψ) API (#436 removed the defaulted operator-environments form) - instrument CBEDMRG/cbe_sweep! with TimerOutputs (expand / AC_eigsolve / svd_trunc / sweep / finalize), matching the #431 DMRG/DMRG2 style Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Restore the `isnothing(alg.alg_expand)` guard around `changebond!` in the finite TDVP sweep. It was dropped together with the verbosity `withlevel` wrapper during cleanup, so `TDVP()` (default `alg_expand = nothing`) called `changebond!(..., nothing, ...)` — which has no method — erroring for any `AbstractFiniteMPS` (e.g. WindowMPS evolution with an InfiniteMPOHamiltonian). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a WIP implementation of a CBE-like expansion scheme based on randomized SVD.
The long story short is that instead of a full twosite (
OptimalExpand) -based approach, we can sketch out this update to select the expansion directions.Mainly I'm still struggling slightly with committing to an interface, and checking what goes where.
I'm somewhat convinced that the
changebond!(as opposed tochangebonds!) abstraction for doing a single expansion on a bond is probably good, but still struggling a bit to see if I want to default this intoDMRG(andTDVP), or get a dedicatedCBE_DMRGalgorithm for it.Interestingly, I think I've set it up in such a way that the various expansion schemes can be used interchangibly, so it is quite modular.
The main source of complexity/messiness is mostly that the
FiniteMPSstructs and environments are very untransparant about what they do, so trying to reuse functionality involves a lot of assumptions on which tensors exactly are where and which ones are used.It would be nice to revisit that at some point, but I also just don't have the time to actually go ahead and do this...
Still to do: