Skip to content

Conversation

@JoeyT1994
Copy link
Collaborator

This PR separates the BeliefPropagationCache structure into an abstract and a concrete type in order to support future, more general, bp caches such as the BoundaryMPSCache which can be viewed as a BeliefPropagationCache with the message tensors endowed with extra virtual indices and more complex update rules.

Some functions have been renamed in order to reflect their usage better and the inner, environment and scalar functionality has been cleaned up so as to immediately support more general abstractbeliefpropagationcache based Algorithms without the need to hard-code them, provided certain functionality is supported on the underlying cache.

@mtfishman this is the PR: #212 but without the BoundaryMPSCache parts implemented (which we discussed some changes to and I will work on). This should make for an easier review. Essentially the changes here are a clean-up of the BP code in order to make the way for this future PR (and other caches) where one wants to use BeliefPropagationCache structures with different message_update functions etc.

@mtfishman
Copy link
Member

Thanks @JoeyT1994, I'll take a look. I haven't looked at this code in a while so probably it would be helpful to meet to discuss it.

@mtfishman
Copy link
Member

@JoeyT1994 this looks good to me, can you bump the package version so I can register it after it is merged?

@mtfishman mtfishman merged commit 62d30e0 into ITensor:main Mar 18, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants