https://github.com/vprusso/antidist
Companion code for arXiv: 2206.08313
https://github.com/vprusso/antidist
Last synced: 6 months ago
JSON representation
Companion code for arXiv: 2206.08313
- Host: GitHub
- URL: https://github.com/vprusso/antidist
- Owner: vprusso
- Created: 2021-11-05T01:40:08.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-16T17:33:41.000Z (over 2 years ago)
- Last Synced: 2025-01-28T20:42:29.545Z (8 months ago)
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# antidist
The `antidist` package is a Python toolkit for studying the
antidistinguishability conjecture. This repo contains companion code for the
arXiv:2206.08313 note.This code provides a counterexample to the conjecture, but it can also be used
to study antidistinguishability more broadly.### Antidistinguishability Conjecture
The antidistinguishability conjecture was originally stated in [1].
Specifically, from Appendix-C of [1], the conjecture is stated as follows:> Let |Ψ_1>, ..., |Ψ_d> be d pure states. If |<Ψ_i|Ψ_j>| ≤ (d − 2)/(d − 1) for all i != j, then the states are antidistinguishable.
The conjecture trivially holds for d = 2 and it also holds for d = 3 based on
[2].The conjecture does not hold for d = 4 as shown in [4].
### Installing
Python 3.9+ is required along with the `poetry` program. To install a virtual
environment with the package along with all dependencies installed, one may run
the following command:```
poetry install
```To invoke the virtual environment in the shell, one may run:
```
poetry shell
```
### UsageThe `main.py` script may be run with command line arguments specifying the
dimension of the random pure states as well as the number of random instances to
run.For instance, if we wish to run 10 random tests when the dimension of the pure
states are equal to 5, we would run the following:```
>>> python main.py -d 5 -i 10
Iteration 1 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 2 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 3 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 4 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 5 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 6 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 7 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 8 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 9 out of 10. Is antidistinguishable: True -- Is violated: False
Iteration 10 out of 10. Is antidistinguishable: True -- Is violated: False
```### Examples
The counterexample shown in [4] can be invoked as follows:
```
>>> python src/counter_example.py
Are the states antidistinguishable: False
Is inequality satisfied: True
Is conjecture violated: True
```### References
```
[1] Havlíček, Vojtěch, and Barrett, Jonathan,
"Simple communication complexity separation from quantum state antidistinguishability",
Physical Review Research 2.1 (2020): 013326.
arXiv:1911.01927[2] Caves, Carlton, Fuchs, Christopher, Schack, Rüdiger,
"Conditions for compatibility of quantum-state assignments",
Physical Review A 66.6 (2002): 062111.
arXiv:quant-ph/0206110[3] Bandyopadhyay, Somshubhro, Jain, Rahul, Oppenheim, Jonathan,
Perry, Christopher,
"Conclusive exclusion of quantum states",
Physical Review A 89.2 (2014): 022336.
arXiv:1306.4683[4] Russo, Vincent and Sikora, Jamie
"A note on the inner products of pure states and their antidistinguishability",
arXiv:2206.08313
```