EPR-Bell Simulation with 6 independent operators

Instead of a synthetic simulation, let’s simulate each device with 6 distinct and well-separated operators.

Each will get 1 or 2 possible files and parameters and will output a result file to another operator.

All operators log into the program folder, which contains data/ and bin/ .

Operator 1: the source

It is the pairs source ; there is no input file but 2 arguments , the number of common variables and the output file.

./bin/qgenHid 10000000 data/hid

Of course, each command run produces a different file.

The file will contain 10000000 rows for every 10000000 implicit pairs symbolized by the list of hidden variables in the row. These are generated randomly and evenly over a range of 360 units or what you want for little to adjust the scripts. It is quite possible to generate random original sequences. We did this with physical origins sources, like annual records of hardware parasites, sequences from laboratories and astronomical data!

Operator 1 should send the data/hid file to operators 4 and 5 by separate mailings.

Operators 2 e& 3 : Two random rotations producers

number of lines and output file and for each arm

./bin/qRotat 10000000 data/bob.rot

and the other

./bin/qRotat 10000000 data/alice.rot

Of course, each command run produces a different file.

Operators 2 & 3 should send data/bob.rot and data/alice.rot respectively to operators 4 and 5.

Operators 4 & 5 : Deux polarizers

The function will take as argument the previous output files and the global parameters that they actually share:
– the number of doors of the potential barrier,
– the maximum number of attempts to pass it
– and a parameter of variability of the transmission law.

./bin/qPolarize 2 7 20 data/hid data/alice.rot data/alice.polarized

and the other

./bin/qPolarize 2 7 20 data/hid data/bob.rot data/bob.polarized

The output files will contain the rotation angle of the polarizer and the result -1, 0 or 1 of its crossing function for each line.

Of course, each command run produces a different file.

Operators 4 & 5 should send data/bob.polarized and data/alice.polarized respectively to operator 6.

There is no need to be coordinated in any way.

Operator 6: A comparator and coincidence counter

It will take in arguments the 2 files received and will produce the file of the correlations statistical analysis in a file compatible with a spreadsheet.

Normally they will be of the same combination of parameters but nothing prohibits analyzing the impact of variations in subsequent explorations.

./bin/qStat data/alice.polarized data/bob.polarized data/alice.bob.csv

Add the comma option if you are using a locale with a comma as decimal separator.

The function computes the correlations line by line and outputs :
– for each difference of angles of the polarizers, the observed frequencies compared to the cos²,
– and for each angle, the frequencies of + and – compared to their quantum probability of 1/2.


It is time to import data/alice.bob.csv into a spreadsheet ( or any dedicated tool from your own ) to analyze it and create graphs at your convenience. The columns of interest are I, J and K. The values of Bell and CSCH to be compared in 2 are at the bottom. The tables include values required for calculations, including \( E_ {CSCH} \).

In general, an experiment records what it detects. We must do the same.

five or six entangled checkers


Be the first to review

Leave a Review