-
Notifications
You must be signed in to change notification settings - Fork 27
Implement VectorInterface's scale!! and add! for InfinitePEPS
#226
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
Conversation
Codecov ReportAttention: Patch coverage is
🚀 New features to boost your workflow:
|
|
Shall we regenerate the docs to clear this warning message in them? |
I was about to do that. First though, I will fix the example caching mechanism such that it doesn't hash absolute paths (which means that everyone needs to rerun all the time) and insteads hashes relative paths. |
|
Wait a second though, why is this hitting the VectorInterface functions and not our custom retraction implementation? Keep in mind that this really is about vectors, and in principle the InfinitePEPS addition is not closed since it would require a larger bond dimension. We are (ab)using this in the context of the CTMRGEnv only in the rrule, as we are hijacking the same structure there for the cotangent, which is a linearized version so safe to add element wise like that, but in principle this doesn't apply to InfinitePEPS. Is this because we are doing the same for the peps gradients? |
|
I looked at the stacktrace again and apparently there are I think in our case though, |
lkdvos
left a comment
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.
Thanks for checking! Indeed, the "vectors" in H are gradients so these are linear, so I guess this should be fair :)
(I'm slightly uncomfortable about this entire thing, since it also looks easy to use this wrong, but I don't think it is worth it to go and add explicit tangent types either so 🤷 )
|
Well actually you had a point: I forgot to add the |
We implement VectorInterface's scale and add functions for
InfinitePEPS. Previously, this would spit out warnings since OptimKit had to use fallback functions.Closes #225. Thanks @Yue-Zhengyuan for taking notice!