The toqito
package is an open-source Python library for studying various
objects in quantum information, namely, states, channels, and measurements.
Specifically, toqito
focuses on providing numerical tools to study problems
about entanglement theory, nonlocal games, matrix analysis, and other
aspects of quantum information that are often associated with computer science.
toqito
aims to fill the needs of quantum information researchers who want
numerical and computational tools for manipulating quantum states,
measurements, and channels. It can also be used as a tool to enhance the
experience of students and instructors in classes about quantum
information.
toqito is available via PyPi for Linux, and macOS, with support for Python 3.10 to 3.12.
(venv) $ pip install toqito
The following code gives an example on the usage:
# Calculate the classical and quantum value of the CHSH game.
import numpy as np
from toqito.nonlocal_games.xor_game import XORGame
# The probability matrix.
prob_mat = np.array([[1/4, 1/4], [1/4, 1/4]])
# The predicate matrix.
pred_mat = np.array([[0, 0], [0, 1]])
# Define CHSH game from matrices.
chsh = XORGame(prob_mat, pred_mat)
chsh.classical_value()
# 0.75
chsh.quantum_value()
# 0.8535533
Detailed documentation on all available methods, options, and input formats is available at ReadTheDocs.
Full documentation along with specific examples and tutorials are provided here: https://toqito.readthedocs.io/.
More information can also be found on the following toqito homepage.
Chat with us in our toqito
channel on Discord.
The pytest
module is used for testing. To run the suite of tests for toqito
,
run the following command in the root directory of this project.
pytest --cov-report term-missing --cov=toqito
You can cite toqito
using the following DOI:
10.5281/zenodo.4743211
If you are using the toqito
software package in research work, please include
an explicit mention of toqito
in your publication. Something along the lines
of:
To solve problem "X" we used `toqito`; a package for studying certain
aspects of quantum information.
A BibTeX entry that you can use to cite toqito
is provided here:
@misc{toqito,
author = {Vincent Russo},
title = {toqito: A {P}ython toolkit for quantum information, version 1.0.0},
howpublished = {\url{https://github.com/vprusso/toqito}},
month = May,
year = 2021,
doi = {10.5281/zenodo.4743211}
}
The toqito
project has been used or referenced in the following works:
-
Bandyopadhyay, Somshubhro and Russo, Vincent "Distinguishing a maximally entangled basis using LOCC and shared entanglement", (2024).
-
Tavakoli, Armin and Pozas-Kerstjens, Alejandro and Brown, Peter and Araújo, Mateus "Semidefinite programming relaxations for quantum correlations", (2023).
-
Johnston, Nathaniel and Russo, Vincent and Sikora, Jamie "Tight bounds for antidistinguishability and circulant sets of pure quantum states", (2023).
-
Pelofske, Elijah and Bartschi, Andreas and Eidenbenz, Stephan and Garcia, Bryan and Kiefer, Boris "Probing Quantum Telecloning on Superconducting Quantum Processors", (2023).
-
Philip, Aby and Rethinasamy, Soorya and Russo, Vincent and Wilde, Mark. "Quantum Steering Algorithm for Estimating Fidelity of Separability.", Quantum 8, 1366, (2023).
-
Miszczak, Jarosław Adam. "Symbolic quantum programming for supporting applications of quantum computing technologies.", (2023).
-
Casalé, Balthazar and Di Molfetta, Giuseppe and Anthoine, Sandrine and Kadri, Hachem. "Large-Scale Quantum Separability Through a Reproducible Machine Learning Lens.", (2023).
-
Russo, Vincent and Sikora, Jamie "Inner products of pure states and their antidistinguishability", Physical Review A, Vol. 107, No. 3, (2023).
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
A detailed overview of how to contribute can be found in the contributing guide.