gate_implementation

gate_implementation#

Factories for implementing quantum operations in terms of 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.

Full path: iqm.pulse.gate_implementation

Module Attributes

Locus

Sequence of QPU component physical names a quantum operation is acting on.

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.

SINGLE_COMPONENTS_WITH_DRIVE_LOCUS_MAPPING

Locus mapping name for mapping all components that have the drive operation defined.

SINGLE_COMPONENTS_WITH_READOUT_LOCUS_MAPPING

Locus mapping name for mapping all components that have the readout operation defined.

SINGLE_COMPONENTS_WITH_FLUX_AWG_LOCUS_MAPPING

Locus mapping name for mapping all components that have the flux operation defined and the flux controller has an AWG.

PROBE_LINES_LOCUS_MAPPING

Locus mapping name for mapping all probe lines.

Functions

get_waveform_parameters(wave[, label_prefix])

Parameters that are required to initialize the given Waveform class.

Classes

CompositeGate

Utility base class for creating 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

digraph inheritance0bb8310ba7 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [URL="https://docs.python.org/3.11/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "CompositeGate" [URL="iqm.pulse.gate_implementation.CompositeGate.html#iqm.pulse.gate_implementation.CompositeGate",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Utility base class for creating gate implementations that are defined in terms of other gate implementations."]; "GateImplementation" -> "CompositeGate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CustomIQWaveforms" [URL="iqm.pulse.gate_implementation.CustomIQWaveforms.html#iqm.pulse.gate_implementation.CustomIQWaveforms",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for GateImplementations using custom waveform definition with IQPulses."]; "GateImplementation" -> "CustomIQWaveforms" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GateImplementation" [URL="iqm.pulse.gate_implementation.GateImplementation.html#iqm.pulse.gate_implementation.GateImplementation",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="ABC for implementing quantum gates and other quantum operations using instruction schedules."]; "ABC" -> "GateImplementation" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SinglePulseGate" [URL="iqm.pulse.gate_implementation.SinglePulseGate.html#iqm.pulse.gate_implementation.SinglePulseGate",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for GateImplementations that play a single pulse on a single channel."]; "GateImplementation" -> "SinglePulseGate" [arrowsize=0.5,style="setlinewidth(0.5)"]; }