Skip to content

laboneq_applications.qpu_types.tunable_transmon

Tunable transmon qubits, parameters and operations.

TunableTransmonOperations

Bases: QuantumOperations

Operations for TunableTransmonQubits.

QUBIT_TYPES = TunableTransmonQubit class-attribute instance-attribute

acquire(q, handle, kernel_pulses=None)

Perform an acquisition on the qubit.

The acquire operation performs only an acquisition. If you wish to play a readout pulse and perform an acquisition, use the measure operation.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to measure.

required
handle str

The handle to store the acquisition results in.

required
kernel_pulses list[dict] | Literal['default'] | None

A list of dictionaries describing the pulse parameters for the integration kernels, or "default" or None.

If a list of dictionaries is past, each dictionary must completely specify a kernel pulse and its parameters (i.e. they must include the function parameter and all of its arguments).

If the string "default" is passed, a constant integration kernel of length equal to the qubit's readout_integration_length parameter is used.

If not specified or None, the kernels specified in the qubit's readout_integration_kernels are used.

None

active_reset(qubits, active_reset_states='ge', number_resets=1, feedback_processing_delay=0.0, handles=None, measure_section_length=None)

Reset a qubit into the ground state, 'g', using feedback-based active reset.

Parameters:

Name Type Description Default
qubits QuantumElements

The qubits to reset.

required
handles Sequence[str] | None

The handles to store the active-reset acquisition results in for each qubit.

None
active_reset_states str | tuple

The qubit states to reset. Can be any combination of ("g", "e", "f"). Default: "ge"

'ge'
number_resets int

The number of active reset rounds to apply

1
feedback_processing_delay float

Feedback processing time. Default: 300ns

0.0
measure_section_length float | None

The length of the measure section. If multiple qubits are passed, the measure section must have the same length for each qubit. Default: None.

None

barrier(q)

Add a barrier on all the qubit signals.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to block on.

required
Note

A barrier returns an empty section that reserves all the qubit signals. The signals are reserved via @dsl.quantum_operation so the implementation of this operations is just pass.

calibration_traces(qubits, states='ge', active_reset=False, active_reset_states='ge', active_reset_repetitions=1, feedback_processing_delay=0.0, measure_section_length=None)

Add calibration-trace measurements.

Parameters:

Name Type Description Default
qubits QuantumElements

The qubits to reset.

required
states str | tuple

The calibration states to prepare. Can be any combination of ("g", "e", "f"). The same states are prepared for each qubit. Default: "ge"

'ge'
active_reset bool

whether to use active reset to prepare the qubit in g before every calibration state preparation

False
active_reset_states str | tuple

The qubit states to reset. Can be any combination of ("g", "e", "f"). Default: "ge"

'ge'
active_reset_repetitions int

The number of active reset rounds to apply

1
feedback_processing_delay float

Feedback processing time. Default: 300ns

0.0
measure_section_length float | None

The length of the measure section. If multiple qubits are passed, the measure section must have the same length for each qubit. Default: None.

None

delay(q, time)

Add a delay on the qubit drive signal.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to delay on.

required
time float

The duration of the delay in seconds.

required

measure(q, handle, readout_pulse=None, kernel_pulses=None)

Perform a measurement on the qubit.

The measurement operation plays a readout pulse and performs an acquisition. If you wish to perform only an acquisition, use the acquire operation.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to measure.

required
handle str

The handle to store the acquisition results in.

required
readout_pulse dict | None

A dictionary of overrides for the readout pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None
kernel_pulses list[dict] | Literal['default'] | None

A list of dictionaries describing the pulse parameters for the integration kernels, or "default" or None.

If a list of dictionaries is past, each dictionary must completely specify a kernel pulse and its parameters (i.e. they must include the function parameter and all of its arguments).

If the string "default" is passed, a constant integration kernel of length equal to the qubit's readout_integration_length parameter is used.

If not specified or None, the kernels specified in the qubit's readout_integration_kernels are used.

None

passive_reset(q, delay=None)

Reset a qubit into the ground state, 'g', using a long delay.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to reset.

required
delay float | SweepParameter | None

The duration of the delay in seconds. Defaults to the qubit parameter reset_delay_length.

None

prepare_state(q, state='g', reset=None)

Prepare a qubit in the given state.

