CircuitOperation#

class iqm.pulse.builder.CircuitOperation(name, locus, args=<factory>, implementation=None)#

Bases: object

Specific quantum operation applied on a specific part of the QPU, e.g. in a quantum circuit.

We currently support the following native operations for circuit execution:

name

# of qubits

args

description

measure

>= 1

key: str, feedback_key: str

Measurement in the Z basis.

prx

1

angle: float, phase: float

Phased x-rotation gate.

cc_prx

1

angle: float, phase: float, feedback_qubit: str, feedback_key: str

Classically controlled PRX gate.

reset

>= 1

Reset the qubit(s) to \(|0\rangle\).

cz

2

Controlled-Z gate.

move

2

Move a qubit state between a qubit and a computational resonator, as long as at least one of the components is in the \(|0\rangle\) state.

barrier

>= 1

Execution barrier.

delay

>= 1

duration: float

Force a delay between circuit operations.

For each CircuitOperation you may also optionally specify implementation, which contains the name of an implementation of the operation to use. Support for multiple implementations is currently experimental and in normal use the field should be omitted, this selects the default implementation for the operation for that locus.

See the submodules under iqm.pulse.gates for more details about each operation.

Module: iqm.pulse.builder

Attributes

implementation

name of the implementation

name

name of the quantum operation

locus

names of the information-bearing QPU components (qubits, computational resonators...) the operation acts on

args

arguments for the operation

Methods

validate

Validate the operation against a table of operation definitions.

Parameters:
name: str#

name of the quantum operation

locus: tuple[str, ...]#

names of the information-bearing QPU components (qubits, computational resonators…) the operation acts on

args: dict[str, Any]#

arguments for the operation

implementation: str | None = None#

name of the implementation

validate(op_table)#

Validate the operation against a table of operation definitions.

Parameters:

op_table (dict[str, QuantumOp]) – table containing allowed quantum operations

Raises:

ValueError – operation is not valid

Return type:

None