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
QiskitGateEmitterGateEmitter implementation for Qiskit.

Classes

QiskitGateEmitter [source]

class QiskitGateEmitter

GateEmitter 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]) -> 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.