The qubit is assumed to be in the ground state, 'g'. If this is not the case pass reset="passive" or reset="active" to perform a passive or active reset operation before preparing the state.

The returned section is right-aligned to ensure that there is not time gap between the end of the preparation pulses and the end of the section.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to prepare.

required
state str

The state to prepapre. One of 'g', 'e' or 'f'.

'g'
reset Literal['active', 'passive'] | None

If not None, perform the specified reset operation before preparing the state.

None

qubit_spectroscopy_drive(q, amplitude=None, phase=0.0, length=None, pulse=None)

Long pulse used for qubit spectroscopy that emulates a coherent field.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to apply the spectroscopy drive.

required
amplitude float | SweepParameter | None

The amplitude of the pulse. By default, the qubit parameter "spectroscopy_amplitude".

None
phase float

The phase of the pulse in radians. By default, this is 0.0.

0.0
length float | SweepParameter | None

The duration of the rotation pulse. By default, this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit-spectroscopy pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise, the values override or extend the existing ones.

None

ramsey(q, delay, ramsey_phase, echo_pulse=None, transition=None)

Performs a Ramsey operation on a qubit.

This operation consists of the following steps: x90 - delay/2 - [x180] or [y180] - delay/2 - x90

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate

required
delay SweepParameter | float

The duration between two rotations, excluding the echo pulse length if an echo pulse is included.

required
ramsey_phase SweepParameter | float

The phase of the second x90 rotation, this will be applied as a phase increment for the second pulse

required
echo_pulse Literal['x180', 'y180'] | None

The echo pulse to include.

None
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
Raise

ValueError: If the transition is not "ge" nor "ef".

ValueError: If the echo pulse is not None and not x180 or y180.

rx(q, angle, transition=None, amplitude=None, phase=0.0, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by the given angle (in radians) about the X axis.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
angle float | SweepParameter | None

The angle to rotate by in radians.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | SweepParameter | None

The amplitude of the rotation pulse. By default this is determined by the angle and the π pulse amplitude qubit parameter "amplitude_pi" by linear interpolation.

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is 0.0.

0.0
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | SweepParameter | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

ry(q, angle, transition=None, amplitude=None, phase=_PI_BY_2, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by the given angle (in radians) about the Y axis.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
angle float | SweepParameter | None

The angle to rotate by in radians.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | SweepParameter | None

The amplitude of the rotation pulse. By default this is determined by the angle and the π pulse amplitude qubit parameter "amplitude_pi" by linear interpolation.

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is π / 2.

_PI_BY_2
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | SweepParameter | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

rz(q, angle, transition=None)

Rotate the qubit by the given angle (in radians) about the Z-axis.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
angle float

The angle to rotate by in radians.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None

set_frequency(q, frequency, *, transition=None, readout=False, rf=True, calibration=None)

Sets the frequency of the given qubit drive line or readout line.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to set the transition or readout frequency of.

required
frequency float | SweepParameter

The frequency to set in Hz. By default the frequency specified is the RF frequency. The oscillator frequency may be set directly instead by passing rf=False.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
readout bool

If true, the frequency of the readout line is set instead. Setting the readout frequency to a sweep parameter is only supported in spectroscopy mode. The LabOne Q compiler will raise an error in other modes.

False
rf bool

If True, set the RF frequency of the transition. If False, set the oscillator frequency directly instead. The default is to set the RF frequency.

True
calibration Calibration | None

The experiment calibration to update (see the note below). By default, the calibration from the currently active experiment context is used. If no experiment context is active, for example when using @qubit_experiment(context=False), the calibration object may be passed explicitly.

None

Raises:

Type Description
RuntimeError

If there is an attempt to call set_frequency more than once on the same signal. See notes below for details.

Notes

Currently set_frequency is implemented by setting the appropriate oscillator frequencies in the experiment calibration. This has two important consequences:

  • Each experiment may only set one frequency per signal line, although this may be a parameter sweep.

  • The set frequency or sweep applies for the whole experiment regardless of where in the experiment the frequency is set.

This will be improved in a future release.

set_readout_amplitude(q, amplitude, *, calibration=None)

Sets the readout amplitude of the given qubit's measure line.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to set the readout amplitude of.

required
amplitude float | SweepParameter

The amplitude to set for the measure line in units from 0 (no power) to 1 (full scale).

required
calibration Calibration | None

The experiment calibration to update (see the note below). By default, the calibration from the currently active experiment context is used. If no experiment context is active, for example when using @qubit_experiment(context=False), the calibration object may be passed explicitly.

None

Raises:

Type Description
RuntimeError

If there is an attempt to call set_readout_amplitude more than once on the same signal. See notes below for details.

Notes

Currently set_readout_amplitude is implemented by setting the amplitude of the measure line signal in the experiment calibration. This has two important consequences:

  • Each experiment may only set one amplitude per readout line, although this may be a parameter sweep.

  • The set readout amplitude or sweep applies for the whole experiment regardless of where in the experiment the amplitude is set.

This will be improved in a future release.

x180(q, transition=None, amplitude=None, phase=0.0, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by 180 degrees about the X axis.

This implementation calls rx(q, π, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | None

The amplitude of the rotation pulse. By default this is determined from the qubit parameter "amplitude_pi".

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is 0.0.

0.0
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

x180_ef_reset(q)

Modulated x180 operation on the ef transition, used for active reset.

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to reset.

required

x90(q, transition=None, amplitude=None, phase=0.0, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by 90 degrees about the X axis.

This implementation calls rx(q, π / 2, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | None

The amplitude of the rotation pulse. By default this is determined from the qubit parameter "amplitude_pi2".

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is 0.0.

0.0
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

y180(q, transition=None, amplitude=None, phase=_PI_BY_2, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by 180 degrees about the Y axis.

This implementation calls ry(q, π, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | None

The amplitude of the rotation pulse. By default this is determined from the qubit parameter "amplitude_pi".

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is π / 2.

_PI_BY_2
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

y90(q, transition=None, amplitude=None, phase=_PI_BY_2, increment_oscillator_phase=None, length=None, pulse=None)

Rotate the qubit by 90 degrees about the Y axis.

This implementation calls ry(q, π / 2, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None
amplitude float | None

The amplitude of the rotation pulse. By default this is determined from the qubit parameter "amplitude_pi2".

None
phase float

The phase of the rotation pulse in radians, applied as a baseband rotation of the waveform. By default this is π / 2.

_PI_BY_2
increment_oscillator_phase float | SweepParameter | None

The phase of the rotation pulse in radians applied as phase increment on the baseband oscillator. By default this is 0.0.

None
length float | None

The duration of the rotation pulse. By default this is determined by the qubit parameters.

None
pulse dict | None

A dictionary of overrides for the qubit pulse parameters.

The dictionary may contain sweep parameters for the pulse parameters other than function.

If the function parameter is different to the one specified for the qubit, then this override dictionary completely replaces the existing pulse parameters.

Otherwise the values override or extend the existing ones.

None

z180(q, transition=None)

Rotate the qubit by 180 degrees about the Z-axis.

This implementation calls rz(q, π, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None

z90(q, transition=None)

Rotate the qubit by 90 degrees about the Z-axis.

This implementation calls rz(q, π / 2, ...).

Parameters:

Name Type Description Default
q TunableTransmonQubit

The qubit to rotate.

required
transition str | None

The transition to rotate. By default this is "ge" (i.e. the 0-1 transition).

None

TunableTransmonQubit

Bases: QuantumElement

A class for a superconducting, flux-tuneable Transmon Qubit.

OPTIONAL_SIGNALS = ('drive_ef', 'flux') class-attribute instance-attribute

PARAMETERS_TYPE = TunableTransmonQubitParameters class-attribute instance-attribute

REQUIRED_SIGNALS = ('acquire', 'drive', 'measure') class-attribute instance-attribute

TRANSITIONS = ('ge', 'ef') class-attribute instance-attribute

calibration()

Generate calibration from the parameters and attached signal lines.

Set the readout_integration_discrimination_thresholds and disable the modulation of the acquire oscillator if optimal weights are used (readout_integration_kernels_type == "optimal")

Returns:

Name Type Description
calibration Calibration

Prefilled calibration object from Qubit parameters.

default_integration_kernels()

Return a default list of integration kernels.

Returns:

Type Description
list[Pulse]

A list consisting of a single constant pulse with length equal to

list[Pulse]

readout_integration_length.

get_integration_kernels(kernel_pulses=None)

Create readout integration kernels for the transmon.

Parameters:

Name Type Description Default
kernel_pulses list[dict] | str | None

Custom definitions for the kernel pulses, passed as a list of pulse dictionaries, or the values "default" or "optimal".

None

If kernel_pulses are passed as a list of pulse dictionaries, they are returned as pulse functionals.

The special value "optimal" for kernel_pulses or for readout_integration_kernels_type if kernel_pulses is None, returns TunableTransmonParameters.readout_integration_kernels.

The special value "default" for either kernel_pulses or readout_integration_kernels_type parameter returns the default kernels from .default_integration_kernels().

Returns:

Type Description
list[Pulse]

A list of integration kernel pulses.

readout_integration_parameters()

Return the acquire line and the readout integration parameters.

Returns:

Name Type Description
line str

The acquire line of the qubit.

params dict

The readout integration parameters.

readout_parameters()

Return the measure line and the readout parameters.

Returns:

Name Type Description
line str

The measure line of the qubit.

params dict

The readout parameters.

spectroscopy_parameters()

Return the qubit-spectroscopy line and the spectroscopy-pulse parameters.

Returns:

Name Type Description
line str

The qubit-spectroscopy drive line of the qubit.

params dict

The spectroscopy-pulse parameters.

transition_parameters(transition=None)

Return the transition drive signal line and parameters.

Parameters:

Name Type Description Default
transition str | None

The transition to return parameters for. May be None, "ge" or "ef". None defaults to "ge".

None

Returns:

Name Type Description
line str

The drive line for the transition.

params dict

The drive parameters for the transition.

Raises:

Type Description
ValueError

If the transition is not None, "ge" or "ef".

TunableTransmonQubitParameters

Bases: QuantumParameters

Qubit parameters for TunableTransmonQubit instances.

Added in version 2.15.0

The attribute 'flux_range' was added.

Deprecated in version 2.12.0.

The user_defined attribute is deprecated. Use the custom attribute from the QuantumParameters parent class instead.

Attributes:

Name Type Description
drive_lo_frequency float | None

Local oscillator frequency for the drive signals.

readout_lo_frequency float | None

Local oscillator frequency for the readout lines.

resonance_frequency_ge float | None

Resonance frequency of the qubits g-e transition.

resonance_frequency_ef float | None

Resonance frequency of the qubits e-f transition.

readout_resonator_frequency float | None

Readout resonantor frequency of the qubit.

ge_drive_amplitude_pi float

Amplitude for a pi pulse on the g-e transition.

ge_drive_amplitude_pi2 float

Amplitude for a half-pi pulse on the g-e transition.

ge_drive_length float

Length of g-e transition drive pulses (seconds).

ge_drive_pulse dict

Pulse parameters for g-e transition drive pulses.

ef_drive_amplitude_pi float

Amplitude for a pi pulse on the e-f transition.

ef_drive_amplitude_pi2 float

Amplitude for a half-pi pulse on the e-f transition.

ef_drive_length float

Length of e-f transition drive pulses (seconds).

ef_drive_pulse dict

Pulse parameters for e-f transition drive pulses.

qubit_resonator_coupling_strength_g float

Qubit resonator coupling strength.

ge_chi_shift float

Chi shift of the ground state and first excited state.

readout_amplitude float

Readout pulse amplitude.

readout_length float

Readout pulse length.

readout_pulse dict

Pulse parameters for the readout pulse.

readout_integration_length float

Duration of the weighted integration.

readout_integration_delay float

Integration delay between readout pulse and data acquisition. Defaults to 20 ns.

readout_integration_kernels_type Literal['default', 'optimal']

The type of integration kernel to use, either "default" or "optimal". Setting this parameter to "optimal" disables the modulation in the acquire signal, as the optimal kernels are assumed to be already modulated.

readout_integration_kernels list[dict] | None

Either "default" or a list of pulse dictionaries.

readout_integration_discrimination_thresholds list[float] | None

Either None or a list of thresholds.

reset_delay_length float | None

Duration of the wait time for reset.

drive_range float

Drive power setting, defaults to 10 dBm.

readout_range_out float

Readout output power setting, defaults to 5 dBm.

readout_range_in float

Readout input power setting, defaults to 10 dBm.

flux_range float

Voltage range for flux control line, defaults to 5 volts.

spectroscopy_length float | None

Length of the qubit drive pulse in spectroscopy (seconds).

spectroscopy_amplitude float | None

Amplitude of the qubit drive pulse in spectroscopy.

dc_slot int | None

Slot number on the DC source used for applying a DC voltage to the qubit.

dc_voltage_parking float | None

Qubit DC parking voltage.

flux_offset_voltage float

Offset voltage for flux control line - defaults to 0.

user_defined dict

Free-form dictionary of user-defined parameters (deprecated).

dc_slot = 0 class-attribute instance-attribute

dc_voltage_parking = 0.0 class-attribute instance-attribute

drive_frequency_ef property

Qubit drive frequency for the e-f transition.

drive_frequency_ge property

Qubit drive frequency for the g-e transition.

drive_lo_frequency = None class-attribute instance-attribute

drive_range = 10 class-attribute instance-attribute

ef_T1 = 0 class-attribute instance-attribute

ef_T2 = 0 class-attribute instance-attribute

ef_T2_star = 0 class-attribute instance-attribute

ef_drive_amplitude_pi = 0.2 class-attribute instance-attribute

ef_drive_amplitude_pi2 = 0.1 class-attribute instance-attribute

ef_drive_length = 5e-08 class-attribute instance-attribute

ef_drive_pulse = attrs.field(factory=(lambda: {'function': 'drag', 'beta': 0, 'sigma': 0.25})) class-attribute instance-attribute

flux_offset_voltage = 0.0 class-attribute instance-attribute

flux_range = 5 class-attribute instance-attribute

ge_T1 = 0 class-attribute instance-attribute

ge_T2 = 0 class-attribute instance-attribute

ge_T2_star = 0 class-attribute instance-attribute

ge_chi_shift = 0 class-attribute instance-attribute

ge_drive_amplitude_pi = 0.2 class-attribute instance-attribute

ge_drive_amplitude_pi2 = 0.1 class-attribute instance-attribute

ge_drive_length = 5e-08 class-attribute instance-attribute

ge_drive_pulse = attrs.field(factory=(lambda: {'function': 'drag', 'beta': 0, 'sigma': 0.25})) class-attribute instance-attribute

qubit_resonator_coupling_strength_g = 0 class-attribute instance-attribute

readout_amplitude = 1.0 class-attribute instance-attribute

readout_frequency property

Readout baseband frequency.

readout_integration_delay = 2e-08 class-attribute instance-attribute

readout_integration_discrimination_thresholds = None class-attribute instance-attribute

readout_integration_kernels = None class-attribute instance-attribute

readout_integration_kernels_type = 'default' class-attribute instance-attribute

readout_integration_length = 2e-06 class-attribute instance-attribute

readout_length = 2e-06 class-attribute instance-attribute

readout_lo_frequency = None class-attribute instance-attribute

readout_pulse = attrs.field(factory=(lambda: {'function': 'const'})) class-attribute instance-attribute

readout_range_in = 10 class-attribute instance-attribute

readout_range_out = 5 class-attribute instance-attribute

readout_resonator_frequency = None class-attribute instance-attribute

reset_delay_length = 1e-06 class-attribute instance-attribute

resonance_frequency_ef = None class-attribute instance-attribute

resonance_frequency_ge = None class-attribute instance-attribute

spectroscopy_amplitude = 1 class-attribute instance-attribute

spectroscopy_length = 5e-06 class-attribute instance-attribute

spectroscopy_pulse = attrs.field(factory=(lambda: {'function': 'const', 'can_compress': True})) class-attribute instance-attribute

user_defined = attrs.field(factory=dict) class-attribute instance-attribute

demo_platform(n_qubits)

Return a demo tunable transmon QPU with the specified number of qubits.

The returned setup consists of:

  • 1 PQSC
  • 1 SHFQC (for the qubit drive and measurement lines)
  • 1 HDAWG (for the qubit flux lines)

with device options:

  • 1 PQSC
  • 1 SHFQC/QC6CH
  • 1 HDAWG8/MF/ME/SKW/PC

The maximum number of qubits is 6 (which is the number of drive lines on the SHFQC).

The qubits share a single multiplexed readout line.

Parameters:

Name Type Description Default
n_qubits int

Number of qubits to include in the QPU.

required

Returns:

Type Description
QuantumPlatform

The QPU.