Transducer

Model for a transducer.

See https://arxiv.org/abs/2411.11377, Simulation of Quantum Transduction Strategies for Quantum Networks

class sequence.components.transducer.DownConversionProtocol(owner: Node, name: str, tl: Timeline, transducer: Transducer)

Protocol for Down-conversion of an input optical photon into an output microwave photon.

owner

the owner of this protocol, the protocol runs on the owner

Type:

Node

name

the name of the protocol

Type:

str

tl

the simulation timeline

Type:

Timeline

transducer

the transducer component

Type:

Transducer

convert(photon: Photon) None

Receives photons from the transducer

received_message(src: str, msg)

Receive classical message from another node.

start() None

start the protocol

Parameters:

photon (Photon) – the photon received at the transducer from the quantum channel

class sequence.components.transducer.Transducer(owner: Node, name: str, timeline: Timeline, efficiency: float = 1)

Class modeling a transducer.

A transducer can operate in two modes: up-conversion and down-conversion. In up-conversion it can convert microwave photons to optical photons. In down-conversion it can convert optical photons to microwave photons.

owner

the entity that owns or aggregates the current component

Type:

Node

name

the name of the transducer

Type:

str

timeline

the simulation timeline

Type:

Timeline

efficiency

the efficiency of the transducer

Type:

float

photon_counter

photon counter

Type:

int

up_conversion_protocol

up convert microwave to photon

Type:

UpConversionProtocol

down_conversion_protocol

down convert photon to microwave

Type:

DownConversionProtocol

add_outputs(outputs: list)

Add outputs, i.e., receivers

get(photon) None

The optical photon reaches the destination

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.

receive_photon_from_transmon(photon: Photon) None

Receive a photon from the transmon and call the Up_Conversion protocol

class sequence.components.transducer.UpConversionProtocol(owner: Node, name: str, tl: Timeline, transducer: Transducer)

Protocol for Up-conversion of an input microwave photon into an output optical photon.

owner

the owner of this protocol, the protocol runs on the owner

Type:

Node

name

the name of the protocol

Type:

str

tl

the simulation timeline

Type:

Timeline

transducer

the transducer component

Type:

Transducer

convert(photon: Photon) None

receives

Parameters:

photon (Photon) – photon from arrived at the transducer from the transmon

received_message(src: str, msg)

Receive classical message from another node.

start() None

start the protocol

sequence.components.transducer.get_conversion_matrix(efficiency: float) Qobj
Parameters:

efficiency (float) – transducer efficiency