-
Notifications
You must be signed in to change notification settings - Fork 12
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
Implement full-infinite projector algorithm #99
Conversation
…ncorporate new projectors algs
This should almost be finished. CTMRG is now refactored with both @lkdvos Perhaps you could take a look at the refactoring whenever you have time? Thanks :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, looks good!
I would say that I am a bit torn on using a flavor over a separate struct now, given that we are separating the algorithms in their own files and this results in having to come up with new names for functions that are doing the same thing, albeit via a different implementation. Maybe just something like this:
abstract type CTMRGAlgorithm end
struct SequentialCTMRG
# fields....
end
struct SimultaneousCTMRG
end
could also work, although that is of course the same as the type aliases we had before. I like this slightly better since it doesn't require symbols, which are hard to constrain/remember the exact form of.
The projector code looks good, I think I would separate it into its own file, since it's now a substantial amount of code.
The remark about the race conditions is probably not super urgent, just wanted to at least mention it somewhere because I had noticed it and don't want to forget.
So most things should work now. Again, the truncation space coordinates for the projectors really confused the hell out of me but Somehow |
It should now differentiate also in the I also updated the gauge-fixing test such that it hopefully is more stable now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me!
One remark might be that maybe we try to merge #97 first, since I don't want to make Yue have to rewrite his code (again). Could you have a look at that PR and tell us what you think?
Yes, I'll take a look and then we can merge #97 first! |
@pbrehmer Thanks for the great work! I'll adapt my code with the latest changes and open a PR on full update soon. |
This PR will implement the full-infinite projector algorithm which SVDs the full 4x4 CTMRG environment, as suggested in #93.
To do this we will need to break up the
expand
/projectors
/renormalize
pattern we currently use to implement the CTMRG routine.