Skip to content

Commit

Permalink
Merge branch 'master' into rename_qubits_connectivity
Browse files Browse the repository at this point in the history
  • Loading branch information
renatomello committed Feb 14, 2024
2 parents ee34da2 + 4b4e6c3 commit ac353e2
Show file tree
Hide file tree
Showing 28 changed files with 2,836 additions and 4,883 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy docs
name: docs

on:
workflow_dispatch:
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
![Logo](https://github.com/qiboteam/qibo/blob/master/doc/source/_static/qibo_logo_dark.svg)

![Tests](https://github.com/qiboteam/qibo/workflows/Tests/badge.svg)
[![codecov](https://codecov.io/gh/qiboteam/qibo/branch/master/graph/badge.svg?token=1EKZKVEVX0)](https://codecov.io/gh/qiboteam/qibo)
[![DOI](https://zenodo.org/badge/241307936.svg)](https://zenodo.org/badge/latestdoi/241307936)
[![Matrix](https://img.shields.io/matrix/qibo%3Amatrix.org?logo=matrix)](https://matrix.to/#/#qibo:matrix.org)
![PyPI - Version](https://img.shields.io/pypi/v/qibo)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/qibo)

Qibo is an open-source full stack API for quantum simulation and quantum hardware control.

Expand All @@ -15,6 +14,8 @@ Some of the key features of Qibo are:

## Documentation

[![docs](https://github.com/qiboteam/qibo/actions/workflows/publish.yml/badge.svg)](https://qibo.science/qibo/stable/)

Qibo documentation is available [here](https://qibo.science).

## Minimum Working Examples
Expand Down Expand Up @@ -49,14 +50,16 @@ result = c(nshots=100)
In both cases, the simulation will run in a single device CPU or GPU in double precision `complex128`.

## Citation policy
[![arXiv](https://img.shields.io/badge/arXiv-2009.01845-b31b1b.svg)](https://arxiv.org/abs/2009.01845)
[![DOI](https://zenodo.org/badge/241307936.svg)](https://zenodo.org/badge/latestdoi/241307936)

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

## Contacts

To get in touch with the community and the developers, consider joining the Qibo workspace on Matrix:

https://matrix.to/#/#qibo:matrix.org
[![Matrix](https://img.shields.io/matrix/qibo%3Amatrix.org?logo=matrix)](https://matrix.to/#/#qibo:matrix.org)

## Supporters and collaborators

Expand Down
187 changes: 128 additions & 59 deletions doc/source/api-reference/qibo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1616,22 +1616,10 @@ The destabilizers can be extracted analogously with :meth:`qibo.quantum_info.cli
:member-order: bysource


Metrics
^^^^^^^

Set of functions that are used to calculate metrics of states, (pseudo-)distance measures
between states, and distance measures between quantum channels.

Purity
""""""

.. autofunction:: qibo.quantum_info.purity


Impurity
""""""""
Entanglement measures
^^^^^^^^^^^^^^^^^^^^^

.. autofunction:: qibo.quantum_info.impurity
Set of functions to calculate entanglement measures.


Concurrence
Expand All @@ -1646,45 +1634,149 @@ Entanglement of formation
.. autofunction:: qibo.quantum_info.entanglement_of_formation


Entropy
"""""""
Entanglement fidelity
"""""""""""""""""""""

.. autofunction:: qibo.quantum_info.entanglement_fidelity


Meyer-Wallach entanglement
""""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.meyer_wallach_entanglement


Entanglement capability
"""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.entangling_capability


Entropy measures
^^^^^^^^^^^^^^^^

Set of functions to calculate entropy measures.


Shannon entropy
"""""""""""""""

.. autofunction:: qibo.quantum_info.shannon_entropy


Classical relative entropy
""""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.classical_relative_entropy


.. autofunction:: qibo.quantum_info.entropy
Classical Rényi entropy
"""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.classical_renyi_entropy


Classical Rényi relative entropy
""""""""""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.classical_relative_renyi_entropy


Classical Tsallis entropy
"""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.classical_tsallis_entropy


von Neumann entropy
"""""""""""""""""""

.. autofunction:: qibo.quantum_info.von_neumann_entropy

.. note::
``validate`` flag allows the user to choose if the function will check if input
``state`` is Hermitian or not. Default option is ``validate=False``, i.e. the
assumption of Hermiticity, because it is faster and, more importantly,
the functions are intended to be used on Hermitian inputs. When ``validate=True``
``check_hermitian`` flag allows the user to choose if the function will check if input
``state`` is Hermitian or not. Default option is ``check_hermitian=False``, i.e. the
assumption of Hermiticity. This is faster and, more importantly,
this function are intended to be used on Hermitian inputs. When ``check_hermitian=True``
and ``state`` is non-Hermitian, an error will be raised when using `cupy` backend.


Relative von Neumann entropy
""""""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.relative_von_neumann_entropy

.. note::
``check_hermitian`` flag allows the user to choose if the function will check if input
``state`` is Hermitian or not. Default option is ``check_hermitian=False``, i.e. the
assumption of Hermiticity. This is faster and, more importantly,
this function are intended to be used on Hermitian inputs. When ``check_hermitian=True``
and either ``state`` or ``target`` is non-Hermitian,
an error will be raised when using `cupy` backend.


Rényi entropy
"""""""""""""

.. autofunction:: qibo.quantum_info.renyi_entropy


Relative Rényi entropy
""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.relative_renyi_entropy


Tsallis entropy
"""""""""""""""

.. autofunction:: qibo.quantum_info.tsallis_entropy


Entanglement entropy
""""""""""""""""""""

.. autofunction:: qibo.quantum_info.entanglement_entropy

.. note::
``validate`` flag allows the user to choose if the function will check if
``check_hermitian`` flag allows the user to choose if the function will check if
the reduced density matrix resulting from tracing out ``bipartition`` from input
``state`` is Hermitian or not. Default option is ``validate=False``, i.e. the
assumption of Hermiticity, because it is faster and, more importantly,
the functions are intended to be used on Hermitian inputs. When ``validate=True``
``state`` is Hermitian or not. Default option is ``check_hermitian=False``, i.e. the
assumption of Hermiticity. This is faster and, more importantly,
this function are intended to be used on Hermitian inputs. When ``check_hermitian=True``
and the reduced density matrix is non-Hermitian, an error will be raised
when using `cupy` backend.


Metrics
^^^^^^^

Set of functions that are used to calculate metrics of states, (pseudo-)distance measures
between states, and distance measures between quantum channels.

Purity
""""""

.. autofunction:: qibo.quantum_info.purity


Impurity
""""""""

.. autofunction:: qibo.quantum_info.impurity


Trace distance
""""""""""""""

.. autofunction:: qibo.quantum_info.trace_distance

.. note::
``validate`` flag allows the user to choose if the function will check if difference
``check_hermitian`` flag allows the user to choose if the function will check if difference
between inputs, ``state - target``, is Hermitian or not. Default option is
``validate=False``, i.e. the assumption of Hermiticity, because it is faster and,
``check_hermitian=False``, i.e. the assumption of Hermiticity, because it is faster and,
more importantly, the functions are intended to be used on Hermitian inputs.
When ``validate=True`` and ``state - target`` is non-Hermitian, an error will be
When ``check_hermitian=True`` and ``state - target`` is non-Hermitian, an error will be
raised when using `cupy` backend.


Expand Down Expand Up @@ -1718,12 +1810,6 @@ Bures distance
.. autofunction:: qibo.quantum_info.bures_distance


Entanglement fidelity
"""""""""""""""""""""

.. autofunction:: qibo.quantum_info.entanglement_fidelity


Process fidelity
""""""""""""""""

Expand Down Expand Up @@ -1754,18 +1840,6 @@ Diamond Norm
.. autofunction:: qibo.quantum_info.diamond_norm


Meyer-Wallach entanglement
""""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.meyer_wallach_entanglement


Entanglement capability
"""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.entangling_capability


Expressibility of parameterized quantum circuits
""""""""""""""""""""""""""""""""""""""""""""""""

Expand All @@ -1781,6 +1855,13 @@ Frame Potential
Quantum Networks
^^^^^^^^^^^^^^^^

Quantum network is an object that unifies the representation of quantum states, channels,
observables, and higher-order quantum operators.

For more details, see G. Chiribella *et al.*, *Theoretical framework for quantum networks*,
`Physical Review A 80.2 (2009): 022339
<https://journals.aps.org/pra/abstract/10.1103/PhysRevA.80.022339>`_.

.. autoclass:: qibo.quantum_info.quantum_networks.QuantumNetwork
:members:
:member-order: bysource
Expand Down Expand Up @@ -2176,18 +2257,6 @@ Hadamard Transform
.. autofunction:: qibo.quantum_info.hadamard_transform


Shannon entropy
"""""""""""""""

.. autofunction:: qibo.quantum_info.shannon_entropy


Total Variation distance
""""""""""""""""""""""""

.. autofunction:: qibo.quantum_info.total_variation_distance


Hellinger distance
""""""""""""""""""

Expand Down
22 changes: 21 additions & 1 deletion doc/source/appendix/citing-qibo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,28 @@ Peer-Reviewed Articles
* S. Efthymiou, A. Orgaz-Fuertes, R. Carobene, J. Cereijo, A. Pasquale, S.
Ramos-Calderer, S. Bordoni, D. Fuentes-Ruiz, A. Candido, E. Pedicillo, M.
Robbiati, Y.P. Tan, J. Wilkens, I. Roth, J.I. Latorre, S. Carrazza, *Qibolab:
an open-source hybrid quantum operating system* (2023), (`arXiv:2308.06313`_).
an open-source hybrid quantum operating system* (2023),
`doi:10.22331/q-2024-02-12-1247`_, (`arXiv:2308.06313`_).

In *BibTeX* format:

.. code-block:: text
@article{qibolab_paper,
doi = {10.22331/q-2024-02-12-1247},
url = {https://doi.org/10.22331/q-2024-02-12-1247},
title = {Qibolab: an open-source hybrid quantum operating system},
author = {Efthymiou, Stavros and Orgaz-Fuertes, Alvaro and Carobene, Rodolfo and Cereijo, Juan and Pasquale, Andrea and Ramos-Calderer, Sergi and Bordoni, Simone and Fuentes-Ruiz, David and Candido, Alessandro and Pedicillo, Edoardo and Robbiati, Matteo and Tan, Yuanzheng Paul and Wilkens, Jadwiga and Roth, Ingo and Latorre, Jos{\'{e}} Ignacio and Carrazza, Stefano},
journal = {{Quantum}},
issn = {2521-327X},
publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
volume = {8},
pages = {1247},
month = feb,
year = {2024}
}
.. _`doi:10.22331/q-2024-02-12-1247`: https://doi.org/10.22331/q-2024-02-12-1247
.. _`arXiv:2308.06313`: https://arxiv.org/abs/2308.06313

* R. Carobene, A. Candido, J. Serrano, A.O-Fuertes, A. Giachero, S. Carrazza,
Expand Down
Loading

0 comments on commit ac353e2

Please sign in to comment.