This GitHub page is associated to the following manuscript
- Manuscript: 📃 Algebra of Nonlocal Boxes and the Collapse of Communication Complexity
- Authors: 👤 Pierre Botteron, 👤 Anne Broadbent, 👤 Reda Chhaibi, 👤 Ion Nechita, and 👤 Clément Pellegrini.
./
|__ nonlocal-boxes/: Core of package.
| |-- `__init__.py`: Init file.
| |-- `evaluate.py`: Package of the function to evaluate, using PyTorch.
| |-- `utils.py`: Package of the constants, using PyTorch.
| |-- `Vectorization-of-the-code.pdf`: Explanations of the vectorization.
|__ ipynb/: Contains Python notebooks which demonstrate how the code works.
|-- `README.md`: This file.
- Create new virtual environment
.venv_boxes
:
$ python3 -m venv .venv_boxes
- If needed:
$ sudo apt install python3-venv
- Activate virtual environment:
$ source .venv_boxes/bin/activate
- Upgrade pip, wheel and setuptools
$ pip install --upgrade pip
$ pip install --upgrade setuptools
$ pip install wheel
- Install the
non_local_boxes
package.
$ python setup.py develop
- (Optional) In order to use Jupyter with this virtual environment .venv_boxes (see https://janakiev.com/blog/jupyter-virtual-envs/ for details):
$ pip install ipykernel
$ python -m ipykernel install --user --name=.venv_boxes
There is a variable nb_columns
in non_local_boxes/evaluate.py
that can be set depending on the algo that is running:
- for optimisation codes, set it to a large number, e.g. 1000;
- for evaluation codes, set it to 1. The bigger that number is, the more precise is the optimisation but the longer is the run time.
@article{Botteron2024algebraofnonlocal,
doi = {10.22331/q-2024-07-10-1402},
url = {https://doi.org/10.22331/q-2024-07-10-1402},
title = {Algebra of {N}onlocal {B}oxes and the {C}ollapse of {C}ommunication {C}omplexity},
author = {Botteron, Pierre and Broadbent, Anne and Chhaibi, Reda and Nechita, Ion and Pellegrini, Cl{\'{e}}ment},
journal = {{Quantum}},
issn = {2521-327X},
volume = {8},
pages = {1402},
month = jul,
year = {2024}
}