spin_element#

The module contains definitions related to spin qubit elements.

Module Contents#

Classes#

PortsSpin

Submodule containing the ports.

ClocksFrequenciesSpin

Submodule containing the clock frequencies specifying the transitions to address.

RxyGaussian

Submodule containing parameters for performing an Rxy operation.

DispersiveMeasurementSpin

Submodule containing parameters to perform a measurement.

BasicSpinElement

A device element representing a Loss–DiVincenzo Spin qubit.

class PortsSpin(parent: qcodes.instrument.base.InstrumentBase, name: str, *, microwave: str | None = None, gate: str | None = None, readout: str | None = None)[source]#

Bases: qcodes.instrument.InstrumentChannel

Submodule containing the ports.

microwave[source]#

Name of the element’s microwave port.

gate[source]#

Name of the element’s ohmic gate port.

readout[source]#

Name of the element’s readout port.

class ClocksFrequenciesSpin(parent: qcodes.instrument.base.InstrumentBase, name: str, *, f_larmor: float = math.nan, readout: float = math.nan)[source]#

Bases: qcodes.instrument.InstrumentChannel

Submodule containing the clock frequencies specifying the transitions to address.

f_larmor[source]#

Larmor frequency for the spin qubit

readout[source]#

Frequency of the ro clock.

class RxyGaussian(parent: qcodes.instrument.base.InstrumentBase, name: str, *, amp180: float = math.nan, duration: float = 2e-08, reference_magnitude_dBm: float = math.nan, reference_magnitude_V: float = math.nan, reference_magnitude_A: float = math.nan)[source]#

Bases: qcodes.instrument.InstrumentChannel

Submodule containing parameters for performing an Rxy operation.

The Rxy operation uses a Gaussian pulse.

amp180[source]#

Amplitude required to perform a $pi$ pulse.

duration[source]#

Duration of the control pulse.

class DispersiveMeasurementSpin(parent: qcodes.instrument.base.InstrumentBase, name: str, *, gate_pulse_amp: float = 0, **kwargs)[source]#

Bases: quantify_scheduler.device_under_test.transmon_element.DispersiveMeasurement

Submodule containing parameters to perform a measurement.

The measurement that is performed is using dispersive_measurement_spin().

gate_pulse_amp[source]#

Amplitude of the gate pulse.

class BasicSpinElement(name: str, **kwargs: Any)[source]#

Bases: quantify_scheduler.device_under_test.device_element.DeviceElement

A 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 quantify_scheduler import BasicSpinElement

qubit = BasicSpinElement("q1")

qubit.rxy.amp180(0.1)
qubit.measure.pulse_amp(0.25)
qubit.measure.pulse_duration(300e-9)
qubit.measure.acq_delay(430e-9)
qubit.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.

reset: quantify_scheduler.device_under_test.transmon_element.IdlingReset[source]#

Submodule IdlingReset.

rxy: RxyGaussian[source]#

Submodule RxyGaussian.

measure: DispersiveMeasurementSpin[source]#

Submodule DispersiveMeasurementSpin.

pulse_compensation: quantify_scheduler.device_under_test.transmon_element.PulseCompensationModule[source]#

Submodule PulseCompensationModule.

ports: PortsSpin[source]#

Submodule PortsSpin.

clock_freqs: ClocksFrequenciesSpin[source]#

Submodule ClocksFrequenciesSpin.

_generate_config() dict[str, dict[str, quantify_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() quantify_scheduler.backends.graph_compilation.DeviceCompilationConfig[source]#

Generate a valid device config.

The config will be used for the quantify-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.