Note

This is the documentation for the current state of the development branch of Qiskit Experiments. The documentation or APIs here can change prior to being released.

Experiment Library (qiskit_experiments.library)

A library of quantum characterization, calibration and verification experiments for calibrating and benchmarking quantum devices. See qiskit_experiments.framework for general information on the framework for running experiments.

Verification Experiments

Experiments for verification and validation of quantum devices.

StandardRB(physical_qubits, lengths[, ...])

An experiment to characterize the error rate of a gate set on a device.

InterleavedRB(interleaved_element, ...[, ...])

An experiment to characterize the error rate of a specific gate on a device.

LayerFidelity(physical_qubits, ...[, ...])

A holistic benchmarking experiment to characterize the full quality of the devices at scale.

TomographyExperiment(circuit[, backend, ...])

Base experiment for quantum state and process tomography.

StateTomography(circuit[, backend, ...])

An experiment to reconstruct the quantum state from measurement data.

ProcessTomography(circuit[, backend, ...])

An experiment to reconstruct the quantum channel from measurement data.

MitigatedStateTomography(circuit[, backend, ...])

A batched experiment to characterize readout error then perform state tomography for doing readout error mitigated state tomography.

MitigatedProcessTomography(circuit[, ...])

A batched experiment to characterize readout error then perform process tomography for doing readout error mitigated process tomography.

QuantumVolume(physical_qubits[, backend, ...])

An experiment to measure the largest random square circuit that can be run on a processor.

Characterization Experiments: Single Qubit

Experiments for characterization of properties of individual qubits. Some experiments also have a calibration experiment version.

T1(physical_qubits, delays[, backend])

An experiment to measure the qubit relaxation time.

T2Hahn(physical_qubits, delays[, ...])

An experiment to measure the dephasing time insensitive to inhomogeneous broadening using Hahn echos.

T2Ramsey(physical_qubits, delays[, backend, ...])

An experiment to measure the Ramsey frequency and the qubit dephasing time sensitive to inhomogeneous broadening.

Tphi(physical_qubits, delays_t1, delays_t2)

An experiment to measure the qubit dephasing rate in the \(x - y\) plane.

QubitSpectroscopy(physical_qubits, frequencies)

A spectroscopy experiment to obtain a frequency sweep of the qubit.

EFSpectroscopy(physical_qubits, frequencies)

A spectroscopy experiment to obtain a frequency sweep of the qubit's e-f transition.

HalfAngle(physical_qubits[, backend])

An experiment class to measure the amount by which sx and x are not parallel.

FineAmplitude(physical_qubits, gate[, ...])

An experiment to determine the optimal pulse amplitude by amplifying gate errors.

FineXAmplitude(physical_qubits[, backend])

A fine amplitude experiment with all the options set for the \(\pi\)-rotation.

FineSXAmplitude(physical_qubits[, backend])

A fine amplitude experiment with all the options set for the \(\pi/2\)-rotation.

Rabi(physical_qubits, schedule[, ...])

An experiment that scans a pulse amplitude to calibrate rotations on the \(|0\rangle\) <-> \(|1\rangle\) transition.

EFRabi(physical_qubits, schedule[, ...])

An experiment that scans the amplitude of a pulse inducing rotations on the \(|1\rangle\) <-> \(|2\rangle\) transition.

RamseyXY(physical_qubits[, backend, delays, ...])

A sign-sensitive experiment to measure the frequency of a qubit.

FineFrequency(physical_qubits, delay_duration)

An experiment to make a fine measurement of the qubit frequency.

ReadoutAngle(physical_qubits[, backend])

An experiment to measure the angle between ground and excited state IQ clusters.

ResonatorSpectroscopy(physical_qubits[, ...])

An experiment to perform frequency spectroscopy of the readout resonator.

RoughDrag(physical_qubits, schedule[, ...])

An experiment that scans the DRAG parameter to find the optimal value.

FineDrag(physical_qubits, gate[, backend])

An experiment that performs fine characterizations of DRAG pulse coefficients.

FineXDrag(physical_qubits[, backend])

Class to fine characterize the DRAG parameter of an X gate.

FineSXDrag(physical_qubits[, backend])

Class to fine characterize the DRAG parameter of an \(SX\) gate.

MultiStateDiscrimination(physical_qubits[, ...])

An experiment that discriminates between the first \(n\) energy states.

StarkRamseyXY(physical_qubits[, backend])

A sign-sensitive experiment to measure the frequency of a qubit under a pulsed Stark tone.

StarkRamseyXYAmpScan(physical_qubits[, backend])

A fast characterization of Stark frequency shift by varying Stark tone amplitude.

StarkP1Spectroscopy(physical_qubits[, backend])

P1 spectroscopy experiment with Stark tone.

Characterization Experiments: Two Qubits

Experiments for characterization of properties of two qubit interactions.

CrossResonanceHamiltonian(physical_qubits[, ...])

Cross resonance Hamiltonian tomography experiment.

EchoedCrossResonanceHamiltonian(physical_qubits)

Echoed cross resonance Hamiltonian tomography experiment.

ZZRamsey(physical_qubits[, backend])

An experiment to characterize the static \(ZZ\) interaction for a qubit pair.

FineZXAmplitude(physical_qubits[, backend])

A fine amplitude experiment for the RZXGate(np.pi / 2).

Characterization Experiments: Mitigation

Experiments for characterizing and mitigating readout error.

LocalReadoutError([physical_qubits, backend])

An experiment for characterizing local readout error.

CorrelatedReadoutError([physical_qubits, ...])

Correlated readout error characterization experiment.

Calibration Experiments

Experiments for pulse level calibration of quantum gates. These experiments are usually run with a Calibrations class instance to manage parameters and pulse schedules. See Calibrations: Schedules and gate parameters from experiments for examples.

RoughFrequencyCal(physical_qubits, ...[, ...])

A calibration experiment that runs QubitSpectroscopy to calibrate the qubit transition frequency.

RoughEFFrequencyCal(physical_qubits, ...[, ...])

A calibration experiment that runs QubitSpectroscopy for the \(|1\rangle\) <-> \(|2\rangle\) transition.

FrequencyCal(physical_qubits, calibrations)

A qubit frequency calibration experiment based on the Ramsey XY experiment.

FineFrequencyCal(physical_qubits, calibrations)

A calibration version of the fine frequency experiment.

RoughDragCal(physical_qubits, calibrations)

A calibration version of the RoughDrag experiment.

FineXDragCal(physical_qubits, calibrations)

Fine DRAG calibration of X gate.

FineSXDragCal(physical_qubits, calibrations)

Fine DRAG calibration of X gate.

FineDragCal(physical_qubits, calibrations, ...)

A calibration version of the fine DRAG experiment.

FineAmplitudeCal(physical_qubits, ...[, ...])

A calibration version of the FineAmplitude experiment.

FineXAmplitudeCal(physical_qubits, ...[, ...])

A calibration experiment to calibrate the amplitude of the X schedule.

FineSXAmplitudeCal(physical_qubits, ...[, ...])

A calibration experiment to calibrate the amplitude of the SX schedule.

HalfAngleCal(physical_qubits, calibrations)

Calibration version of the HalfAngle experiment.

RoughAmplitudeCal(physical_qubits, calibrations)

A calibration version of the Rabi experiment.

RoughXSXAmplitudeCal(physical_qubits, ...[, ...])

A rough amplitude calibration of x and sx gates.

EFRoughXSXAmplitudeCal(physical_qubits, ...)

A rough amplitude calibration of \(X\) and \(SX\) gates on the \(|1\rangle\) <-> \(|2\rangle\) transition.