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.

HalfAngle

class HalfAngle(physical_qubits, backend=None)[source]

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

Overview

This experiment runs circuits that repeat blocks of sx - sx - y gates inserted in a Ramsey type experiment, i.e. the full gate sequence is thus Ry(π/2) - [sx - sx - y] ^ n - sx where n is varied.

        ┌─────────┐┌────┐┌────┐┌───┐   ┌────┐┌────┐┌───┐┌────┐ ░ ┌─┐
   q_0: ┤ Ry(π/2) ├┤ sx ├┤ sx ├┤ y ├...┤ sx ├┤ sx ├┤ y ├┤ sx ├─░─┤M├
        └─────────┘└────┘└────┘└───┘   └────┘└────┘└───┘└────┘ ░ └╥┘
meas: 1/════════════════════════════...═══════════════════════════╩═
                                                                  0

This sequence measures angle errors where the axis of the sx and x rotation are not parallel. A similar experiment is described in Ref.~[1] where the gate sequence x - y is repeated to amplify errors caused by non-orthogonal x and y rotation axes. Such errors can occur due to phase errors. For example, the non-linearities in the mixer’s skew for π/2 pulses may be different from the π pulse.

References

[1] Sarah Sheldon, Lev S. Bishop, Easwar Magesan, Stefan Filipp, Jerry M. Chow, Jay M. Gambetta, Characterizing errors on qubit operations via iterative randomized benchmarking, Phys. Rev. A 93, 012301 (2016), doi: 10.1103/PhysRevA.93.012301 (open)

Analysis class reference

ErrorAmplificationAnalysis

Experiment options

These options can be set by the set_experiment_options() method.

Options
  • Defined in the class HalfAngle:

    • repetitions (List[int])

      Default value: [0, 1, 2, 3, 4, …]
      A list of the number of times that the gate sequence [sx sx y] is repeated.
  • Defined in the class BaseExperiment:

    • max_circuits (Optional[int])

      Default value: None
      The maximum number of circuits per job when running an experiment on a backend.

Initialization

Setup a half angle experiment on the given qubit.

Parameters:
  • physical_qubits (Sequence[int]) – List containing the qubits on which to run the fine amplitude calibration experiment.

  • backend (Optional[Backend]) – Optional, the backend to run the experiment on.

Attributes

HalfAngle.analysis

Return the analysis instance for the experiment

HalfAngle.backend

Return the backend for the experiment

HalfAngle.experiment_options

Return the options for the experiment.

HalfAngle.experiment_type

Return experiment type.

HalfAngle.num_qubits

Return the number of qubits for the experiment.

HalfAngle.physical_qubits

Return the device qubits for the experiment.

HalfAngle.run_options

Return options values for the experiment run() method.

HalfAngle.transpile_options

Return the transpiler options for the run() method.

Methods

HalfAngle.circuits()

Create the circuits for the half angle calibration experiment.

HalfAngle.config()

Return the config dataclass for this experiment

HalfAngle.copy()

Return a copy of the experiment

HalfAngle.from_config(config)

Initialize an experiment from experiment config

HalfAngle.run([backend, analysis, timeout])

Run an experiment and perform analysis.

HalfAngle.set_experiment_options(**fields)

Set the experiment options.

HalfAngle.set_run_options(**fields)

Set options values for the experiment run() method.

HalfAngle.set_transpile_options(**fields)

Set the transpiler options for run() method.