Repository navigation
Use the asymmetric Gram root for the BP simple-update gauge - #204
Merged
Merged
Conversation
Gauges each bond by the asymmetric root of its message and its inverse, rather than the symmetric root, which keeps the truncation optimal for a non-Hermitian environment. The inverse factor is twisted so that it inverts the forward factor under contraction rather than under the bare matrix product. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #204 +/- ##
==========================================
+ Coverage 88.65% 88.81% +0.15%
==========================================
Files 17 17
Lines 714 724 +10
==========================================
+ Hits 633 643 +10
Misses 81 81
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Calls the operator-level root `message_gauge`, since that is the layer that knows its argument is a bond message, and moves the Hermitian projection the call sites were each doing into it. The two generic layers keep the `gram_root_invroot` name, which describes the factorization rather than the use. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Keeps one name for the operation across its matrix, named-tensor and operator layers, rather than naming the lower two after the factorization that implements them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Takes the bond indices directly, through `inputinds`, instead of looking names up and dualizing them by hand at the one call site that knew the convention. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mtfishman
marked this pull request as ready for review
October 7, 2026 17:36
mtfishman
enabled auto-merge (squash)
October 7, 2026 17:36
jack-dunham
pushed a commit
to jack-dunham/ITensorNetworksNext.jl
that referenced
this pull request
Oct 8, 2026
Upstream's ITensor#204 replaced the symmetric √message gauge with `message_gauge`'s asymmetric Gram root. `bp_gate_factorize!` now absorbs each root `x` with `x * ψ` and returns the inverse roots `y`, which `bp_gate_restore!` contracts back in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jack-dunham
pushed a commit
to jack-dunham/ITensorNetworksNext.jl
that referenced
this pull request
Oct 8, 2026
Upstream's ITensor#204 replaced the symmetric √message gauge with `message_gauge`'s asymmetric Gram root. `bp_gate_factorize!` now absorbs each root `x` with `x * ψ` and returns the inverse roots `y`, which `bp_gate_restore!` contracts back in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Gauges each bond by the asymmetric root of its message and its inverse rather than the symmetric root, which keeps the truncation optimal for a non-Hermitian environment. The inverse is twisted so it inverts under contraction rather than under the bare matrix product.