Noise Model
The QdcEm noise model is based on the Collisional Model (CM) framework. This page describes the physical assumptions, mathematical formulation, and circuit-level implementation of the CM within the QdcEm gate primitives.
Physical motivation
In a real Quantum Data Center, QPUs communicate via quantum channels that traverse a microwave-to-optical transducer and an optical fiber link. Each stage introduces decoherence:
Transducer noise arises from imperfect microwave-to-optical conversion, modelled by coupling constant κT.
Fiber noise arises from photon loss along the optical fiber, modelled by coupling constant κF = √(0.01 · α), where α is the fiber attenuation coefficient (km-1).
Interaction Hamiltonian
Each collision step between the flying qubit (FQ) and a single environment ancilla E is governed by:
This is an excitation-exchange (amplitude-damping) interaction. The corresponding unitary for a single collision step is:
This unitary is computed numerically via QuTiP’s expm() routine and
wrapped as a Qiskit UnitaryGate by M_Unitary(kappa).
Channel noise sequence
For every remote gate, noise is injected in three stages:
Bell pair generation. CommA and CommB are prepared in the state |Φ+⟩ = (|00⟩ + |11⟩)/√2.
Transducer collisions. One CM collision at strength κT is applied to each communication qubit. The environment qubit is reset to |0⟩ after each collision to enforce the Markovian (memoryless) assumption.
Fiber collisions. One initial CM collision at strength κF is applied per side, followed by
Stepsfurther collisions — each preceded by an environment-qubit reset. Each collision models a 10 m fiber segment, so the total channel distance is D = 10 · (1 + Steps) metres.
Supported fiber grades
ITU-T Grade |
Attenuation α (km-1) |
κF |
|---|---|---|
G-652-D |
0.0415 |
0.02037 |
G-654-E |
0.0392 |
0.01980 |
G-655-D |
0.0507 |
0.02252 |
Numerical reference |
0.0415 |
0.02037 |
Implementation
from QdcEm.RemoteGates import M_Unitary
# Construct the CM unitary for kappa_T = 0.5
U_T = M_Unitary(kappa=0.5)
# Append to a circuit: one collision between CommA and ENA
qc.append(U_T, [CommA, ENA])
qc.reset(ENA) # enforce the Markovian assumption