Skip to content

laboneq.openqasm3

Experimental

The current implementation of OpenQASM support is considered experimental. Its interface may change in future releases of LabOne Q.

laboneq.openqasm3.gate_store

GateStore()

gate_map: Dict[str, str] = {} instance-attribute

gates: Dict[Tuple[str, Tuple[str, ...]], Callable[..., Section]] = {} instance-attribute

lookup_gate(name, qubits, args=(), kwargs=None)

map_gate(qasm_name, labone_q_name)

Define mapping from qasm gate name to LabOne Q gate name.

register_gate(name, qubit_name, pulse, signal, phase=None, id=None)

Register a pulse as a single-qubit gate.

register_gate_section(name, qubit_names, section_factory)

Register a LabOne Q section factory as a gate.

laboneq.openqasm3.openqasm3_importer

exp_from_qasm(program, qubits, gate_store)

Create an experiment from an OpenQASM program.

Parameters:

Name Type Description Default
program str

OpenQASM program

required
qubits dict[str, Qubit]

Map from OpenQASM qubit names to LabOne Q DSL Qubit objects

required
gate_store GateStore

Map from OpenQASM gate names to LabOne Q DSL Gate objects

required