fix(qec): correct PyMatching merged-edge mapping and realtime observable output - #799
Draft
vedika-saravanan wants to merge 2 commits into
Draft
Conversation
…y retains after a parallel-edge merge, matching the behavior of each merge strategy Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
…le output Signed-off-by: vedika-saravanan <vsaravanan@nvidia.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.
Description
Fix two PyMatching issues in the realtime decoding path:
decode_to_obsoutput instead of decoding to error bits followed by observable projection.Adds regression coverage for
keep_original,independent,smallest_weight, andreplace, plus realtime observable-output construction.Runtime / performance impact
GB200, surface code d=7 / r=7, 1,000 decode-triggering shots per run:
decoder_callaverageAll three post-change server runs passed with zero residual logical errors.
Self-review checklist
Please confirm each item before requesting review. Check
[x]or strikethrough and explain.
Before requesting review
Scope and size
(if so, an issue has been raised).
Tests
just when it is missing.
Negative tests added where exceptions are expected.No new exception path.Truth data added where simpleThe small explicit graph has exact expected outputs.EXPECT_*/assertchecks areinsufficient for algorithmic correctness.
Documentation
Public-facing APIs have Doxygen docs.No public API was added or changed.User-visible behavior changes have public docs, or a follow-up isThis is an internal correctness and performance fix.tracked.
Code style
snake_casevscamelCase) forthe area being modified.
Dependencies
OSRB tickets filed.