Transmon
Model for a transmon.
See https://arxiv.org/abs/2411.11377, Simulation of Quantum Transduction Strategies for Quantum Networks
- class sequence.components.transmon.EmittingProtocol(owner: Node, name: str, tl: Timeline, transmon: Transmon, transducer: Transducer)
Protocol for emission of single microwave photon by transmon.
- name
the name of the protocol
- Type:
str
- transducer
the transducer component
- Type:
- received_message(src: str, msg)
Receive classical message from another node.
- class sequence.components.transmon.Transmon(owner: Node, name: str, timeline: Timeline, wavelengths: list[int], photon_counter: int, photons_quantum_state: list[tuple], efficiency: float = 1)
Class modeling a transmon qubit.
The Transmon class can be configured to emit microwave photons.
- name
the name of the transmon
- Type:
str
- wavelengths
two wavelengths, one for microwave, and one for optics
- Type:
list
- photon_counter
photon counter
- Type:
int
- photongs_quantum_state
a list of quantum states
- Type:
list
- efficiency
the efficiency of the transmon
- Type:
float
- input_quantum_state
two qubit state for microwave and optical photon
- Type:
np.array
- add_outputs(outputs: list)
Add outputs, i.e., receivers, of the transmon
- generation()
Set tranmson quantum state and return a photon with some specifications
- get(photon: Photon) None
Receive photon from the transducer
In the Direct Conversion, called when the receiver node’s transducer successfully down convert the photon to microwave In the Entanglement Swapping, called when the transducer at the end nodes fail to up convert the microwave into photon
- init()
Method to initialize entity (abstract).
Entity init methods are invoked for all timeline entities when the timeline is initialized. This method can be used to perform any necessary functions before simulation.