qns.entity.operator package
Submodules
qns.entity.operator.event module
- class qns.entity.operator.event.OperateRequestEvent(operator, qubits: List[QuantumModel] = [], t: Time | None = None, name: str | None = None, by: Any | None = None)[source]
Bases:
EventOperateRequestEventis the event that request a operator to handle
- class qns.entity.operator.event.OperateResponseEvent(node: QNode, result: int | List[int] | None = None, request: OperateRequestEvent | None = None, t: Time | None = None, name: str | None = None, by: Any | None = None)[source]
Bases:
EventOperateResponseEventis the event that returns the operating result
qns.entity.operator.operator module
- class qns.entity.operator.operator.QuantumOperator(name: str | None = None, node: QNode | None = None, gate: Callable[[...], None | int | List[int]] | None = None, delay: float | DelayModel = 0)[source]
Bases:
EntityQuantum operator can perfrom quantum operation or measurements on qubits. It has two modes:
Synchronous mode, users can use the operate function to operate qubits directly without delay Asynchronous mode, users will use events to operate quantum operations asynchronously
- handle(event: Event) None[source]
handleis called to process an receivingEvent.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None[source]
installis called beforesimulatorruns to initialize or set initial events- Parameters:
simulator (qns.simulator.simulator.Simulator) – the simulator
qns.entity.operator.operator module
- class qns.entity.operator.operator.QuantumOperator(name: str | None = None, node: QNode | None = None, gate: Callable[[...], None | int | List[int]] | None = None, delay: float | DelayModel = 0)[source]
Bases:
EntityQuantum operator can perfrom quantum operation or measurements on qubits. It has two modes:
Synchronous mode, users can use the operate function to operate qubits directly without delay Asynchronous mode, users will use events to operate quantum operations asynchronously
- handle(event: Event) None[source]
handleis called to process an receivingEvent.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None[source]
installis called beforesimulatorruns to initialize or set initial events- Parameters:
simulator (qns.simulator.simulator.Simulator) – the simulator
Module contents
- class qns.entity.operator.OperateRequestEvent(operator, qubits: List[QuantumModel] = [], t: Time | None = None, name: str | None = None, by: Any | None = None)[source]
Bases:
EventOperateRequestEventis the event that request a operator to handle
- class qns.entity.operator.OperateResponseEvent(node: QNode, result: int | List[int] | None = None, request: OperateRequestEvent | None = None, t: Time | None = None, name: str | None = None, by: Any | None = None)[source]
Bases:
EventOperateResponseEventis the event that returns the operating result
- class qns.entity.operator.QuantumOperator(name: str | None = None, node: QNode | None = None, gate: Callable[[...], None | int | List[int]] | None = None, delay: float | DelayModel = 0)[source]
Bases:
EntityQuantum operator can perfrom quantum operation or measurements on qubits. It has two modes:
Synchronous mode, users can use the operate function to operate qubits directly without delay Asynchronous mode, users will use events to operate quantum operations asynchronously
- handle(event: Event) None[source]
handleis called to process an receivingEvent.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None[source]
installis called beforesimulatorruns to initialize or set initial events- Parameters:
simulator (qns.simulator.simulator.Simulator) – the simulator