Skip to content

Commit

Permalink
Merge branch 'main' into qq_run
Browse files Browse the repository at this point in the history
  • Loading branch information
Edoardo-Pedicillo committed Nov 4, 2024
2 parents d1ca6e4 + 39e5d3c commit 1e6d06c
Show file tree
Hide file tree
Showing 75 changed files with 2,200 additions and 3,028 deletions.
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
Expand All @@ -11,7 +11,7 @@ repos:
- id: check-merge-conflict
- id: debug-statements
- repo: https://github.com/psf/black
rev: 24.8.0
rev: 24.10.0
hooks:
- id: black
- repo: https://github.com/pycqa/isort
Expand All @@ -20,7 +20,7 @@ repos:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
rev: v3.19.0
hooks:
- id: pyupgrade
- repo: https://github.com/hadialqattan/pycln
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,9 @@ Feel free to check
[![DOI](https://zenodo.org/badge/511836317.svg)](https://zenodo.org/badge/latestdoi/511836317)



If you use the package please refer to [the documentation](https://qibo.science/qibo/stable/appendix/citing-qibo.html#publications) for citation instructions

## Ongoing development

A non-exhaustive list of possible protocols to be implemented in Qibocal is collected
[here](doc/dev/README.md).
File renamed without changes.
3 changes: 3 additions & 0 deletions calibration_scripts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Runcards

The following folder contains examples of Qibocal scripts.
File renamed without changes.
File renamed without changes.
39 changes: 39 additions & 0 deletions doc/dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Qibocal Roadmap

### High Priority
#### Single qubit

- Rabi and flipping to calibrate pi/2 rotations (https://web.physics.ucsb.edu/~martinisgroup/theses/Chen2018.pdf par. 5.9)
- Kernels for integration
- Drag with detuning (https://arxiv.org/pdf/1904.06560)
- Cross-entropy benchmarking
- SNR in spectroscopies and SNR in the IQ plane
https://dsp.stackexchange.com/questions/24372/what-is-the-connection-between-analog-signal-to-noise-ratio-and-signal-to-noise.
https://arxiv.org/pdf/2106.06173.pdf
- Improve readout amplitude optimization with the outliers probability
(https://escholarship.org/content/qt0g29b4p0/qt0g29b4p0.pdf?t=prk0gj)
- Cryoscope (https://arxiv.org/pdf/1907.04818, https://github.com/qua-platform/qua-libs/blob/main/Quantum-Control-Applications/Superconducting/Single-Flux-Tunable-Transmon/Use%20Case%201%20-%20Paraoanu%20Lab%20-%20Cryoscope/readme.md)
- Optimal control with randomize benchmarking (https://arxiv.org/pdf/1403.0035)

#### Two qubits

- Cross resonance gates (https://journals.aps.org/prb/abstract/10.1103/PhysRevB.81.134507)
- SNZ / Martini Ansatz (https://arxiv.org/pdf/2008.07411 https://arxiv.org/pdf/1402.5467)
- Improve and test coupler routines
- Measure ZZ coupling in couplers (flux amplitude vs coupling) (Manenti Motta, par. 14.8.4)
- Improve and test iSWAP implementation

### Low Priority
#### Single Qubit

- Calibrate the other qubit states
- Carr-Purcell-Meiboom_Gill sequence
- Explore cosine pulse as X pulse (https://web.physics.ucsb.edu/~martinisgroup/theses/Chen2018.pdf par. 5.4)
- Active reset
- Measurement tomography https://arxiv.org/pdf/1310.6448.pdf
- XY-Z timing
(https://escholarship.org/content/qt0g29b4p0/qt0g29b4p0.pdf?t=prk0gj par. 5.10)
- Quantum volume
- Gate Set Tomography
- Process Tomography
- Study Qubit AC-Stark effect
2 changes: 0 additions & 2 deletions doc/source/getting-started/example.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ presented in :ref:`runcard`, we can use this runcard.
power_level: high
nshots: 1024
More examples of runcards are available on `Github <https://github.com/qiboteam/qibocal/tree/main/runcards>`_ .

Run the routine
^^^^^^^^^^^^^^^

Expand Down
Binary file added doc/source/protocols/chevron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions doc/source/protocols/chevron.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Chevron
=======

Parameters
^^^^^^^^^^

.. autoclass::
qibocal.protocols.two_qubit_interaction.chevron.chevron.ChevronParameters
:noindex:

Example
^^^^^^^

Below is an example runcard for this experiment.

.. code-block:: yaml
- id: chevron
operation: chevron
parameters:
amplitude_max_factor: 1.1
amplitude_min_factor: 0.9
amplitude_step_factor: 0.01
duration_max: 51
duration_min: 4
duration_step: 2
The expected output is the following:

.. image:: chevron.png
Binary file added doc/source/protocols/coupler/chevron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions doc/source/protocols/coupler/chevron.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Coupler Chevron
===============

Parameters
^^^^^^^^^^

.. autoclass::
qibocal.protocols.two_qubit_interaction.chevron.chevron.ChevronParameters
:noindex:


Example
^^^^^^^

Below is an example runcard for this experiment.

.. code-block:: yaml
- id: coupler chevron
operation: coupler_chevron
parameters:
amplitude_max_factor: 1.5
amplitude_min_factor: 0.4
amplitude_step_factor: 0.005
duration_max: 100
duration_min: 10
duration_step: 2
native: CZ
nshots: 256
relaxation_time: 100000
The expected output is the following:

.. image:: chevron.png
4 changes: 4 additions & 0 deletions doc/source/protocols/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,8 @@ In this section we introduce the basics of all protocols supported by ``qibocal`
avoided_crossing
readout_optimization
standard_rb
chevron
virtual_z
state_tomographies
coupler/chevron
references
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.qubit_spectroscopy.QubitSpectroscopyParameters

:noindex:

How to execute a qubit spectroscopy experiment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -96,6 +96,7 @@ Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.qubit_spectroscopy_ef.QubitSpectroscopyEFParameters
:noindex:

How to execute a qubit spectroscopy experiment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
40 changes: 40 additions & 0 deletions doc/source/protocols/ramsey/ramsey.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.ramsey.ramsey.RamseyParameters
:noindex:


Example
Expand Down Expand Up @@ -80,6 +81,7 @@ Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.ramsey.ramsey_signal.RamseySignalParameters
:noindex:

Example
^^^^^^^
Expand All @@ -99,6 +101,44 @@ Example

Note that in this case error bars will not be provided.


Measuring the ZZ coupling with a Ramsey experiment
---------------------------------------------------

By repeating the Ramsey experiment while putting one of the neighbor qubits in
state :math:`\ket{1}` we can have an estimate on the ZZ coupling :math:`\zeta`.
The ZZ coupling :math:`\zeta` is a residual interaction which leads to shifts in
the frequency of the qubit when one of the neighbor is in the excited state.
Given that through a Ramsey experiment we can measure carefully the frequency of the qubit,
by comparing the outcome of a standard Ramsey experiment with the outcome when one of the neighbor
qubit is excited we can infer the ZZ coupling term :math:`\zeta`. For superconducting platforms
without tunable couplers such terms is expected to be of the order of a few hundred kHz.

Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.ramsey.ramsey_zz.RamseyZZParameters
:noindex:


Example
^^^^^^^

.. code-block:: yaml
- id: ramsey zz
operation: ramsey_zz
parameters:
delay_between_pulses_end: 2000
delay_between_pulses_start: 10
delay_between_pulses_step: 50
detuning: 500000
nshots: 1024
target_qubit: D1
.. image:: ramsey_zz.png

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

Expand Down
Binary file added doc/source/protocols/ramsey/ramsey_zz.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions doc/source/protocols/state_tomographies.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
State Tomographies
==================

Parameters
^^^^^^^^^^

.. autoclass::
qibocal.protocols.state_tomography.StateTomographyParameters
:noindex:

Example
^^^^^^^

Below is an example runcard for this experiment.

.. code-block:: yaml
- id: state_tomography
operation: state_tomography
parameters:
nshots: 1024
relaxation_time: 200000
The expected output is the following:

.. image:: state_tomography.png


Qibocal also provides two qubit state tomography.

.. code-block:: yaml
- id: tomography
operation: two_qubit_state_tomography
parameters:
nshots: 5000
The report will look like the following.

.. image:: two_state_tomography.png
Binary file added doc/source/protocols/state_tomography.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/two_state_tomography.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/virtual_z.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions doc/source/protocols/virtual_z.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Virtual Z
=========

Parameters
^^^^^^^^^^

.. autoclass::
qibocal.protocols.two_qubit_interaction.virtual_z_phases.VirtualZPhasesParameters
:noindex:

Example
^^^^^^^

Below is an example runcard for this experiment.

.. code-block:: yaml
- id: cz
operation: cz_virtualz
parameters:
dt: 0
flux_pulse_duration: 70
theta_end: 6.5
theta_start: 0
theta_step: 0.5
The expected output is the following:

.. image:: virtual_z.png
2 changes: 0 additions & 2 deletions doc/source/tutorials/basic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ Basic examples

In this section we are going to explain briefly how to perform
the calibration of single qubit devices.
All runcards that are going to be used are available
`here <https://github.com/qiboteam/qibocal/tree/main/runcards/calibration_tutorial>`_.

Dummy guide for single qubit calibration
----------------------------------------
Expand Down
Loading

0 comments on commit 1e6d06c

Please sign in to comment.