Skip to content

Improved Belief Propagation  #38

Closed
@JoeyT1994

Description

@JoeyT1994

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions