Skip to content

Conversation

@Yue-Zhengyuan
Copy link
Member

@Yue-Zhengyuan Yue-Zhengyuan commented Jan 10, 2026

This PR adds belief propagation for purified iPEPO (iPEPS with two physical legs). It is tested by gauge-fixing finite-temperature simple update results and checking that the expectation values are unaffected.

In addition, I feel we need to distinguish gauge_fix for states and for CTMRGEnv. So here I also renamed the CTMRG gauge fixing to env_gauge_fix, and exported gauge_fix.

@codecov
Copy link

codecov bot commented Jan 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/PEPSKit.jl 100.00% <ø> (ø)
src/algorithms/bp/gaugefix.jl 97.36% <100.00%> (ø)
...rithms/optimization/fixed_point_differentiation.jl 91.72% <ø> (ø)
src/environments/bp_environments.jl 87.75% <100.00%> (ø)
src/operators/infinitepepo.jl 76.85% <100.00%> (+0.43%) ⬆️

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

I think my only remark is that I don't think we should really avoid using gauge_fix for the CTMRG environments, we can use dispatch to distinguish between the two and both use-cases really are of similar nature.
In principle we may at some point want to experiment with the different CTMRG environment gaugefixes, and introduces algorithm types for that too, so then these things look even more alike.

I don't feel too strongly about this and I'm happy to revisit that later if you feel like already merging this, or maybe someone else can give another opinion on the matter?

@Yue-Zhengyuan
Copy link
Member Author

Another reason for the renaming is that I want to export gauge_fix for the state, but don't want to unwillingly export gauge_fix for the CTMRGEnv as a by-product. But anyway, I feel that the interface for both cases is subject to possibly big changes in the near future, so I can also definitely undo the renaming and not export any of them.

@lkdvos
Copy link
Member

lkdvos commented Jan 10, 2026

I have no issues with exporting them and possibly changing them in the near future. If people want to use this while it's not supported, they would still have to change their code if we make changes to this so in the end it doesn't really make such a big difference

@Yue-Zhengyuan
Copy link
Member Author

OK then. I undid the renaming to make the diff smaller.

@lkdvos lkdvos merged commit 7de6692 into QuantumKitHub:master Jan 10, 2026
63 checks passed
@Yue-Zhengyuan Yue-Zhengyuan deleted the bp-ipepo branch January 11, 2026 03:20
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