Skip to content

Computational appendix of npj Quantum Inf. 10, 117 (2024) [arXiv:2403.02376]

License

Notifications You must be signed in to change notification settings

apozas/network-certification

Repository files navigation

DOI

Andrés Ulibarrena, Jonathan W. Webb, Alexander Pickston, Joseph Ho, Alessandro Fedrizzi, and Alejandro Pozas-Kerstjens

This is a repository containing the computational appendix of the article "Guarantees on the structure of experimental quantum networks. Andrés Ulibarrena, Jonathan W. Webb, Alexander Pickston, Joseph Ho, Alessandro Fedrizzi, and Alejandro Pozas-Kerstjens. npj Quantum Inf. 10, 117 (2024) (arXiv:2403.02376)." It provides the codes for obtaining the results depicted in the figures in the manuscript, and the Bell-like inequalities found.

The code is written in Python.

Libraries required:

  • inflation (and its requirements) for setting up and solving the compatibility problems.
  • matplotlib and seaborn for plots.
  • numpy for math operations.
  • pandas for operations with dataframes in the reading and writing of .csv files.
  • qutip for operations with quantum states and measurements.
  • sympy and symengine for symbolic computations. Sympy is needed for the inflation codes, while symengine is faster when it comes to symbolic manipulation.
  • tqdm for progress bars.
  • csv, itertools, numbers, os, pickle.

Files and folders:

How to read the inequalities

Each inequality is stored in a separate .csv file, with 13 columns each. The structure is the following:

  • Column 1: coefficient of the term.

  • Columns 2-7: outputs of the measurements performed by the parties.

  • Columns 8-13: inputs of the measurements performed by the parties.

The value -1 in the columns represents the fact that the party does not play a role in the corresponding term. For example, the term is represented by the values -1, 1, 0, -1, 0, -1, -1, 1, -1, 0, -1, -1 in columns 2-13.

Rows are arranged by blocks. Each block begins in a row with a nonempty first column, and finishes in the row before the next row with a nonempty first column. Each row represents a probability, and all probabilities in the block are multiplied. For example, the block

-0.5 -1 0 0 0 -1 -1 -1 0 1 0 -1 -1
0 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1
-1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

corresponds to the term . The inequality is built by summing all the blocks, and it witnesses incompatibility if the evaluation on a given distribution is negative. The functions import_ineq, read_ineq and eval_ineq in utils.py can be used for manipulating the inequalities and give them a human-readable form.

Citing

If you would like to cite this work, please use the following format:

A. Ulibarrena, J. W. Webb, A. Pickston, J. Ho, A. Fedrizzi, and A. Pozas-Kerstjens, Guarantees on the structure of experimental quantum networks, npj Quantum Inf. 10, 117 (2024), arXiv:2403.02376

@article{ulibarrena2024guarantees,
  title = {Guarantees on the structure of experimental quantum networks},
  author = {Ulibarrena, Andrés and Webb, Jonathan W. and Pickston, Alexander and Ho, Joseph and Fedrizzi, Alessandro and Pozas-Kerstjens, Alejandro},
  journal = {npj Quantum Inf.},
  volume = {10},
  pages = {117},
  doi = {10.1038/s41534-024-00911-z},
  url = {https://www.nature.com/articles/s41534-024-00911-z},
  archivePrefix = {arXiv},
  eprint = {2403.02376},
  year = {2024}
}