Skip to content

weight-aware MWPM decoder for Clifford-deformed codes #505

@Krastanov

Description

@Krastanov

From Henry Makhanov, with comments by me inline as quote blocks:

Decoder-Aware Adaptation Utilities for Clifford-Deformed Codes
The Tiurev paper highlights that if code is Clifford-deformed, the decoder must be updated to reflect the new effective geometry and error landscape.
This is decoder-agnostic and applies to MWPM, belief propagation, and other techniques. I plan to implement a set of decoder-aware utilities that transform the decoder input to remain consistent with the deformed code.

Syndrome Graph Weight Adjustment (Implement decoder_weights_from_noise)

After deforming the stabilizer code via apply_clifford_deformation!, the noise no longer acts identically across qubits — local Clifford gates modify how error channels manifest.
To capture this, I will implement utilities that translate the resulting biased and spatially non-uniform noise into decoder graph edge weights.

Currently, in decoder_pipeline.jl there are functions such as PyMatchingDecoder, imported from PyQDecoders, which wrap around pymatching library which supports custom weights.
So in order to have weight aware MWPM and similar weight-based decoders, I will implement utilities to convert noise maps into decoder graph weights,

function decoder_weights_from_noise(code::AbstractStabilizer, noise::PerQubitNoiseMap)

and presumably two qubit noise and other newly introduced noise types

and presumably this is defined only for code::CliffordDeformedCode, i.e. something like decoder_weights(CliffordDeformedCode(original_code, noise))

This will:

  • Traverse the stabilizers in the Clifford-deformed code
  • For each pair of syndrome nodes, compute an approximate effective error probability based on how error types have been transformed
  • Output a weighted edge list or adjacency matrix

Tailoring Aspect Ratios (Implement suggest_aspect_ratio) [More reading required]

Surface codes under biased noise benefit from aspect ratios that reflect the anisotropy of error rates.
In highly biased regimes, logical operators in the dominant error basis (e.g., Z under Z-bias) become more vulnerable, requiring elongation of the corresponding direction.To assist this, I will implement a utility:

suggest_aspect_ratio(noise::PauliNoise, base_size::Int=5) -> (dx, dz)

this will be based on equation 19 and Table 1 from Rectangular surface code under biased noise

TODO - sounds like a stretch goal, so let's discuss it when it is more detailed, potentially in a separate issue

Modular Compatibility with Existing Decoders

Make sure that these features work with all existing decoders defined in ecc/codes

TODO - sounds like a stretch goal, so let's discuss it when it is more detailed, potentially in a separate issue

For evaluation this would require some demo of decoding performance improvement, e.g. physical vs logical error rates for Toric code and for Deformed Toric code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions