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 If a list of dictionaries is past, each dictionary must
completely specify a kernel pulse and its parameters (i.e.
they must include the If the string "default" is passed, a constant integration
kernel of length equal to the qubit's
If not specified or |
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 If the 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 If a list of dictionaries is past, each dictionary must
completely specify a kernel pulse and its parameters (i.e.
they must include the If the string "default" is passed, a constant integration
kernel of length equal to the qubit's
If not specified or |
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 |
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 If the 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 If the 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 |
_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 If the 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 |
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
|
None
|
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If there is an attempt to call |
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
|
None
|
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If there is an attempt to call |
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 If the 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 If the 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 |
_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 If the 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 |
_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 If the 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()
¶
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()
¶
readout_parameters()
¶
spectroscopy_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
|
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 |
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 |
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. |