Qiskit GateEmitter implementation.
This module provides QiskitGateEmitter, which implements the GateEmitter protocol for Qiskit backends.
Overview¶
| Class | Description |
|---|---|
QiskitGateEmitter | GateEmitter implementation for Qiskit. |
Classes¶
QiskitGateEmitter [source]¶
class QiskitGateEmitterGateEmitter implementation for Qiskit.
Emits individual quantum gates to Qiskit QuantumCircuit objects.
Methods¶
append_gate¶
def append_gate(self, circuit: 'QuantumCircuit', gate: Any, qubits: list[int]) -> NoneAppend a gate to the circuit.
circuit_to_gate¶
def circuit_to_gate(self, circuit: 'QuantumCircuit', name: str = 'U') -> 'Gate | None'Convert circuit to a reusable gate.
create_circuit¶
def create_circuit(self, num_qubits: int, num_clbits: int) -> 'QuantumCircuit'Create a new Qiskit QuantumCircuit.
create_parameter¶
def create_parameter(self, name: str) -> AnyCreate a Qiskit Parameter object.
emit_barrier¶
def emit_barrier(self, circuit: 'QuantumCircuit', qubits: list[int]) -> Noneemit_ch¶
def emit_ch(self, circuit: 'QuantumCircuit', control: int, target: int) -> Noneemit_cp¶
def emit_cp(
self,
circuit: 'QuantumCircuit',
control: int,
target: int,
angle: float | Any,
) -> Noneemit_crx¶
def emit_crx(
self,
circuit: 'QuantumCircuit',
control: int,
target: int,
angle: float | Any,
) -> Noneemit_cry¶
def emit_cry(
self,
circuit: 'QuantumCircuit',
control: int,
target: int,
angle: float | Any,
) -> Noneemit_crz¶
def emit_crz(
self,
circuit: 'QuantumCircuit',
control: int,
target: int,
angle: float | Any,
) -> Noneemit_cx¶
def emit_cx(self, circuit: 'QuantumCircuit', control: int, target: int) -> Noneemit_cy¶
def emit_cy(self, circuit: 'QuantumCircuit', control: int, target: int) -> Noneemit_cz¶
def emit_cz(self, circuit: 'QuantumCircuit', control: int, target: int) -> Noneemit_else_start¶
def emit_else_start(self, circuit: 'QuantumCircuit', context: Any) -> NoneHandled by context manager.
emit_for_loop_end¶
def emit_for_loop_end(self, circuit: 'QuantumCircuit', context: Any) -> NoneEnd is handled by context manager exit.
emit_for_loop_start¶
def emit_for_loop_start(self, circuit: 'QuantumCircuit', indexset: range) -> AnyStart a native for loop using Qiskit’s for_loop context manager.
Note: The context manager must be used differently than a simple return. This method returns the indexset for use with _QiskitForLoopContext.
emit_h¶
def emit_h(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_if_end¶
def emit_if_end(self, circuit: 'QuantumCircuit', context: Any) -> NoneHandled by context manager.
emit_if_start¶
def emit_if_start(self, circuit: 'QuantumCircuit', clbit: int, value: int = 1) -> AnyStart a native if using Qiskit’s if_test context manager.
emit_measure¶
def emit_measure(self, circuit: 'QuantumCircuit', qubit: int, clbit: int) -> Noneemit_p¶
def emit_p(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> Noneemit_rx¶
def emit_rx(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> Noneemit_ry¶
def emit_ry(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> Noneemit_rz¶
def emit_rz(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> Noneemit_rzz¶
def emit_rzz(
self,
circuit: 'QuantumCircuit',
qubit1: int,
qubit2: int,
angle: float | Any,
) -> Noneemit_s¶
def emit_s(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_sdg¶
def emit_sdg(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_swap¶
def emit_swap(self, circuit: 'QuantumCircuit', qubit1: int, qubit2: int) -> Noneemit_t¶
def emit_t(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_tdg¶
def emit_tdg(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_toffoli¶
def emit_toffoli(
self,
circuit: 'QuantumCircuit',
control1: int,
control2: int,
target: int,
) -> Noneemit_while_end¶
def emit_while_end(self, circuit: 'QuantumCircuit', context: Any) -> NoneHandled by context manager.
emit_while_start¶
def emit_while_start(self, circuit: 'QuantumCircuit', clbit: int, value: int = 1) -> AnyStart a native while loop.
emit_x¶
def emit_x(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_y¶
def emit_y(self, circuit: 'QuantumCircuit', qubit: int) -> Noneemit_z¶
def emit_z(self, circuit: 'QuantumCircuit', qubit: int) -> Nonegate_controlled¶
def gate_controlled(self, gate: Any, num_controls: int) -> AnyCreate controlled version of a gate.
gate_power¶
def gate_power(self, gate: Any, power: int) -> AnyCreate gate raised to a power.
supports_for_loop¶
def supports_for_loop(self) -> boolQiskit supports native for loops.
supports_if_else¶
def supports_if_else(self) -> boolQiskit supports native if/else.
supports_while_loop¶
def supports_while_loop(self) -> boolQiskit supports native while loops.