[WIP] Add support for local expectation values of tensor product and MPO terms - #425
[WIP] Add support for local expectation values of tensor product and MPO terms#425leburgel wants to merge 19 commits into
Conversation
|
I suppose this is exact contraction with CTMRG/BPEnv ? |
…sion through reduced density matrix
…reduced density operators
- Reorganize file structure - Refactor in terms of generic expression generators that can be easily overloaded
Yes, precisely that. The idea was to add support for alternative operator forms for situations that are very badly suited to our current dense-tensor-operator approach, while still being compatible with AD to use them in variational optimizations. In particular, the motivating cases are multi-site interactions that factor into a plain tensor product across sites (e.g. plaquette terms in gauge theories), and short-range two-site interactions for systems with a large physical dimension. Both of these are extremely expensive for our current approach, while simply storing the tensor product factors separately or storing the operator as a 2-site MPO of low bond dimension greatly reduces the cost. This is still very much a draft, but I already filed the PR to demonstrate how #423 allows to easily add support for exact evaluation of different operator types. In particular, the |
2e35ed7 to
f851709
Compare
Built on top of #423.
Adds support for alternative operator forms for situations that are very badly suited to our current dense-tensor-operator approach, while still being compatible with AD to use them in variational optimizations. For now this is mostly a demonstration of how #423 allows to easily add support for the evaluation of different operator types by only overloading
operator_contraction_expr. The concrete design will be revisited later.