[PYTHON] Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!

Einführung

Ich möchte einfach eine Schaltung erstellen, die einen beliebigen Zustand erzeugt! Hast du irgendwelche gedanken Zum Beispiel ...

python


\frac{|0>+|1>}{\sqrt{2}}

Das ist einfach. Es kann mit der folgenden Schaltung erstellt werden.

1.png

Es gibt jedoch Tools, die diesen Status erstellen können, ohne das Hadamard-Tor zu kennen! Das ist der StateVectorCircuit.

StateVectorCircuit

Erstellen wir eine Schaltung, die den obigen Status mit StateVectorCircuit erstellt.

Importieren Sie zunächst das zu verwendende Paket.

python


import numpy as np
from qiskit.aqua.circuits import StateVectorCircuit
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister, execute
from qiskit import BasicAer
from qiskit.visualization import plot_histogram

Definieren Sie als Nächstes den Status, den Sie dieses Mal erstellen möchten

python


state = [1 / np.sqrt(2), 1 / np.sqrt(2)]

Geben Sie dies in den StateVectorCircuit ein.

python


svc = StateVectorCircuit(state)

Hier werden zwei Werte gespeichert.

python


print(svc._num_qubits)
# 1
print(svc._state_vector)
# [0.70710678 0.70710678]

Da die Schaltung noch nicht erstellt wurde, wird hier construct_circuit ausgeführt.

qc = svc.construct_circuit()

Dies ist die erstellte Schaltung

2.png

Lassen Sie es uns tatsächlich ausführen und das Ergebnis sehen.

cr = ClassicalRegister(1)
qc.add_register(cr)
qc.measure([0], [0])
num_shots = 10000
backend = BasicAer.get_backend('qasm_simulator')
results = execute(qc, backend, shots=num_shots).result()
counts = results.get_counts(qc)
plot_histogram(counts1)

3.png

HM. Es fühlt sich gut an.

Übrigens wird es ohne Erlaubnis normalisiert, so zum Beispiel

python


state = [100, 100]

Es wird Sie auch unterstützen. Natürlich sind mehrere Qubits in Ordnung.

Zusammenfassung

Dieses Mal habe ich StateVectorCircuit eingeführt, was nützlich zu sein scheint. Wenn die von Ihnen verwendete Version von Qiskit alt ist, wird möglicherweise eine Fehlermeldung angezeigt. Das Qiskit selbst entwickelt sich von Tag zu Tag weiter.

Recommended Posts

Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
Ich möchte mit Python ein Fenster erstellen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Web-API
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich möchte in der Einschlussnotation drucken
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich möchte eine Python-Umgebung erstellen
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Textklassifizierung
Ich möchte Matplotlib zu einem dunklen Thema machen
Ich möchte einen DataFrame in MSSQL einfügen
Ich möchte ein Spiel mit Python machen
Ich möchte keinen Codierungstest machen
Ich möchte leicht einen leckeren Laden finden
Ich möchte mit Python in eine Datei schreiben
Ich möchte eine Django-App auf Heroku hochladen
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte, dass DQN Puniki einen Homerun macht
100 Klopfen bei der Bildverarbeitung !! (021-030) Ich möchte eine Pause machen ...
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte mit verstärkendem Lernen einen Berg besteigen
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
[Mac] Ich möchte einen einfachen HTTP-Server erstellen, auf dem CGI mit Python ausgeführt wird
Ich möchte ein beliebtes Paket auf PyPi finden
Ich möchte eine Datei mit Python zufällig testen
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte eine Zeichenkette mit Hiragana teilen
Ich möchte ein Paket von Php Redis installieren
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Eine Geschichte, von der ich bei np.where süchtig war
Ich möchte automatisch eine Unternehmensgründungs-E-Mail senden
Ich möchte sagen, dass es eine Datenvorverarbeitung gibt ~
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte eine lokale Variable mit Lambda binden
Ich habe ein Tool erstellt, mit dem das Erstellen und Installieren eines öffentlichen Schlüssels etwas einfacher ist.
Ich möchte eine Karaoke-Klangquelle erstellen, indem ich Instrumente und Gesang mit Python trenne
[Python] Ich habe einen Test von "Streamlit" geschrieben, der das Erstellen von Visualisierungsanwendungen erleichtert.
Erstellen Sie ein Plug-In, das in Sublime Text 2 immer beliebigen Text hervorhebt