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:
Event
OperateRequestEvent
is 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:
Event
OperateResponseEvent
is 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:
Entity
Quantum 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]
handle
is called to process an receivingEvent
.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None [source]
install
is called beforesimulator
runs 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:
Entity
Quantum 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]
handle
is called to process an receivingEvent
.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None [source]
install
is called beforesimulator
runs 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:
Event
OperateRequestEvent
is 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:
Event
OperateResponseEvent
is 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:
Entity
Quantum 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]
handle
is called to process an receivingEvent
.- Parameters:
event (qns.simulator.event.Event) – the event that send to this entity
- install(simulator: Simulator) None [source]
install
is called beforesimulator
runs to initialize or set initial events- Parameters:
simulator (qns.simulator.simulator.Simulator) – the simulator