Getting started
Warning
Efficacy of toqito has not been verified on Windows.
Installing
1. Ensure you have Python 3.10 or greater installed on your machine or in a virtual environment (pyenv, pyenv tutorial).
2. Consider using a virtual environment.
You can also use pyenv with virtualenv to manage different Python versions.
3. The preferred way to install the toqito package is via poetry as it is a better dependency resolver
compared to pip. Currently, it would be better to avoid pip in installing toqito due to a slew
of known issues . But this involves installing an
editable version of toqito as described in the Contributing Guide.
If you prefer to not install an editable version of toqito, use:
(local_venv) pip install toqito
Above command will also install other additional dependencies for toqito.
The toqito module makes heavy use of the cvxpy module for solving various convex optimization problems
that naturally arise for certain problems in quantum information. The installation instructions for cvxpy may be found on
the project’s installation page. However these installation instructions
can be ignored as pip install toqito will also install cvxpy as a dependency.
Note
macOS already ships with BLAS and LAPACK installed by default under the Accelerate framework.
As a dependency for many of the solvers, you will need to ensure you have the BLAS and LAPACK
mathematical libraries installed on your machine. If you have numpy working on your machine
(installed as a toqito dependency), you already have these libraries on your machine. See NumPy docs. If you don’t,
BLAS and LAPACK can be installed using the following command:
(For Linux) sudo apt-get install -y libblas-dev liblapack-dev
The cvxpy module provides many different solvers to select from for solving SDPs. We tend to use the
SCS solver. Ensure that you have the scs Python module installed and built
for your machine. Again, this discussion can be ignored as pip install toqito will also install SCS as a
dependency.
Contributing
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
A detailed overview on how to contribute can be found in the Contributing Guide.
Reporting Issues
Please report any issues you encounter on GitHub.
Citing
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 = Mar,
year = 2021,
doi = {10.5281/zenodo.4743211}
}