quantify_scheduler.device_under_test.quantum_device
Module containing the QuantumDevice object.
Module Contents
Classes
The QuantumDevice directly represents the device under test (DUT) and contains a |
- class QuantumDevice(name: str)[source]
Bases:
qcodes.instrument.base.Instrument
The QuantumDevice directly represents the device under test (DUT) and contains a description of the connectivity to the control hardware as well as parameters specifying quantities like cross talk, attenuation and calibrated cable-delays. The QuantumDevice also contains references to individual DeviceElements, representations of elements on a device (e.g, a transmon qubit) containing the (calibrated) control-pulse parameters.
This object can be used to generate configuration files for the compilation step from the gate-level to the pulse level description. These configuration files should be compatible with the
compile()
function.- generate_compilation_config() quantify_scheduler.backends.graph_compilation.SerialCompilationConfig [source]
Generates a compilation config for use with a
QuantifyCompiler
.
- generate_hardware_config() Dict[str, Any] [source]
Generates a valid hardware configuration describing the quantum device.
- Returns
The hardware configuration file used for compiling from the quantum-device layer to a hardware backend.
.. warning – The config currently has to be specified by the user using the
hardware_config
parameter.
- generate_device_config() quantify_scheduler.backends.graph_compilation.DeviceCompilationConfig [source]
Generates a device config to compile from the quantum-circuit to the quantum-device layer.
- generate_hardware_options()[source]
Generates the
HardwareOptions
datastructure used for compiling from the quantum-device layer to a hardware backend.
- get_element(name: str) quantify_scheduler.device_under_test.device_element.DeviceElement [source]
Returns a
DeviceElement
by name.- Parameters
name – The element name.
- Returns
The element.
- Raises
KeyError – If key name is not present in self.elements.
- add_element(element: quantify_scheduler.device_under_test.device_element.DeviceElement) None [source]
Adds an element to the elements collection.
- Parameters
element – The element to add.
- Raises
ValueError – If a element with a duplicated name is added to the collection.
TypeError – If
element
is not an instance of the base element.
- remove_element(name: str) None [source]
Removes a element by name.
- Parameters
name – The element name.
- get_edge(name: str) qcodes.instrument.base.Instrument [source]
Returns a edge by name.
- Parameters
name – The edge name.
- Returns
The edge.
- Raises
KeyError – If key name is not present in self.edges.
- add_edge(edge: quantify_scheduler.device_under_test.edge.Edge) None [source]
Adds the edges.
- Parameters
edge – The edge name connecting the elements. Has to follow the convention ‘element_0’-‘element_1’