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:
- Microwave Spillover (Active Heating): pulses targeting spectators leak into bus qubits
- ZZ Coupling (Static Entanglement): transmon wiring causes natural dephasing even without pulses
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
Spectators in |1⟩ State
Spectators in |+⟩ State
"""
output_file = "phase3_bus_report.html"
with open(o
Full interactive reports:
Raw datasets:
External archive: Zenodo Record 20821366