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
Sequence of QPU component physical names a quantum operation is acting on. |
|
Calibration data for a particular implementation of a particular quantum operation at a particular locus. |
|
For a particular implementation of a particular quantum operation, maps operation loci to their calibration data. |
|
For a particular quantum operation, maps implementation names to their calibration data. |
|
Maps |
|
Nested dict defining the parameters required by GateImplementation classes. |
|
Locus mapping name for mapping all components that have the drive operation defined. |
|
Locus mapping name for mapping all components that have the readout operation defined. |
|
Locus mapping name for mapping all components that have the flux operation defined and the flux controller has an AWG. |
|
Locus mapping name for mapping all probe lines. |
Functions
|
Parameters that are required to initialize the given Waveform class. |
Classes
Utility base class for creating gate implementations that are defined in terms of other gate implementations. |
|
Base class for GateImplementations using custom waveform definition with IQPulses. |
|
ABC for implementing quantum gates and other quantum operations using instruction schedules. |
|
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)"]; }