[PYTHON] Verwendung der Qubits-Tomographie (Herstellung von Produkten für die Abschlussforschung zur Buddhaschaft)

Verwendung der Qubits-Tomographie

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. mixed.png

wie benutzt man

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)

Ausgabeergebnis

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

Verwendung der Qubits-Tomographie (Herstellung von Produkten für die Abschlussforschung zur Buddhaschaft)
Verwendung von Qubits Tomography (mein Abschlussprodukt)
Wie man eine kratzige JSON-Ausgabe japanisch macht
Verwendung von xml.etree.ElementTree
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Wie man Decorator in Django benutzt und wie man es macht
Verwendung von OptParse
Wie man Imutils benutzt
Verwendung der Suche sortiert
[gensim] Verwendung von Doc2Vec
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
[Python] Verwendung von Liste 1
Verwendung von FastAPI ③ OpenAPI
Wie benutzt man Python Argparse?
Verwendung von IPython Notebook
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
So verwenden Sie Jupyter Notebook
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
So verwenden Sie Google Colaboratory
Verwendung von Python-Bytes
So machen Sie einen String in Python zu einem Array oder ein Array zu einem String
Verwendung von cron (persönliches Memo)
Wie erstelle ich eine japanisch-englische Übersetzung?
Python: So verwenden Sie Async mit