bsc-quantic / Tenet.jl

Composable Tensor Network library in Julia
https://bsc-quantic.github.io/Tenet.jl/
Apache License 2.0
17 stars 1 forks source link

Refactor `TensorNetwork` to class-based OOP organization #103

Closed mofeing closed 8 months ago

mofeing commented 9 months ago

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 an Ansatz is and turns Boundary and Plug into traits.

Things yet to do after this PR

codecov[bot] commented 9 months ago

Codecov Report

All modified lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (develop@be2e2e9). Click here to learn what that means.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #103 +/- ## ========================================= Coverage ? 0.23% ========================================= Files ? 14 Lines ? 869 Branches ? 0 ========================================= Hits ? 2 Misses ? 867 Partials ? 0 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.