qilisdk.experiments.experiment_functional
Attributes
Classes
Abstract base class for single-qubit experiment functionals. |
|
Rabi experiment functional for a single qubit. |
|
T1 relaxation experiment functional for a single qubit. |
|
T2 dephasing experiment functional for a single qubit. |
|
Two-tone spectroscopy functional for a single qubit. |
|
Two-tone spectroscopy functional for a single qubit, swept vs flux bias. |
|
Two-tone spectroscopy functional for a single qubit, swept vs flux bias using ramping through the QDAC and |
|
Two-tone pulsed spectroscopy functional using a soft Gaussian ring-up drive. |
|
T1 relaxation experiment using a soft Gaussian ring-up saturation drive with hardware loop. |
Module Contents
- TResult_co[fuente]
- class ExperimentFunctional(qubit: int, averages: int)[fuente]
Bases:
qilisdk.functionals.functional.Functional,abc.ABC,Generic[TResult_co]Abstract base class for single-qubit experiment functionals.
This class serves as a generic interface for defining quantum characterization experiments such as Rabi or T1. Each subclass specifies a concrete ExperimentResult type and the corresponding sweep parameters.
Initialize the experiment functional.
- Parámetros:
- property qubit: int[fuente]
The physical qubit index on which the experiment is performed.
- Devuelve:
Index of the qubit.
- Tipo del valor devuelto:
int
- property averages: int[fuente]
Number of averages to acquire for the experiment.
- Devuelve:
Number of averages.
- Tipo del valor devuelto:
int
- class RabiExperiment(qubit: int, averages: int, drive_duration_values: numpy.ndarray)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.RabiExperimentResult]Rabi experiment functional for a single qubit.
This functional defines a standard Rabi oscillation experiment where the drive pulse duration is swept to measure the oscillatory response of the qubit under continuous driving.
Initialize a Rabi experiment functional.
- Parámetros:
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.RabiExperimentResult]][fuente]
Result type returned by this functional.
- property drive_duration_values: numpy.ndarray[fuente]
Drive pulse duration sweep values.
- Devuelve:
The set of drive durations (in nanoseconds) used in the Rabi experiment.
- Tipo del valor devuelto:
np.ndarray
- class T1Experiment(qubit: int, averages: int, wait_duration_values: numpy.ndarray)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.T1ExperimentResult]T1 relaxation experiment functional for a single qubit.
This functional defines a standard T1 (energy relaxation) experiment, where the delay between excitation and measurement is varied to extract the relaxation time constant of the qubit.
Initialize a T1 experiment functional.
- Parámetros:
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.T1ExperimentResult]][fuente]
Result type returned by this functional.
- property wait_duration_values: numpy.ndarray[fuente]
Waiting time sweep values.
- Devuelve:
The set of delay durations (in nanoseconds) used in the T1 experiment.
- Tipo del valor devuelto:
np.ndarray
- class T2Experiment(qubit: int, averages: int, wait_duration_values: numpy.ndarray)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.T2ExperimentResult]T2 dephasing experiment functional for a single qubit.
This functional defines a Ramsey/spin-echo style T2 experiment, where the free-evolution delay between phase-sensitive pulses is swept to extract the qubit coherence time.
Initialize a T2 dephasing experiment functional.
- Parámetros:
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.T2ExperimentResult]][fuente]
Result type returned by this functional.
- property wait_duration_values: numpy.ndarray[fuente]
Free-evolution delay sweep values.
- Devuelve:
The set of delay durations (in nanoseconds) used to estimate T2.
- Tipo del valor devuelto:
np.ndarray
- class TwoTonesAtFixedFluxBiasExperiment(qubit: int, averages: int, frequency_start: float, frequency_stop: float, frequency_step: float)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.TwoTonesAtFixedFluxBiasExperimentResult]Two-tone spectroscopy functional for a single qubit.
Sweeps a drive tone frequency while monitoring the readout tone to identify the qubit transition frequency.
Initialize a two-tone spectroscopy functional.
- Parámetros:
qubit (
int) – The physical qubit index on which the experiment is performed.averages (
int) – Number of averages to acquire for the experiment.frequency_start (
float) – Starting frequency of the swept drive tone (in Hz).frequency_stop (
float) – Ending frequency of the swept drive tone (in Hz).frequency_step (
float) – Frequency increment between sweep points (in Hz).
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.TwoTonesAtFixedFluxBiasExperimentResult]][fuente]
Result type returned by this functional.
- property frequency_start: float[fuente]
Start frequency for the drive tone sweep.
- Devuelve:
Starting frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_stop: float[fuente]
Stop frequency for the drive tone sweep.
- Devuelve:
Ending frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_step: float[fuente]
Step size for the drive tone sweep.
- Devuelve:
Frequency increment between sweep points (in Hz).
- Tipo del valor devuelto:
float
- class TwoTonesVsFluxBiasExperiment(qubit: int, averages: int, frequency_start: float, frequency_stop: float, frequency_step: float, flux_start: float, flux_stop: float, flux_step: float)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.TwoTonesVsFluxBiasExperimentResult]Two-tone spectroscopy functional for a single qubit, swept vs flux bias.
Sweeps a drive tone frequency while monitoring the readout tone to identify the qubit transition frequency as a function of flux bias.
Initialize a two-tone spectroscopy functional, swept vs flux bias.
- Parámetros:
qubit (
int) – The physical qubit index on which the experiment is performed.averages (
int) – Number of averages to acquire for the experiment.frequency_start (
float) – Starting frequency of the swept drive tone (in Hz).frequency_stop (
float) – Ending frequency of the swept drive tone (in Hz).frequency_step (
float) – Frequency increment between sweep points (in Hz).flux_start (
float) – Starting value of the flux bias sweep (in units of flux quantum).flux_stop (
float) – Ending value of the flux bias sweep (in units of flux quantum).flux_step (
float) – Increment between flux bias sweep points (in units of flux quantum).
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.TwoTonesVsFluxBiasExperimentResult]][fuente]
Result type returned by this functional.
- property frequency_start: float[fuente]
Start frequency for the drive tone sweep.
- Devuelve:
Starting frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_stop: float[fuente]
Stop frequency for the drive tone sweep.
- Devuelve:
Ending frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_step: float[fuente]
Step size for the drive tone sweep.
- Devuelve:
Frequency increment between sweep points (in Hz).
- Tipo del valor devuelto:
float
- property flux_start: float[fuente]
Start value for the flux bias sweep.
- Devuelve:
Starting value of the flux bias (in units of flux quantum).
- Tipo del valor devuelto:
float
- property flux_stop: float[fuente]
Stop value for the flux bias sweep.
- Devuelve:
Ending value of the flux bias (in units of flux quantum).
- Tipo del valor devuelto:
float
- property flux_step: float[fuente]
Step size for the flux bias sweep.
- Devuelve:
Increment between flux bias sweep points (in units of flux quantum).
- Tipo del valor devuelto:
float
- class TwoTonesFrequencyVsFluxQdacRampCWExperiment(qubit: int, averages: int, frequency_start: float, frequency_stop: float, frequency_step: float, flux_start: float, flux_stop: float, flux_step: float)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.TwoTonesFrequencyVsFluxQdacRampCWExperimentResult]Two-tone spectroscopy functional for a single qubit, swept vs flux bias using ramping through the QDAC and continous wave.
Sweeps a drive tone frequency while monitoring the readout tone to identify the qubit transition frequency as a function of flux bias.
Initialize a two-tone spectroscopy functional, swept vs flux bias, using the Qdac to ramp.
- Parámetros:
qubit (
int) – The physical qubit index on which the experiment is performed.averages (
int) – Number of averages to acquire for the experiment.frequency_start (
float) – Starting frequency of the swept drive tone (in Hz).frequency_stop (
float) – Ending frequency of the swept drive tone (in Hz).frequency_step (
float) – Frequency increment between sweep points (in Hz).flux_start (
float) – Starting value of the flux bias sweep (in units of flux quantum).flux_stop (
float) – Ending value of the flux bias sweep (in units of flux quantum).flux_step (
float) – Increment between flux bias sweep points (in units of flux quantum).
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.TwoTonesFrequencyVsFluxQdacRampCWExperimentResult]][fuente]
Result type returned by this functional.
- property frequency_start: float[fuente]
Start frequency for the drive tone sweep.
- Devuelve:
Starting frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_stop: float[fuente]
Stop frequency for the drive tone sweep.
- Devuelve:
Ending frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_step: float[fuente]
Step size for the drive tone sweep.
- Devuelve:
Frequency increment between sweep points (in Hz).
- Tipo del valor devuelto:
float
- property flux_start: float[fuente]
Start value for the flux bias sweep.
- Devuelve:
Starting value of the flux bias (in units of flux quantum).
- Tipo del valor devuelto:
float
- property flux_stop: float[fuente]
Stop value for the flux bias sweep.
- Devuelve:
Ending value of the flux bias (in units of flux quantum).
- Tipo del valor devuelto:
float
- property flux_step: float[fuente]
Step size for the flux bias sweep.
- Devuelve:
Increment between flux bias sweep points (in units of flux quantum).
- Tipo del valor devuelto:
float
- class TwoTonesPulsedSoftExperiment(qubit: int, averages: int, frequency_start: float, frequency_stop: float, frequency_step: float)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.TwoTonesPulsedSoftExperimentResult]Two-tone pulsed spectroscopy functional using a soft Gaussian ring-up drive.
Sweeps the drive tone IF frequency while applying a smooth saturation pulse to identify the qubit transition frequency at a fixed flux bias point.
Initialize a two-tone pulsed soft spectroscopy functional.
- Parámetros:
qubit (
int) – The physical qubit index on which the experiment is performed.averages (
int) – Number of averages to acquire for the experiment.frequency_start (
float) – Starting IF frequency of the swept drive tone (in Hz).frequency_stop (
float) – Ending IF frequency of the swept drive tone (in Hz).frequency_step (
float) – Frequency increment between sweep points (in Hz).
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.TwoTonesPulsedSoftExperimentResult]][fuente]
Result type returned by this functional.
- property frequency_start: float[fuente]
Start IF frequency for the drive tone sweep.
- Devuelve:
Starting IF frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_stop: float[fuente]
Stop IF frequency for the drive tone sweep.
- Devuelve:
Ending IF frequency of the drive tone (in Hz).
- Tipo del valor devuelto:
float
- property frequency_step: float[fuente]
Step size for the drive tone IF frequency sweep.
- Devuelve:
Frequency increment between sweep points (in Hz).
- Tipo del valor devuelto:
float
- class T1SoftSaturationHWLExperiment(qubit: int, averages: int, wait_duration_values: numpy.ndarray)[fuente]
Bases:
ExperimentFunctional[qilisdk.experiments.experiment_result.T1SoftSaturationHWLExperimentResult]T1 relaxation experiment using a soft Gaussian ring-up saturation drive with hardware loop.
Applies a smooth saturation pulse to excite the qubit and sweeps the delay before readout to extract the relaxation time constant. All idle durations are unrolled into a single QProgram for efficient hardware execution.
Initialize a T1 soft saturation hardware-loop experiment functional.
- Parámetros:
- result_type: ClassVar[type[qilisdk.experiments.experiment_result.T1SoftSaturationHWLExperimentResult]][fuente]
Result type returned by this functional.
- property wait_duration_values: numpy.ndarray[fuente]
Waiting time sweep values.
- Devuelve:
The set of delay durations (in nanoseconds) used in the experiment.
- Tipo del valor devuelto:
np.ndarray