-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
247 changed files
with
15,628 additions
and
6,169 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,10 @@ __pycache__/ | |
*.py[cod] | ||
*$py.class | ||
|
||
# test outputs | ||
cls_result/ | ||
qubit*/ | ||
|
||
# C extensions | ||
*.so | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
All-XY | ||
====== | ||
|
||
The All-XY experiment is commonly used to evaluate the quality of the single qubit rotations :cite:p:`gao2021practical`. In this protocol, a sequence | ||
of single qubit rotations pairs are performed, such that the resulting states form a staircase pattern where only :math:`\ket{0}`, | ||
:math:`\ket{1}` or a superposition of the two are present. | ||
|
||
Parameters | ||
^^^^^^^^^^ | ||
|
||
.. autoclass:: | ||
qibocal.protocols.allxy.allxy.AllXYParameters | ||
:noindex: | ||
|
||
Example | ||
^^^^^^^ | ||
It follows a runcard example of this experiment. | ||
|
||
.. code-block:: yaml | ||
- id: allxy | ||
operation: allxy | ||
parameters: | ||
nshots: 2000 | ||
The expected output is the following: | ||
|
||
.. image:: allxy.png |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
.. _dispersive_shift: | ||
|
||
Dispersive shift | ||
================ | ||
|
||
In this section we present the dispersive shift routines provided by Qibocal. | ||
|
||
Theory | ||
------ | ||
|
||
A system with a qubit and a resonator, interacting with each other, is described by the James-Cummings Hamiltonian. | ||
Restricting the qubit states to the first two levels, we get | ||
|
||
.. math:: | ||
\hat{H}_{\text{JC}} = \hbar \omega_r \hat{a}^\dagger \hat{a} + \frac{\hbar \omega_q}{2} \hat{\sigma}_z + \hbar g (\hat{a}^\dagger \hat{\sigma}_- + \hat{a} \hat{\sigma}_+) | ||
where :math:`\omega_r` and :math:`\omega_q` are respectively the resonator and the qubit frequencies, and :math:`g` is the coupling | ||
constant between the qubit and the resonator. | ||
In the dispersive regime :math:`g \ll \lvert \omega_r - \omega_q \rvert`, the Hamiltonian can be rewritten as | ||
|
||
.. math:: | ||
:label: eq_1 | ||
\hat{H}_{\text{eff}} = \hbar \hat{a}^\dagger \hat{a} (\omega_r - \chi \hat{\sigma}_z) + \frac{\hbar}{2} (\omega_q + \chi) \hat{\sigma}_z | ||
where we introduced the dispersive shift | ||
|
||
.. math:: | ||
\chi = \frac{g^2}{\lambda}. | ||
Equation :eq:`eq_1` shows that the resonator frequency is :math:`\omega_{r,0} = \omega_r - \chi` (:math:`\omega_{r,1} = \omega_r + \chi`) when the | ||
qubit is in the ground (excited) state. The separation between the two freqiencies is :math:`\lvert 2 \chi \rvert`. | ||
|
||
Routine description | ||
^^^^^^^^^^^^^^^^^^^ | ||
After collecting the data from the two spectroscopies, for each readout frequency the distance of the centers of the blobs for | ||
:math:`\ket{0}` and :math:`\ket{1}` states are evaluated. The best readout frequency is the one maximizing the distance between the two blobs. | ||
|
||
Parameters | ||
^^^^^^^^^^ | ||
|
||
.. autoclass:: qibocal.protocols.dispersive_shift.DispersiveShiftParameters | ||
:noindex: | ||
|
||
Example | ||
^^^^^^^ | ||
It follows an example of the experiment parameters. | ||
|
||
.. code-block:: yaml | ||
- id: dispersive shift qt | ||
operation: dispersive_shift_qutrit | ||
parameters: | ||
freq_step: 200000 | ||
freq_width: 1000000 | ||
After running `qq auto`, the experiment is executed and the result will looks like | ||
the following picture. | ||
|
||
.. image:: dispersive_shift.png | ||
|
||
Requirements | ||
^^^^^^^^^^^^ | ||
- :ref:`rabi` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
Flipping | ||
======== | ||
|
||
The flipping experiment corrects the amplitude in the qubit drive pulse. In this experiment, | ||
we applying an :math:`R_x(\pi/2)` rotation followed by :math:`N` flips (two :math:`R_x(\pi)` rotations) | ||
and we measure the qubit state. | ||
The first :math:`R_x(\pi/2)` is necessary to discriminate the over rotations and under rotations of the :math:`R_x(\pi)` pulse: | ||
without it the difference between the two cases is just a global phase, i.e., the | ||
probabilities are the same. With the :math:`R_x(\pi/2)` pulse, in case of under rotations the state will be closer to :math:`\ket{0}` | ||
after the initial flip, in the over rotations one the final state will be closer to :math:`\ket{1}`. | ||
|
||
By fitting the resulting data with a sinusoidal function, we can determine the delta amplitude, which allows us to refine the | ||
:math:`\pi` pulse amplitue. | ||
|
||
Parameters | ||
^^^^^^^^^^ | ||
|
||
.. autoclass:: qibocal.protocols.flipping.FlippingParameters | ||
:noindex: | ||
|
||
Example | ||
^^^^^^^ | ||
It follows a runcard example of this experiment. | ||
|
||
.. code-block:: yaml | ||
- id: flipping | ||
operation: flipping | ||
parameters: | ||
detuning: 0.05 | ||
nflips_max: 30 | ||
nflips_step: 1 | ||
The expected output is the following: | ||
|
||
.. image:: flipping.png | ||
|
||
Qibocal provides also a "signal" version of this routine, it follows a possible runcard | ||
with its report. | ||
|
||
.. code-block:: yaml | ||
- id: flipping | ||
operation: flipping_signal | ||
parameters: | ||
detuning: -0.5 | ||
nflips_max: 20 | ||
nflips_step: 1 | ||
.. image:: flipping_signal.png | ||
|
||
Requirements | ||
^^^^^^^^^^^^ | ||
|
||
- :ref:`rabi` | ||
- :ref:`single-shot` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.