Depuis que j'ai créé Qubits Tomography dans mes recherches de fin d'études, je vais vous expliquer comment l'utiliser. Le src peut être trouvé ici [https://github.com/outk/graduate_thesis). La théorie de la tomographie Qubit est écrite dans la thèse de fin d'études. (Si vous en avez envie, je vais également le résumer en Qiita.) J'ai également créé Qutrit Tomography, un système à trois niveaux. Si l'un de vos lecteurs fait de la tomographie Qudit, veuillez l'utiliser. De plus, les gens qui ne comprennent pas ce qu'ils disent sont gentils! Veuillez appuyer pour commenter. ()
À la suite de la simulation, vous pouvez obtenir quelque chose comme ça avec des graphiques 3D.
Copiez d'abord qubit_tomo.py sous votre répertoire de travail (projet). La structure des répertoires est la suivante.
.
└project
└qubit_tomo.py
À l'invite de commande
~\project>python qubit_tomo.py
Entrer.
------------------------------------------------------------
PLEASE ENTER NUMBER OF QUBITS
------------------------------------------------------------
>>
S'affiche, entrez le nombre de Qubits que vous souhaitez simuler. Cette fois, je vais essayer avec quatre. De plus, la base de mesure est telle que décrite dans la thèse de fin d'études. Si vous avez mesuré avec une autre base, réécrivez le code.
------------------------------------------------------------
PLEASE ENTER NUMBER OF QUBITS
------------------------------------------------------------
>>
4
------------------------------------------------------------
PLEASE ENTER PATH OF EXPERIMENTAL DATA DIRECTORY
LIKE THIS >> .\datadirectory
------------------------------------------------------------
>>
Ensuite, entrez le chemin du répertoire contenant les données expérimentales enregistrées dans le fichier txt. Même s'il existe plusieurs données expérimentales, elles seront toutes tomographiques. Cependant, la simulation ne se poursuivra pas si l'écran de dessin 3D reste affiché. Faites attention. Si les données expérimentales sont enregistrées comme suit, elles peuvent être spécifiées comme suit.
.
└project
|
├testdata
| |
| └test.txt
|
└qubit_tomo.py
------------------------------------------------------------
PLEASE ENTER PATH OF EXPERIMENTAL DATA DIRECTORY
LIKE THIS >> .\datadirectory
------------------------------------------------------------
>>
./testdata
Ensuite, entrez le nom du répertoire de destination de sortie du résultat du calcul. Tout va bien ici. Si rien n'est entré, ce sera "par défaut". Par exemple
------------------------------------------------------------
PLEASE ENTER NAME OF RESULT DIRECTORY
THE RESULT DATA WILL SAVED AT
'.\result\qubit\iterative(or poisson)\{ YOUR ENTED DIRECTORY NAME }\{ EXPERIMENTAL DATA FILE NAME }_result.txt'
IF EMPTY, THE NAME OF RESULT DIRECTORY IS 'default'
------------------------------------------------------------
>>
test
À ce stade, il vous sera demandé si vous souhaitez créer des données d'expérience simulées. Toutes les entrées autres que «oui» sont considérées comme «non». Les données pseudo-expérimentales sont générées aléatoirement le long de la distribution de Poisson avec le nombre de fois de chaque donnée expérimentale comme valeur attendue.
------------------------------------------------------------
PLEASE ENTER ANSWER WHETHER DO POISSON DISTRIBUTED SIMULATION
IF YOU DO, PLEASE ENTER 'yes'
IF YOU ENTER ANOTHER WORD OR EMPTY, YOUR ANSWER IS REGARED AS 'no'
------------------------------------------------------------
>>
yes
YOUR ANSWER IS: 'yes'
------------------------------------------------------------
PLEASE ENTER PATHS OF EXPERIMENTAL DATA
IF THERE ARE MULTIPLE DATA FILE YOU WANT TO TOMOGRAPHY,
ENTER ALL PATHS SEPARATED WITH SPACE.
LIKE THIS >> .\datadirectory\ex1.txt .\datadirectory\ex2.txt ...
------------------------------------------------------------
>>
Si vous entrez "oui", il sera affiché comme ceci, alors entrez les données expérimentales ** chemin du fichier ** qui seront la source des données expérimentales simulées. Si "non", il est passé à la dernière entrée de numéro de parallélisation. Si "oui", par exemple
YOUR ANSWER IS: 'yes'
------------------------------------------------------------
PLEASE ENTER PATHS OF EXPERIMENTAL DATA
IF THERE ARE MULTIPLE DATA FILE YOU WANT TO TOMOGRAPHY,
ENTER ALL PATHS SEPARATED WITH SPACE.
LIKE THIS >> .\datadirectory\ex1.txt .\datadirectory\ex2.txt ...
------------------------------------------------------------
>>
./testdata/test.txt
Ensuite, il vous sera demandé combien de modèles pour générer les données d'expérience simulées, entrez donc le nombre que vous souhaitez générer.
------------------------------------------------------------
PLEASE ENTER ITERATION TIME OF EACH POISSON SIMULATION
------------------------------------------------------------
>>
5
Enfin, il vous sera demandé combien de parallèles vous souhaitez calculer. Veuillez également vous référer au nombre maximum de PC actuellement utilisés qui peuvent être parallélisés. (** * Remarque: ** S'il ne s'agit pas d'environ la moitié du nombre maximum qui peut être parallélisé, l'utilisation du processeur augmentera et la simulation ne se poursuivra pas. Après avoir exécuté la simulation, assurez-vous de vérifier l'utilisation du processeur avec un moniteur de ressources, etc. S'il te plait donne moi.)
------------------------------------------------------------
HOW MANY TIMES DO YOU WANT TO PARALLELIZE?
IF THE NUMBER IS TOO LARGE, THE PARFORMANCE OF SIMULATION BECOME LOWER.
THE NUMBER OF LOGICAL PROCESSOR OF YOUR COMPUTER IS >>
6
RECOMENDED NUMBER IS LESS THAN THE ABOVE NUMBER.
------------------------------------------------------------
>>
2
Tout ce que vous avez à faire est d'attendre la fin de la simulation. Comme mentionné ci-dessus, les autres simulations ne se dérouleront pas pendant que le dessin 3D est affiché, donc si vous n'en avez pas besoin, utilisez le 1.310 de src.
plotResult(numberOfQubits, estimatedDensityMatrix, baseNames)
Veuillez commenter comme suit.
#plotResult(numberOfQubits, estimatedDensityMatrix, baseNames)
Le résultat de la sortie est enregistré dans le répertoire suivant.
.
└project
|
├result
| |
| └qubit
| |
| ├iterative
| | |
| | └test
| | |
| | └result.txt
| |
| └poisson
| |
| └test
| |
| └result.txt
|
├testdata
| |
| └test.txt
|
└qubit_tomo.py
La fidélité à l'état idéal est enregistrée dans result.txt
.
L'état idéal est préparé directement dans qubit_tomo.py
.
Veuillez réécrire si nécessaire.
Recommended Posts