Skip to content
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

Improved Belief Propagation #38

Closed
JoeyT1994 opened this issue Dec 23, 2022 · 0 comments
Closed

Improved Belief Propagation #38

JoeyT1994 opened this issue Dec 23, 2022 · 0 comments

Comments

@JoeyT1994
Copy link
Contributor

Follow up to PR #17.

  1. Improve the Belief Propagation Test and Belief Propagation Example to take advantage of the changes in PR Add weights(::AbstractITensorNetwork), new graph partitioning interface #30 and do belief propagation in a more memory-efficient manner.
  2. Write a general function to get, given a list of message tensors and the tensor network, the environment (a vector of ITensors) for a given subset of sites. Such a function could be a specific backend for a more general construct_environment function which finds the environment tensors for a subset of sites based on some algorithm (Belief Propagation, Full Contraction, Boundary-MPS etc) that the user specifies. What do you think @mtfishman? This could be very useful as it could then be invoked by the apply method once we add in the full update code.
  3. The function in 2) will be used to write a very straightforward BP_contract_onto_subgraph function where the user specifies a subset of sites and provides local data for the tensors on those sites. The function then calls the construct_environment_BP function and contracts the environments with the local tensors. Such a function could be used to calculate n-site expectation values, or form n-site reduced density matrices. Again, I could also imagine a more generalized version of the contract_onto_subgraph function where the user can specify the environment construction backend @mtfishman
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

No branches or pull requests

1 participant