-
Notifications
You must be signed in to change notification settings - Fork 45
[Feature] MPS manifolds #339
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
base: main
Are you sure you want to change the base?
Conversation
|
I'm definitely in favor of streamlining the way (in)finiteMPS objects are created. I also like the idea of making it very similar to other construction methods in the ecosystem like On a related note: |
622660d to
081af8e
Compare
Codecov Report❌ Patch coverage is
... and 75 files with indirect coverage changes 🚀 New features to boost your workflow:
|
e8e3119 to
c6f6513
Compare
I have for a long time wanted to change the way our mps are constructed, and I finally started to have a first go at the idea I had in mind.
Disclaimer: everything is up for debate, including names and functionality.
The main idea is that I want to mimic what
BaseandTensorKitdo for their constructors, which basically boils down to havingIn order to achieve this, I therefore added some structure to dispatch on, which I tentatively named
MPSManifold.This is just a glorified collection of all of the spaces, but I would argue that it nicely organizes a bit more of the logic surrounding spaces away from the logic concerning the actual constructors.
The updated workflow would now be:
I like that it separates out some code logic, especially surrounding the "full-rank-ness" of MPS, and I like the syntax, and I love that we no longer have a million weird constructors that would have to be supported, but before I go in and update the docs, and do the same for the
InfiniteMPS, I would like some feedback.Does this make sense? Is it too convoluted? Do you think it is an improvement?
It would be fairly straightforward to add various utility functions to this interface as well, such as
vcat,repeat, ...