quantify_scheduler.device_under_test.transmon_element

Module Contents

Classes

Ports

Submodule containing the ports.

ClocksFrequencies

Submodule containing the clock frequencies specifying the transitions to address.

IdlingReset

Submodule containing parameters for doing a reset by idling.

RxyDRAG

Submodule containing parameters for performing an Rxy operation

DispersiveMeasurement

Submodule containing parameters to perform a measurement using

BasicTransmonElement

A device element representing a single fixed-frequency transmon qubit coupled to a

TransmonElement

A device element representing a single transmon coupled to a

class Ports(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any)[source]

Bases: qcodes.instrument.InstrumentChannel

Submodule containing the ports.

microwave[source]

Name of the element’s microwave port.

flux[source]

Name of the element’s flux port.

readout[source]

Name of the element’s readout port.

class ClocksFrequencies(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any)[source]

Bases: qcodes.instrument.InstrumentChannel

Submodule containing the clock frequencies specifying the transitions to address.

f01[source]

Frequency of the 01 clock

f12[source]

Frequency of the 12 clock

readout[source]

Frequency of the ro clock.

class IdlingReset(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any)[source]

Bases: qcodes.instrument.InstrumentChannel

Submodule containing parameters for doing a reset by idling.

duration[source]

Duration of the passive qubit reset (initialization by relaxation).

class RxyDRAG(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any)[source]

Bases: qcodes.instrument.InstrumentChannel

Submodule containing parameters for performing an Rxy operation using a DRAG pulse.

amp180[source]

Amplitude required to perform a $pi$ pulse.

motzoi[source]

Ratio between the Gaussian Derivative (D) and Gaussian (G) components of the DRAG pulse.

duration[source]

Duration of the control pulse.

class DispersiveMeasurement(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any)[source]

Bases: qcodes.instrument.InstrumentChannel

Submodule containing parameters to perform a measurement using dispersive_measurement()

pulse_type[source]

Envelope function that defines the shape of the readout pulse prior to modulation.

pulse_amp[source]

Amplitude of the readout pulse.

pulse_duration[source]

Duration of the readout pulse.

acq_channel[source]

Acquisition channel of to this device element.

acq_delay[source]

Delay between the start of the readout pulse and the start of the acquisition. Note that some hardware backends do not support starting a pulse and the acquisition in the same clock cycle making 0 delay an invalid value.

integration_time[source]

Integration time for the readout acquisition.

reset_clock_phase[source]

The phase of the measurement clock will be reset by the control hardware at the start of each measurement if reset_clock_phase=True.

class BasicTransmonElement(name: str, **kwargs)[source]

Bases: quantify_scheduler.device_under_test.device_element.DeviceElement

A device element representing a single fixed-frequency transmon qubit coupled to a readout resonator.

Parameters:
  • name – The name of the transmon 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: IdlingReset[source]

Submodule IdlingReset.

rxy: RxyDRAG[source]

Submodule RxyDRAG.

measure: DispersiveMeasurement[source]

Submodule DispersiveMeasurement.

ports: Ports[source]

Submodule Ports.

clock_freqs: ClocksFrequencies[source]

Submodule ClocksFrequencies.

_generate_config() Dict[str, Dict[str, quantify_scheduler.backends.circuit_to_device.OperationCompilationConfig]][source]

Generates 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.circuit_to_device.DeviceCompilationConfig[source]

Generates a valid device config for the quantify-scheduler making use of the compile_circuit_to_device() function.

This enables the settings of this qubit to be used in isolation.

class TransmonElement(name: str, **kwargs)[source]

Bases: quantify_scheduler.device_under_test.device_element.DeviceElement

A device element representing a single transmon coupled to a readout resonator.

This object can be used to generate configuration files compatible with the add_pulse_information_transmon() function.

Initializes the parent class and adds Parameter s / ManualParameter s / InstrumentRefParameter s to it.

The list of all parameters and their latest (cached) value can be listed as follows:

import warnings
warnings.filterwarnings("ignore", category=FutureWarning)

from quantify_scheduler.device_under_test import transmon_element
q0 = transmon_element.TransmonElement("q0")

q0.print_readable_snapshot()
q0:
	parameter              value
--------------------------------------------------------------------------------
IDN                     :	None 
acquisition             :	SSBIntegrationComplex 
fl_port                 :	q0:fl 
freq_01                 :	nan (Hz)
freq_12                 :	nan (Hz)
init_duration           :	0.0002 (s)
instrument_coordinator  :	None 
mw_01_clock             :	q0.01 
mw_12_clock             :	q0.12 
mw_amp180               :	nan (V)
mw_ef_amp180            :	nan (V)
mw_motzoi               :	0 
mw_port                 :	q0:mw 
mw_pulse_duration       :	2e-08 (s)
ro_acq_channel          :	0 (#)
ro_acq_delay            :	0 (s)
ro_acq_integration_time :	1e-06 (s)
ro_acq_weight_type      :	SSB 
ro_clock                :	q0.ro 
ro_freq                 :	nan (Hz)
ro_port                 :	q0:res 
ro_pulse_amp            :	0.5 (V)
ro_pulse_delay          :	3e-07 (s)
ro_pulse_duration       :	3e-07 (s)
ro_pulse_type           :	SquarePulse 
spec_pulse_amp          :	0.5 (V)
spec_pulse_clock        :	q0.01 
spec_pulse_duration     :	8e-06 (s)
spec_pulse_frequency    :	nan (Hz)
Parameters:

name – The name of the transmon element.

_add_device_parameters()[source]
generate_config() Dict[str, Dict[str, quantify_scheduler.backends.circuit_to_device.OperationCompilationConfig]][source]

Generates 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.circuit_to_device.DeviceCompilationConfig[source]

Generates a valid device config for the quantify-scheduler making use of the compile_circuit_to_device() function.

This enables the settings of this qubit to be used in isolation.