Getting started¶
Warning
Efficiency 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).
Note
On macOS, the cvxopt dependency (pulled in by picos) may need to be
built from source if a pre-built wheel is not available for your Python
version and macOS version. If you encounter a build error mentioning
umfpack.h, install the required system library with:
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 uv,
which keeps dependencies in sync with the project\'s lockfile. An
editable version of |toqito⟩ can be installed through the instructions
provided in the Contributing Guide.
If you prefer to not install an editable version of |toqito⟩, use:
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:
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: