Repository navigation
[WIP] Get started with a C4v specific CTMRG environment - #471
Conversation
|
There are definitely some performance improvements still to be made here (e.g. 1 layer pepo handling) but I wanted to get some feedback before I kept going :) |
pbrehmer
left a comment
There was a problem hiding this comment.
Thanks for getting this started! I am confused why we don't explicitly restrict to a trivial single-site unit cell but other than that I thinks it's great :~)
|
Thanks very much for the comments, I will try to address these today ❤️ |
|
OK @pbrehmer @Yue-Zhengyuan I think I responded to everything and tests are passing (so far..), did you have more thoughts? |
pbrehmer
left a comment
There was a problem hiding this comment.
Looks good to me now, thanks!
|
Let me see if I can't add a few more tests to get coverage up, then I'll try to merge later today |
|
Added some tests for contractions with a c4v env that should hit more methods and fixed some rotation bugs along the way :D |
C4v symmetric environments! Here is a first attempt.
I added an abstract supertype
AbstractCTMRGEnvthat bothCTMRGEnvandC4vCTMRGEnvsubtype. If we add C6v symmetry later this might also be useful. It also reduces duplication of methods and allows a lot of code to work for both environment types.The
C4vCTMRGEnvuses 3D arrays for the corner and edge with leading dimension 1, the idea being that again we can reuse a lot of logic with this pattern.