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.
In this PR we will finally add a dedicated C4v CTMRG algorithm. I started with the standard version using
eighprojectors but we can easily also implement a QR version by making aC4vQRProjectoralgorithm and the correspondingc4v_projectormethod. (@Yue-Zhengyuan said he would be up for doing this :-)) This C4v routine is completely differentiable using naive AD,:diffgaugeand:fixedmode.Note that I needed to generalize the
gauge_fixmethod forCTMRGEnvs to not have separate methods for all the C4v stuff. Same thing is true for environment initialization, where it would be nice to have aninitialize_environmentmethod where one can dispatch on an algorithm. Here we'll have to wait until we merge #264.Let me also say that it would eventually be nicer to have a dedicated
C4vCTMRGEnvsince this would make things cleaner. However, this would entail a larger rewrite of quite a few things, so I propose that I postpone this rewriting and cleaning up process until I have more resources for that again. (In general I feel like we should clean up and refactor some stuff again since the codebase has been growing quite a bit.) Anyways, for now it would be nice to have a working C4v CTMRG that people can use.This is still very much under construction but I'll finish up things and adjust the test suite tomorrow.
Closes #258.