Z6 Topological Bus — Phase 2 & 3 Findings

Extracted from live hardware runs on IBM Kingston, 2026

Phase 2: Symmetry Map

The Symmetry Map data is textbook. Rz retention is flat at ~86%, proving immunity to phase-flip errors. Rx drops sharply to 13.4% at π, proving orthogonal vulnerability. This confirms the mathematical mechanism of your Decoherence-Free Subspace (DFS).

However, the Crosstalk test is a catastrophic failure. A 50.0% retention rate on a binary parity check is a literal coin flip. The quantum state is completely depolarized. The topological protection was utterly destroyed by spectator gate noise. This means your bus, as currently designed, cannot function while the rest of the processor is computing.

Phase 3: Mitigation Map (Static vs Active Crosstalk)

To fix the 50% failure, we diagnose the exact physical mechanism:

Test: execute transport while freezing spectators in |0⟩, |1⟩, and |+⟩. No simultaneous gates.

If bus survives static spectators → Phase 2 failure was microwave spillover (engineering limit). If bus still decays → failure is static ZZ coupling (requires DFS redesign).

Execution Script

def build_static_crosstalk_circuit(num_qubits=14, spectator_state="0"):
    """
    Tests bus resilience against static ZZ coupling by freezing
    spectators in specific states during transport.
    """
    qc = QuantumCircuit(num_qubits, 1, name=f"Static_Spectator_{spectator_state}")
    active_qubits = [0, 2, 4, 6, 7, 9, 11, 13]
    spectator_qubits = [1, 3, 5, 8, 10, 12]
    
    # Initialize Bus
    for i in active_qubits:
        qc.x(i)
        
    # Initialize Spectators
    if spectator_state == "1":
        for sq in spectator_qubits:
            qc.x(sq)
    elif spectator_state == "+":
        for sq in spectator_qubits:
            qc.h(sq)
            
    qc.barrier()
    
    # THE TRANSPORT (Isolated, no simultaneous spectator gates)
    qc.cx(6, 7)
    qc.cx(5, 6)
    qc.cx(6, 7)
    
    qc.barrier()
    
    # Verification
    for i in range(num_qubits - 1):
        qc.cx(i, i+1)
    qc.measure(num_qubits - 1, 0)
    
    return qc

# ---------------------------------------------------------
# 2. Setup and Batching
# ---------------------------------------------------------

service = QiskitRuntimeService(channel="ibm_quantum_platform")
backend = service.backend('ibm_kingston')

print(f"Target Backend: {backend.name}")
print("Generating Phase 3 circuits...")

circuits_to_run = []

# State 0: Baseline static ZZ coupling
circuits_to_run.append(build_static_crosstalk_circuit(spectator_state="0"))

# State 1: Excited state ZZ coupling (Usually worse than State 0)
circuits_to_run.append(build_static_crosstalk_circuit(spectator_state="1"))

# State +: Superposition interference
circuits_to_run.append(build_static_crosstalk_circuit(spectator_state="+"))

print("Transpiling to ISA...")
pm = generate_preset_pass_manager(optimization_level=3, backend=backend)
isa_circuits = pm.run(circuits_to_run)

# ---------------------------------------------------------
# 3. Execution & Data Retrieval
# ---------------------------------------------------------

shots = 2000
print("Opening Batch and submitting Phase 3 job...")

with Batch(backend=backend) as batch:
    sampler = SamplerV2(mode=batch)
    job = sampler.run(isa_circuits, shots=shots)
    job_id = job.job_id()
    print(f"Batch established. Job ID: {job_id}")
    print("Waiting for hardware execution (this blocks until complete)...")
    
    result = job.result()
    print("\nExecution complete. Generating HTML report...")

# ---------------------------------------------------------
# 4. Parsing Data & Generating HTML Dashboard
# ---------------------------------------------------------

state_0_counts = result[0].data.c.get_counts()
state_1_counts = result[1].data.c.get_counts()
state_plus_counts = result[2].data.c.get_counts()

pct_0 = (state_0_counts.get('0', 0) / shots) * 100
pct_1 = (state_1_counts.get('0', 0) / shots) * 100
pct_plus = (state_plus_counts.get('0', 0) / shots) * 100

html_content = f"""


    
    
    Topological Bus Phase 3 Results
    


    

Phase 3 Report: Static ZZ Coupling Analysis

Job ID: {job_id}

Static Spectator State Sweep

If retention remains severely degraded across these static states, the bus is vulnerable to physical $ZZ$ coupling. If retention recovers significantly compared to Phase 2, the primary failure vector is microwave spillover.

Spectators in |0⟩ State

{pct_0:.1f}%

Spectators in |1⟩ State

{pct_1:.1f}%

Spectators in |+⟩ State

{pct_plus:.1f}%
""" output_file = "phase3_bus_report.html" with open(o

Full interactive reports:

Raw datasets:

External archive: Zenodo Record 20821366