qblox_scheduler.device_under_test.spin_element#
The module contains definitions related to spin qubit elements.
Classes#
Submodule containing the ports. |
|
Submodule containing the ports. |
|
Submodule containing the clock frequencies specifying the transitions to address. |
|
Submodule containing the clock frequencies specifying the transitions to address. |
|
Submodule containing parameters for performing an Rxy operation. |
|
Submodule containing parameters to perform a measurement. |
|
A device element representing a Loss-DiVincenzo Spin qubit. |
|
A device element representing a Charge Sensor connected to a tank circuit to perform |
Module Contents#
- class PortsChargeSensor(/, name, *, parent: SchedulerBaseModel | None = None, **data: Any)[source]#
Bases:
qblox_scheduler.structure.model.SchedulerSubmoduleSubmodule containing the ports.
- class PortsSpin(/, name, *, parent: SchedulerBaseModel | None = None, **data: Any)[source]#
Bases:
PortsChargeSensorSubmodule containing the ports.
- class ClocksFrequenciesSensor(/, name, *, parent: SchedulerBaseModel | None = None, **data: Any)[source]#
Bases:
qblox_scheduler.structure.model.SchedulerSubmoduleSubmodule containing the clock frequencies specifying the transitions to address.
- class ClocksFrequenciesSpin(/, name, *, parent: SchedulerBaseModel | None = None, **data: Any)[source]#
Bases:
ClocksFrequenciesSensorSubmodule containing the clock frequencies specifying the transitions to address.
- class RxyGaussian(name: str, parent: qblox_scheduler.device_under_test.device_element.DeviceElement | None = None, *, reference_magnitude_dBm: float = math.nan, reference_magnitude_V: float = math.nan, reference_magnitude_A: float = math.nan, **data: Any)[source]#
Bases:
qblox_scheduler.structure.model.SchedulerSubmoduleSubmodule containing parameters for performing an Rxy operation.
The Rxy operation uses a Gaussian pulse.
- class DispersiveMeasurementSpin(name: str, parent: qblox_scheduler.device_under_test.device_element.DeviceElement | None = None, *, reference_magnitude_dBm: float = math.nan, reference_magnitude_V: float = math.nan, reference_magnitude_A: float = math.nan, **data: Any)[source]#
Bases:
qblox_scheduler.device_under_test.transmon_element.DispersiveMeasurementSubmodule containing parameters to perform a measurement.
The measurement that is performed is using
dispersive_measurement_spin().
- class BasicSpinElement(/, name, **data: Any)[source]#
Bases:
qblox_scheduler.device_under_test.device_element.DeviceElementA device element representing a Loss-DiVincenzo Spin qubit. The element refers to the intrinsic spin-1/2 degree of freedom of individual electrons/holes trapped in quantum dots. The charge of the particle is coupled to a resonator.
Examples
Qubit parameters can be set through submodule attributes
from qblox_scheduler import BasicSpinElement device_element = BasicSpinElement("q1") device_element.rxy.amp180 = 0.1 device_element.measure.pulse_amp = 0.25 device_element.measure.pulse_duration = 300e-9 device_element.measure.acq_delay = 430e-9 device_element.measure.integration_time = 1e-6 ...
Ellipsis
- Parameters:
name – The name of the spin element.
kwargs – Can be used to pass submodule initialization data by using submodule name as keyword and as argument a dictionary containing the submodule parameter names and their value.
- rxy: RxyGaussian[source]#
- measure: DispersiveMeasurementSpin[source]#
- pulse_compensation: qblox_scheduler.device_under_test.transmon_element.PulseCompensationModule[source]#
- clock_freqs: ClocksFrequenciesSpin[source]#
- _generate_config() dict[str, dict[str, qblox_scheduler.backends.graph_compilation.OperationCompilationConfig]][source]#
Generate part of the device configuration specific to a single qubit trapped in a quantum dot. A resonator to perform dispersive readout is attached to the gate to perform charge sensing.
This method is intended to be used when this object is part of a device object containing multiple elements.
- generate_device_config() qblox_scheduler.backends.graph_compilation.DeviceCompilationConfig[source]#
Generate a valid device config.
The config will be used for the qblox-scheduler making use of the
compile_circuit_to_device_with_config_validation()function.This enables the settings of this qubit to be used in isolation.
- class ChargeSensor(/, name, **data: Any)[source]#
Bases:
qblox_scheduler.device_under_test.device_element.DeviceElementA device element representing a Charge Sensor connected to a tank circuit to perform dispersive readout.
Examples
Sensor parameters can be set through submodule attributes
from qblox_scheduler import ChargeSensor sensor = ChargeSensor("s1") sensor.measure.pulse_amp = 0.25 sensor.measure.pulse_duration = 300e-9 sensor.measure.acq_delay = 430e-9 sensor.measure.integration_time = 1e-6 ...
Ellipsis
- Parameters:
name – The name of the spin element.
kwargs – Can be used to pass submodule initialization data by using submodule name as keyword and as argument a dictionary containing the submodule parameter names and their value.
- measure: DispersiveMeasurementSpin[source]#
- pulse_compensation: qblox_scheduler.device_under_test.transmon_element.PulseCompensationModule[source]#
- ports: PortsChargeSensor[source]#
- clock_freqs: ClocksFrequenciesSensor[source]#
- _generate_config() dict[str, dict[str, qblox_scheduler.backends.graph_compilation.OperationCompilationConfig]][source]#
Generate part of the device configuration specific to a single qubit.
This method is intended to be used when this object is part of a device object containing multiple elements.
- generate_device_config() qblox_scheduler.backends.graph_compilation.DeviceCompilationConfig[source]#
Generate a valid device config.
The config will be used for the qblox-scheduler making use of the
compile_circuit_to_device_with_config_validation()function.This enables the settings of this qubit to be used in isolation.