qilisdk.experiments.experiment_functional

Attributes

TResult_co

Classes

ExperimentFunctional

Abstract base class for single-qubit experiment functionals.

RabiExperiment

Rabi experiment functional for a single qubit.

T1Experiment

T1 relaxation experiment functional for a single qubit.

T2Experiment

T2 dephasing experiment functional for a single qubit.

TwoTonesAtFixedFluxBiasExperiment

Two-tone spectroscopy functional for a single qubit.

TwoTonesVsFluxBiasExperiment

Two-tone spectroscopy functional for a single qubit, swept vs flux bias.

TwoTonesFrequencyVsFluxQdacRampCWExperiment

Two-tone spectroscopy functional for a single qubit, swept vs flux bias using ramping through the QDAC and

TwoTonesPulsedSoftExperiment

Two-tone pulsed spectroscopy functional using a soft Gaussian ring-up drive.

T1SoftSaturationHWLExperiment

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:
  • qubit (int) – The physical qubit index on which the experiment is performed.

  • averages (int) – Number of averages to acquire for the experiment.

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:
  • qubit (int) – The physical qubit index on which the experiment is performed.

  • averages (int) – Number of averages to acquire for the experiment.

  • drive_duration_values (np.ndarray) – Array of drive pulse durations (in nanoseconds) used to sweep the experiment.

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:
  • qubit (int) – The physical qubit index on which the experiment is performed.

  • averages (int) – Number of averages to acquire for the experiment.

  • wait_duration_values (np.ndarray) – Array of waiting times (in nanoseconds) between excitation and measurement.

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:
  • qubit (int) – The physical qubit index on which the experiment is performed.

  • averages (int) – Number of averages to acquire for the experiment.

  • wait_duration_values (np.ndarray) – Array of free-evolution delays (in nanoseconds) between the phase-sensitive pulses.

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:
  • qubit (int) – The physical qubit index on which the experiment is performed.

  • averages (int) – Number of averages to acquire for the experiment.

  • wait_duration_values (np.ndarray) – Array of waiting times (in nanoseconds) between excitation and measurement.

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