Simulation de EPR-Bell avec 6 opérateurs indépendants

Décomposition de la simulation en sous-simulations

Au lieu de reprendre les anciennes simulations synthétiques de 2013, nous allons simuler chaque dispositif avec 6 opérateurs distincts qui éviteront de communiquer entre 2 manipulations.

Chacun recevra en entrée 0 , 1 ou 2 éventuels fichiers et des paramètres et rendra en sortie un fichier de résultats vers un autre opérateur.

Tous les opérateurs se loguent sur le répertoire  du programme qui contient notamment data/  et bin/ .

Opérateur 1 : Un producteur de paires intriquées

C’est la source des paires, il n’y a pas de fichier d’entrée mais la fonction prend en argument le nombre de variables communes au départ.

./bin/qgenHid 10000000 data/hid

Bien entendu, chaque exécution de la commande produit un fichier différent.

Le fichier contiendra 10000000 lignes pour 10000000 paires implicites symbolisées par la liste de variables cachées de la ligne. Celles ci sont générées aléatoirement et uniformément sur une plage de 360 unités ou ce qu’on veut pour peu d’ajuster les scripts. Il est tout à fait possible de générer des séquences originales aléatoires. Nous l’allons fait aussi avec des sources d’origines physiques à partir de relevés annuels de parasites de hardwares, de séquences déduites de publication de relevés quantiques produits en laboratoire et de données astronomiques.

L’opérateur 1 devra envoyer le fichier data/hid aux opérateurs 4 et 5 par des envois séparés.

Opérateurs 2 et 3 : Deux calculateurs de rotations aléatoires

En argument , le nombre de lignes uniquement

./bin/qRotat 10000000 data/bob.rot

et l’autre

./bin/qRotat 10000000 data/alice.rot

Bien entendu, chaque exécution de la commande produit un fichier différent.

Les opérateurs 2 et 3 devront envoyer le fichier généré, data/bob.rot et data/alice.rot , respectivement aux opérateurs 4 et 5.

 

Opérateurs 4 et 5 : Deux polariseurs

Les opérateurs 4 et 5 ont donc chacun reçu une copie du fichier de variables communes de l’opérateur 1 et un fichier de rotations des opérateurs 2 ou 3.

La fonction prendra en argument ces fichiers et des paramètres globaux qu’il partagent de fait :
– le nombre de portes de la barrière de potentiel,
– le nombre maximum de tentatives pour la passer
– et un paramètre de variabilité de la loi de transmission.

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

et l’autre

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

Les fichiers de sortie contiendront pour chaque ligne l’angle de rotation du polariseur et le résultat -1 , 0 ou 1 de sa fonction de traversée.

Bien entendu, chaque exécution de la commande produit un fichier différent.

Les opérateurs 4 et 5 devront envoyer leurs fichiers  data/bob.polarized ou  data/alice.polarized à l’opérateur 6.

Il n’est pas du tout utile que cela soit coordonné d’une quelconque façon.

Opérateur 6 : Un comparateur et totalisateur de coïncidences

Il prendra en arguments les 2 fichiers reçus et produira le fichier de l’analyse statistique des corrélations dans un fichier compatible avec un tableur.

Normalement, ils seront de la même combinaison de paramètres mais rien n’interdit d’analyser l’impact de variations dans des explorations ultérieures.

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

La fonction constate les corrélations ligne par ligne et produit :
– pour chaque différence d’angles des polariseurs , les fréquences observées comparées au cos²,
– et pour chaque angle, les fréquences de + et – comparées à leur probabilité quantique de 1/2.

Finalisation

Il est temps d’importer data/alice.bob.csv dans un tableur ou autre pour l’analyser et créer des graphes à votre convenance. Les colonnes intéressantes sont I,J et K  . Les valeurs de Bell et CSCH à comparer en 2 sont en bas. Les tableaux incluent les valeurs nécessaires aux calculs , y compris \(E_{CSCH}\) .

En général, une expérience fait le bilan de ce qu’elle détecte. Il faut faire de même.

 

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*