gate_implementation

gate_implementation#

Full path: iqm.pulse.gate_implementation

Implementing abstract quantum operations as instruction schedules.

Note

Note the conceptual difference between quantum operations (ops) and instruction schedules. Ops represent abstract, ideal computational operations, whereas instruction schedules represent concrete control signal sequences for the quantum computer. One can (approximately) implement an op using a number of different instruction schedules.

Module Attributes

OILCalibrationData

Calibration data for a particular implementation of a particular quantum operation at a particular locus.

OICalibrationData

For a particular implementation of a particular quantum operation, maps operation loci to their calibration data.

OCalibrationData

For a particular quantum operation, maps implementation names to their calibration data.

OpCalibrationDataTree

Maps quantum operation names to their calibration data.

NestedParams

Nested dict defining the parameters required by GateImplementation classes.

Functions

get_waveform_parameters(wave[, label_prefix])

Parameters that are required to initialize the given Waveform class.

init_subclass_composite(gate_class)

Classes

CompositeCache

Cache for CompositeGate TimeBoxes.

CompositeGate

Base class for gate implementations that are defined in terms of other gate implementations.

CustomIQWaveforms

Base class for GateImplementations using custom waveform definition with IQPulses.

GateImplementation

ABC for implementing quantum gates and other quantum operations using instruction schedules.

SinglePulseGate

Base class for GateImplementations that play a single pulse on a single channel.

Inheritance

Inheritance diagram of iqm.pulse.gate_implementation