Skip to content

Commit

Permalink
doc: Add documentation for DRAG
Browse files Browse the repository at this point in the history
  • Loading branch information
andrea-pasquale committed Jan 15, 2025
1 parent e873e5f commit 4448a5b
Show file tree
Hide file tree
Showing 5 changed files with 145 additions and 0 deletions.
94 changes: 94 additions & 0 deletions doc/source/protocols/drag/drag.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
DRAG experiments
================

In this section we show how to run Ramsey experiments using Qibocal

.. _drag:


DRAG :cite:p:`Motzoi_2009, Gambetta_2011`: pulses can be used to lower both phase and leakage errors,
it consists in adding a quadrature component to the pulse which is proportional
to the time derivative of the phase component. Given a pulse with a phase component :math:`\Omega_x`
the quadrature component :math:`\Omega_y` is evaluated as

.. math::
\Omega_y (t) = \beta \frac{d\Omega_x}{dt} ,
where :math:`\beta` is a scaling parameter.

Qibocal provides two separate protocols to extract :math:`\beta`.


Method 1
--------

:math:`\beta` can be extracted by playing the pulse sequence composed by
:math:`[R_X(\pi) - R_X(-\pi)]^N` for different values of :math:`\beta` as shown in :cite:p:`Sheldon_2016`.
The post-processing consists in measuring the probability of :math:`\ket{0}` for every :math:`\beta`
and fitting the curve with a cosine. The correct :math:`\beta` value is the one which maximizes
the curve.

Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.drag.DragTuningParameters
:noindex:

Example
^^^^^^^

.. code-block:: yaml
- id: drag tuning
operation: drag_tuning
parameters:
beta_start: -1
beta_end: 1
beta_step: 0.1
nflips: 5
unrolling: true
Running this protocol you should get something like this:

.. image:: drag_tuning.png


Method 2
--------

The second method consists in playing two different sequences
:math:`R_Y(\pi) R_X(\pi/2)` and :math:`R_X(\pi) R_Y(\pi/2)` which are two
of the AllXY pulses which exhibit opposite sign of phase error as highlighted
in :cite:p:`reed2013entanglementquantumerrorcorrection`.
The post-processing consists in measuring the probability of :math:`\ket{1}` for every :math:`\beta`
and performing a linear fit for both sequences. The correct :math:`\beta` value is the one where the two lines
cross.

Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.drag_simple.DragTuningSimpleParameters
:noindex:

Example
^^^^^^^

.. code-block:: yaml
- id: drag simple
operation: drag_simple
parameters:
beta_start: -1
beta_end: 1
beta_step: 0.1
unrolling: true
.. image:: drag_simple.png


Requirements
^^^^^^^^^^^^

- :ref:`single-shot`
Binary file added doc/source/protocols/drag/drag_simple.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/protocols/drag/drag_tuning.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/source/protocols/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ In this section we introduce the basics of all protocols supported by ``qibocal`
dispersive_shift
allxy
flipping
drag/drag
readout_mitigation_matrix
readout_optimization
standard_rb
Expand Down
50 changes: 50 additions & 0 deletions doc/source/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,53 @@ @article{Nielsen_2002
author={Nielsen, Michael A},
year={2002},
month=oct, pages={249–252} }

@article{Motzoi_2009,
title={Simple Pulses for Elimination of Leakage in Weakly Nonlinear Qubits},
volume={103},
ISSN={1079-7114},
url={http://dx.doi.org/10.1103/PhysRevLett.103.110501},
DOI={10.1103/physrevlett.103.110501},
number={11},
journal={Physical Review Letters},
publisher={American Physical Society (APS)},
author={Motzoi, F. and Gambetta, J. M. and Rebentrost, P. and Wilhelm, F. K.},
year={2009},
month=sep }


@article{Gambetta_2011,
title={Analytic control methods for high-fidelity unitary operations in a weakly nonlinear oscillator},
volume={83},
ISSN={1094-1622},
url={http://dx.doi.org/10.1103/PhysRevA.83.012308},
DOI={10.1103/physreva.83.012308},
number={1},
journal={Physical Review A},
publisher={American Physical Society (APS)},
author={Gambetta, J. M. and Motzoi, F. and Merkel, S. T. and Wilhelm, F. K.},
year={2011},
month=jan }

@article{Sheldon_2016,
title={Characterizing errors on qubit operations via iterative randomized benchmarking},
volume={93},
ISSN={2469-9934},
url={http://dx.doi.org/10.1103/PhysRevA.93.012301},
DOI={10.1103/physreva.93.012301},
number={1},
journal={Physical Review A},
publisher={American Physical Society (APS)},
author={Sheldon, Sarah and Bishop, Lev S. and Magesan, Easwar and Filipp, Stefan and Chow, Jerry M. and Gambetta, Jay M.},
year={2016},
month=jan }

@misc{reed2013entanglementquantumerrorcorrection,
title={Entanglement and Quantum Error Correction with Superconducting Qubits},
author={Matthew Reed},
year={2013},
eprint={1311.6759},
archivePrefix={arXiv},
primaryClass={quant-ph},
url={https://arxiv.org/abs/1311.6759},
}

0 comments on commit 4448a5b

Please sign in to comment.