Skip to content

fix: preserve hyperindex connection bonds in gate_inds_with_tn#362

Open
JiwaniZakir wants to merge 1 commit into
jcmgray:mainfrom
JiwaniZakir:fix/issue-319
Open

fix: preserve hyperindex connection bonds in gate_inds_with_tn#362
JiwaniZakir wants to merge 1 commit into
jcmgray:mainfrom
JiwaniZakir:fix/issue-319

Conversation

@JiwaniZakir
Copy link
Copy Markdown

@JiwaniZakir JiwaniZakir commented May 17, 2026

In gate_inds_with_tn, when a target index is a hyperindex (appears in 3+ tensors), the connection bond is classified as an inner index in both networks, causing the collision check to mangle it. The fix excludes intentional connection bonds before renaming, then merges with check_collisions=False. A test with a hyperindex target and a gate spanning two tensors is added. Fixes #319

When the target index is a hyperindex, its replacement rand_uuid appears
as an inner index in tn_target. If the gate's inner index is also shared
across multiple tensors, the same rand_uuid becomes inner in both networks,
causing add_tensor_network's collision check to mangle it and disconnect
the result. Fix by explicitly excluding the intentional connection bonds
from the clash set before merging.
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.

Gating with hyperindices fails

1 participant