Da ich Qubits Tomography in meiner Abschlussforschung erstellt habe, werde ich erklären, wie man es verwendet. Die src finden Sie hier [https://github.com/outk/graduate_thesis]. Die Theorie der Qubit-Tomographie ist in der Abschlussarbeit geschrieben. (Wenn Sie Lust dazu haben, werde ich es auch in Qiita zusammenfassen.) Ich habe auch Qutrit Tomography erstellt, ein dreistufiges System. Wenn einer Ihrer Leser Qudit Tomography macht, verwenden Sie es bitte. Auch Leute, die nicht verstehen, was sie sagen, sind nett! Bitte drücken Sie, um einen Kommentar abzugeben. ()
Als Ergebnis der Simulation können Sie mit 3D-Grafiken so etwas erhalten.
Kopieren Sie zunächst qubit_tomo.py in Ihr Arbeitsverzeichnis (Projekt). Die Verzeichnisstruktur ist wie folgt.
.
└project
└qubit_tomo.py
An der Eingabeaufforderung
~\project>python qubit_tomo.py
Eingeben.
------------------------------------------------------------
PLEASE ENTER NUMBER OF QUBITS
------------------------------------------------------------
>>
Wird angezeigt, geben Sie die Anzahl der Qubits ein, die Sie simulieren möchten. Diesmal werde ich es mit vier versuchen. Darüber hinaus ist die Messbasis wie in der Abschlussarbeit beschrieben. Wenn Sie mit einer anderen Basis gemessen haben, schreiben Sie den Code neu.
------------------------------------------------------------
PLEASE ENTER NUMBER OF QUBITS
------------------------------------------------------------
>>
4
------------------------------------------------------------
PLEASE ENTER PATH OF EXPERIMENTAL DATA DIRECTORY
LIKE THIS >> .\datadirectory
------------------------------------------------------------
>>
Geben Sie als Nächstes den Verzeichnispfad ein, der die in der txt-Datei gespeicherten experimentellen Daten enthält. Selbst wenn mehrere experimentelle Daten vorliegen, sind alle tomografisch. Die Simulation wird jedoch nicht fortgesetzt, wenn der 3D-Zeichenbildschirm weiterhin angezeigt wird. Achtung. Wenn die experimentellen Daten wie folgt gespeichert werden, können sie wie folgt angegeben werden.
.
└project
|
├testdata
| |
| └test.txt
|
└qubit_tomo.py
------------------------------------------------------------
PLEASE ENTER PATH OF EXPERIMENTAL DATA DIRECTORY
LIKE THIS >> .\datadirectory
------------------------------------------------------------
>>
./testdata
Geben Sie als Nächstes den Namen des Ausgabezielverzeichnisses des Berechnungsergebnisses ein. Hier ist alles in Ordnung. Wenn nichts eingegeben wird, ist dies "Standard". Zum Beispiel
------------------------------------------------------------
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
An dieser Stelle werden Sie gefragt, ob Sie simulierte Experimentdaten erstellen möchten. Alle Eingänge außer "Ja" gelten als "Nein". Pseudoexperimentelle Daten werden zufällig entlang der Poisson-Verteilung erzeugt, wobei die Häufigkeit jeder experimentellen Daten als erwarteter Wert angegeben wird.
------------------------------------------------------------
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 ...
------------------------------------------------------------
>>
Wenn Sie "Ja" eingeben, wird dies wie folgt angezeigt. Geben Sie daher die experimentellen Daten ** Dateipfad ** ein, aus denen die simulierten experimentellen Daten stammen. Bei "Nein" wird zur letzten Eingabe der Parallelisierungsnummer übersprungen. Wenn zum Beispiel "Ja"
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
Anschließend werden Sie gefragt, wie viele Muster die simulierten Experimentdaten generieren sollen. Geben Sie also die Nummer ein, die Sie generieren möchten.
------------------------------------------------------------
PLEASE ENTER ITERATION TIME OF EACH POISSON SIMULATION
------------------------------------------------------------
>>
5
Schließlich werden Sie gefragt, wie viele Parallelen Sie berechnen möchten. Beachten Sie auch die maximale Anzahl der derzeit verwendeten PCs, die parallelisiert werden können. (** * Hinweis: ** Wenn nicht etwa die Hälfte der maximalen Anzahl parallelisiert werden kann, steigt die CPU-Auslastung und die Simulation wird nicht fortgesetzt. Überprüfen Sie nach dem Ausführen der Simulation die CPU-Auslastung mit einem Ressourcenmonitor usw. Bitte gib mir.)
------------------------------------------------------------
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
Sie müssen nur warten, bis die Simulation abgeschlossen ist. Wie oben erwähnt, werden andere Simulationen nicht fortgesetzt, während die 3D-Zeichnung angezeigt wird. Wenn Sie sie nicht benötigen, verwenden Sie l.310 von src.
plotResult(numberOfQubits, estimatedDensityMatrix, baseNames)
Bitte kommentieren Sie wie folgt.
#plotResult(numberOfQubits, estimatedDensityMatrix, baseNames)
Das Ausgabeergebnis wird im folgenden Verzeichnis gespeichert.
.
└project
|
├result
| |
| └qubit
| |
| ├iterative
| | |
| | └test
| | |
| | └result.txt
| |
| └poisson
| |
| └test
| |
| └result.txt
|
├testdata
| |
| └test.txt
|
└qubit_tomo.py
Die Wiedergabetreue mit dem Idealzustand wird in result.txt
gespeichert.
Der Idealzustand wird direkt in qubit_tomo.py
vorbereitet.
Bitte schreiben Sie bei Bedarf neu.
Recommended Posts