quantum-margulis-codes

star 1

Quantum Margulis Codes methodology for fault-tolerant quantum computation. A new class of QLDPC codes derived from Margulis classical LDPC construction via two-block group algebra (2BGA) framework. Unlike bivariate bicycle codes, these can be efficiently decoded with standard min-sum decoder (linear complexity) under code capacity noise model. Use when: QLDPC code design, quantum error correction codes, fault-tolerant quantum computing, LDPC code construction, girth-controlled codes, or min-sum quantum decoding.

hiyenwong By hiyenwong schedule Updated 6/3/2026

name: quantum-margulis-codes description: > Quantum Margulis Codes methodology for fault-tolerant quantum computation. A new class of QLDPC codes derived from Margulis classical LDPC construction via two-block group algebra (2BGA) framework. Unlike bivariate bicycle codes, these can be efficiently decoded with standard min-sum decoder (linear complexity) under code capacity noise model. Use when: QLDPC code design, quantum error correction codes, fault-tolerant quantum computing, LDPC code construction, girth-controlled codes, or min-sum quantum decoding.

Quantum Margulis Codes

Core Innovation

Quantum Margulis codes are QLDPC codes constructed from Margulis' classical LDPC construction through the 2BGA (two-block group algebra) framework. Their key advantage: Tanner graph lacks group symmetry, which mitigates error degeneracy in QLDPC decoding, allowing efficient min-sum decoding instead of expensive ordered statistics decoding.

Key Concepts

1. 2BGA Framework (Two-Block Group Algebra)

  • Constructs quantum CSS codes from classical LDPC codes
  • Uses group algebra structure to define X and Z check matrices
  • Margulis construction provides good girth and distance properties

2. Why Min-Sum Works (vs. OSD for BB Codes)

  • Bivariate Bicycle (BB) codes: Tanner graph has group symmetry → error degeneracy → BP/min-sum gets stuck → requires OSD
  • Margulis codes: Tanner graph breaks group symmetry → less degeneracy → min-sum decoder with linear complexity works efficiently

3. Girth-Controlled Construction

  • Algorithm to construct 2BGA codes with controlled girth (minimum 6 or 8)
  • Higher girth → fewer short cycles → better BP/min-sum performance
  • Validated codes at lengths 240 and 642

4. Error Floor Performance

  • Quantum Margulis codes significantly outperform BB codes in error floor region
  • Under min-sum decoding: 2-8 orders of magnitude better error floor
  • Critical for fault-tolerant thresholds

Code Construction Steps

def construct_quantum_margulis(girth_target=8):
    """
    Construct quantum Margulis code with target girth.
    
    Returns H_X, H_Z check matrices for CSS code.
    """
    # Start with Margulis base construction
    # Margulis graph: (Z_2 x Z_2 x Z_2, specific edge rules)
    base_graph = margulis_construction()
    
    # Lift to 2BGA framework
    # H_X = [A | B] structure from group algebra
    # H_Z = [B^T | A^T] (CSS dual structure)
    H_X, H_Z = lift_to_2bga(base_graph)
    
    # Enforce girth constraint
    # Remove edges that create short cycles
    H_X, H_Z = enforce_girth(H_X, H_Z, min_girth=girth_target)
    
    # Verify CSS commutation: H_X @ H_Z^T = 0
    assert (H_X @ H_Z.T) % 2 == 0
    
    return H_X, H_Z

Decoder: Min-Sum for Margulis Codes

def min_sum_decode(syndrome, H, max_iterations=100):
    """
    Standard min-sum decoder works well for Margulis codes
    (unlike BB codes which need OSD).
    """
    # Initialize messages
    msg_v2c = zeros(n, m)  # variable to check
    msg_c2v = zeros(m, n)  # check to variable
    
    for iteration in range(max_iterations):
        # Check node update (min-sum rule)
        for j in range(m):  # check nodes
            for i in H[j].nonzero():  # connected variables
                # Min of absolute values, sign product
                msgs = [abs(msg_v2c[k, j]) for k in H[j].nonzero() if k != i]
                signs = [sign(msg_v2c[k, j]) for k in H[j].nonzero() if k != i]
                msg_c2v[j, i] = prod(signs) * min(msgs)
        
        # Variable node update
        for i in range(n):
            for j in H[i].nonzero():  # connected checks
                msg_v2c[i, j] = llr[i] + sum(msg_c2v[k, i] for k in H[i].nonzero() if k != j)
        
        # Estimate
        estimate = [1 if llr[i] + sum(msg_c2v[j, i] for j in H[i].nonzero()) < 0 else 0
                    for i in range(n)]
        
        if syndrome_check(estimate, H, syndrome):
            return estimate
    
    return estimate  # Best effort

When to Use

  • High-rate QLDPC codes: Need good encoding rate with low decoding complexity
  • Error floor regime: Operating at low physical error rates where BB codes struggle
  • Resource-constrained decoding: Cannot afford OSD complexity
  • Hardware implementation: Min-sum is highly parallelizable and hardware-friendly

Key Parameters

Parameter Description Typical Value
Code length Number of physical qubits 240, 642, ...
Girth Minimum cycle length in Tanner graph 6 or 8
Rate Encoding rate (logical/physical) ~0.1-0.5
Decoder Min-sum iterations 50-200

Pitfalls

  • Girth enforcement may reduce rate: Higher girth = fewer edges = lower rate
  • Not universal: Margulis construction works for specific code families
  • Code capacity only: Results validated under code capacity model; circuit-level noise may differ
  • Length constraints: Not all code lengths are achievable with Margulis construction

Comparison with Other QLDPC Codes

Property Margulis BB Codes Hypergraph Product
Decoder Min-sum OSD required OSD required
Complexity Linear High High
Error floor Excellent Poor Moderate
Girth control Yes Limited Limited

References

  • arXiv:2503.03936 "Construction and Decoding of Quantum Margulis Codes" (Pacenti, Chytas, Vasic; revised May 2026, accepted in Quantum)
Install via CLI
npx skills add https://github.com/hiyenwong/ai_collection --skill quantum-margulis-codes
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
Occupations
More from Creator