Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

qamomile.qiskit.emitter

Qiskit GateEmitter implementation.

This module provides QiskitGateEmitter, which implements the GateEmitter protocol for Qiskit backends.

Overview

ClassDescription
MeasurementModeHow a backend handles measurement operations.
QiskitGateEmitterGateEmitter implementation for Qiskit.

Classes

MeasurementMode [source]

class MeasurementMode(Enum)

How a backend handles measurement operations.

Attributes


QiskitGateEmitter [source]

class QiskitGateEmitter

GateEmitter implementation for Qiskit.

Emits individual quantum gates to Qiskit QuantumCircuit objects.

Attributes

Methods

append_gate
def append_gate(self, circuit: 'QuantumCircuit', gate: Any, qubits: list[int]) -> None

Append 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) -> Any

Create a Qiskit Parameter object.

emit_barrier
def emit_barrier(self, circuit: 'QuantumCircuit', qubits: list[int]) -> None
emit_ch
def emit_ch(self, circuit: 'QuantumCircuit', control: int, target: int) -> None
emit_cp
def emit_cp(
    self,
    circuit: 'QuantumCircuit',
    control: int,
    target: int,
    angle: float | Any,
) -> None
emit_crx
def emit_crx(
    self,
    circuit: 'QuantumCircuit',
    control: int,
    target: int,
    angle: float | Any,
) -> None
emit_cry
def emit_cry(
    self,
    circuit: 'QuantumCircuit',
    control: int,
    target: int,
    angle: float | Any,
) -> None
emit_crz
def emit_crz(
    self,
    circuit: 'QuantumCircuit',
    control: int,
    target: int,
    angle: float | Any,
) -> None
emit_cx
def emit_cx(self, circuit: 'QuantumCircuit', control: int, target: int) -> None
emit_cy
def emit_cy(self, circuit: 'QuantumCircuit', control: int, target: int) -> None
emit_cz
def emit_cz(self, circuit: 'QuantumCircuit', control: int, target: int) -> None
emit_else_start
def emit_else_start(self, circuit: 'QuantumCircuit', context: Any) -> None

Handled by context manager.

emit_for_loop_end
def emit_for_loop_end(self, circuit: 'QuantumCircuit', context: Any) -> None

End is handled by context manager exit.

emit_for_loop_start
def emit_for_loop_start(self, circuit: 'QuantumCircuit', indexset: range) -> Any

Start 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) -> None
emit_if_end
def emit_if_end(self, circuit: 'QuantumCircuit', context: Any) -> None

Handled by context manager.

emit_if_start
def emit_if_start(self, circuit: 'QuantumCircuit', clbit: int, value: int = 1) -> Any

Start a native if using Qiskit’s if_test context manager.

emit_measure
def emit_measure(self, circuit: 'QuantumCircuit', qubit: int, clbit: int) -> None
emit_p
def emit_p(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> None
emit_rx
def emit_rx(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> None
emit_ry
def emit_ry(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> None
emit_rz
def emit_rz(self, circuit: 'QuantumCircuit', qubit: int, angle: float | Any) -> None
emit_rzz
def emit_rzz(
    self,
    circuit: 'QuantumCircuit',
    qubit1: int,
    qubit2: int,
    angle: float | Any,
) -> None
emit_s
def emit_s(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_sdg
def emit_sdg(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_swap
def emit_swap(self, circuit: 'QuantumCircuit', qubit1: int, qubit2: int) -> None
emit_t
def emit_t(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_tdg
def emit_tdg(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_toffoli
def emit_toffoli(
    self,
    circuit: 'QuantumCircuit',
    control1: int,
    control2: int,
    target: int,
) -> None
emit_while_end
def emit_while_end(self, circuit: 'QuantumCircuit', context: Any) -> None

Handled by context manager.

emit_while_start
def emit_while_start(self, circuit: 'QuantumCircuit', clbit: int, value: int = 1) -> Any

Start a native while loop.

emit_x
def emit_x(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_y
def emit_y(self, circuit: 'QuantumCircuit', qubit: int) -> None
emit_z
def emit_z(self, circuit: 'QuantumCircuit', qubit: int) -> None
gate_controlled
def gate_controlled(self, gate: Any, num_controls: int) -> Any

Create controlled version of a gate.

gate_power
def gate_power(self, gate: Any, power: int) -> Any

Create gate raised to a power.

supports_for_loop
def supports_for_loop(self) -> bool

Qiskit supports native for loops.

supports_if_else
def supports_if_else(self) -> bool

Qiskit supports native if/else.

supports_while_loop
def supports_while_loop(self) -> bool

Qiskit supports native while loops.