-
Notifications
You must be signed in to change notification settings - Fork 1
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
Refactor TensorNetwork
to class-based OOP organization
#103
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`copy` is not acting as expected and the copied TN has the `.indices` field mutated.
This was
linked to
issues
Oct 6, 2023
Codecov ReportAll modified lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #103 +/- ##
=========================================
Coverage ? 0.23%
=========================================
Files ? 14
Lines ? 869
Branches ? 0
=========================================
Hits ? 2
Misses ? 867
Partials ? 0 ☔ View full report in Codecov by Sentry. |
jofrevalles
requested changes
Oct 10, 2023
jofrevalles
requested changes
Oct 10, 2023
jofrevalles
approved these changes
Oct 10, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR starts the process of rewriting current
TensorNetwork
type hierarchy on more OOP-like classes. It doesn't do all the things we would like from it yet, but we need some other changes and this PR merges the minimum changes in order to proceed with them.The main change is that we get rid of the "field-inheritance hack using
NamedTuple
", which although interesting, it doesn't scale well. It also redefines what anAnsatz
is and turnsBoundary
andPlug
into traits.Things yet to do after this PR
TensorNetwork
internals to encode the dual graph of the Tensor Network RefactorTensorNetwork
internals to encode the dual graph of the Tensor Network #104QuantumTensorNetwork
Implement "multilayer-graph"-like functionality inQuantumTensorNetwork
#105Ansatz
subtypes as special cases of graph layers DesignAnsatz
subtypes as special cases of graph layers #106Ansatz
IS the graph layer (e.g. a MPS and a MPO have the same "ansatz" and graph layer)Infinite
plug trait Consider deprecatingInfinite<:Plug
trait #107TensorNetwork
hierarchyClasses.@class
Classes.jl
fork or build on top of other packages Consider aClasses.jl
fork or build same functionality on top of other packages #108