transmon_element ================ .. py:module:: quantify_scheduler.device_under_test.transmon_element Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: quantify_scheduler.device_under_test.transmon_element.Ports quantify_scheduler.device_under_test.transmon_element.ClocksFrequencies quantify_scheduler.device_under_test.transmon_element.IdlingReset quantify_scheduler.device_under_test.transmon_element.RxyDRAG quantify_scheduler.device_under_test.transmon_element.DispersiveMeasurement quantify_scheduler.device_under_test.transmon_element.ReferenceMagnitude quantify_scheduler.device_under_test.transmon_element.BasicTransmonElement .. py:class:: Ports(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule containing the ports. .. py:attribute:: microwave Name of the element's microwave port. .. py:attribute:: flux Name of the element's flux port. .. py:attribute:: readout Name of the element's readout port. .. py:class:: ClocksFrequencies(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule containing the clock frequencies specifying the transitions to address. .. py:attribute:: f01 Frequency of the 01 clock .. py:attribute:: f12 Frequency of the 12 clock .. py:attribute:: readout Frequency of the ro clock. .. py:class:: IdlingReset(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule containing parameters for doing a reset by idling. .. py:attribute:: duration Duration of the passive qubit reset (initialization by relaxation). .. py:class:: RxyDRAG(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule containing parameters for performing an Rxy operation using a DRAG pulse. .. py:attribute:: amp180 Amplitude required to perform a $\pi$ pulse. .. py:attribute:: motzoi Ratio between the Gaussian Derivative (D) and Gaussian (G) components of the DRAG pulse. .. py:attribute:: duration Duration of the control pulse. .. py:class:: DispersiveMeasurement(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule containing parameters to perform a measurement using :func:`~quantify_scheduler.operations.measurement_factories.dispersive_measurement` .. py:attribute:: pulse_type Envelope function that defines the shape of the readout pulse prior to modulation. .. py:attribute:: pulse_amp Amplitude of the readout pulse. .. py:attribute:: pulse_duration Duration of the readout pulse. .. py:attribute:: acq_channel Acquisition channel of to this device element. .. py:attribute:: acq_delay 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. .. py:attribute:: integration_time Integration time for the readout acquisition. .. py:attribute:: reset_clock_phase The phase of the measurement clock will be reset by the control hardware at the start of each measurement if ``reset_clock_phase=True``. .. py:attribute:: acq_weights_a The weights for the I path. Used when specifying the ``"NumericalWeightedIntegrationComplex"`` acquisition protocol. .. py:attribute:: acq_weights_b The weights for the Q path. Used when specifying the ``"NumericalWeightedIntegrationComplex"`` acquisition protocol. .. py:attribute:: acq_weights_sampling_rate The sample rate of the weights arrays, in Hertz. Used when specifying the ``"NumericalWeightedIntegrationComplex"`` acquisition protocol. .. py:attribute:: acq_rotation The phase rotation in degrees required to perform thresholded acquisition. Note that rotation is performed before the threshold. For more details see :class:`~quantify_scheduler.operations.acquisition_library.ThresholdedAcquisition`. .. py:attribute:: acq_threshold The threshold value against which the rotated and integrated result is compared against. For more details see :class:`~quantify_scheduler.operations.acquisition_library.ThresholdedAcquisition`. .. py:class:: ReferenceMagnitude(parent: qcodes.instrument.base.InstrumentBase, name: str, **kwargs: Any) Bases: :py:obj:`qcodes.instrument.InstrumentChannel` Submodule which describes an amplitude / power reference level, with respect to which pulse amplitudes are defined. This can be specified in units of "V", "dBm" or "A". Only one unit parameter may have a defined value at a time. If we call the set method for any given unit parameter, all other unit parameters will be automatically set to nan. .. py:method:: _set_parameter(value: float, parameter: str) Set the value of one of the unit parameters, while setting all the other unit parameters to nan. .. py:method:: get_val_unit() -> Tuple[float, str] Get the value of the amplitude reference and its unit, if one is defined. If a value is defined for more than one unit, raise an exception. :returns: * *value* -- The value of the amplitude reference * *unit* -- The unit in which this value is specified .. py:class:: BasicTransmonElement(name: str, **kwargs) Bases: :py:obj:`quantify_scheduler.device_under_test.device_element.DeviceElement` A device element representing a single fixed-frequency transmon qubit coupled to a readout resonator. :param name: The name of the transmon element. :param 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. .. py:attribute:: reset :type: IdlingReset Submodule :class:`~.IdlingReset`. .. py:attribute:: rxy :type: RxyDRAG Submodule :class:`~.RxyDRAG`. .. py:attribute:: measure :type: DispersiveMeasurement Submodule :class:`~.DispersiveMeasurement`. .. py:attribute:: ports :type: Ports Submodule :class:`~.Ports`. .. py:attribute:: clock_freqs :type: ClocksFrequencies Submodule :class:`~.ClocksFrequencies`. .. py:method:: _generate_config() -> Dict[str, Dict[str, quantify_scheduler.backends.graph_compilation.OperationCompilationConfig]] 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. .. py:method:: generate_device_config() -> quantify_scheduler.backends.graph_compilation.DeviceCompilationConfig Generates a valid device config for the quantify-scheduler making use of the :func:`~.circuit_to_device._compile_circuit_to_device` function. This enables the settings of this qubit to be used in isolation. .. note: This config is only valid for single qubit experiments.