Skip to content

Quantum calibration, characterization and validation module for Qibo.

License

Notifications You must be signed in to change notification settings

qiboteam/qibocal

 
 

Repository files navigation

Qibocal

codecov PyPI - Version PyPI - Python Version

Qibocal provides Quantum Characterization Validation and Verification protocols using Qibo and Qibolab.

Qibocal key features:

  • Declarative inputs using runcard.

  • Generation of a report.

Documentation

docs

Qibocal documentation is available here.

Installation

The package can be installed by source:

git clone https://github.com/qiboteam/qibocal.git
cd qibocal
pip install .

Developer instructions

For development make sure to install the package using poetry and to install the pre-commit hooks:

git clone https://github.com/qiboteam/qibocal.git
cd qibocal
poetry install
pre-commit install

Minimal working example

This section shows the steps to perform a resonator spectroscopy with Qibocal.

Write a runcard

A runcard contains all the essential information to run a specific task. For our purposes, we can use the following:

platform: tii1q

targets: [0]

- id: resonator spectroscopy high power
  operation: resonator_spectroscopy
  parameters:
    freq_width: 10_000_000
    freq_step: 500_000
    amplitude: 0.4
    power_level: high
    nshots: 1024
    relaxation_time: 5_000

How to run protocols

To run the protocols specified in the runcard, Qibocal uses the qq run command

qq run <runcard> -o <output_folder>

if <output_folder> is specified, the results will be saved in it, otherwise qq will automatically create a default folder containing the current date and the username.

Uploading reports to server

In order to upload the report to a centralized server, send to the server administrators your public ssh key (from the machine(s) you are planning to upload the report) and then use the qq upload <output_folder> command. This program will upload your report to the server and generate an unique URL.

Contributing

Contributions, issues and feature requests are welcome! Feel free to check GitHub issues

Citation policy

arXiv DOI

If you use the package please refer to the documentation for citation instructions

Ongoing development

A non-exhaustive list of possible protocols to be implemented in Qibocal is collected here.