[PYTHON] Ich möchte einfach ein Rauschmodell erstellen

Ich möchte einfach ein Rauschmodell erstellen!

In Qiskit ist es möglich, durch Hinzufügen von Rauschen näher an ein reales Gerät heranzukommen, wenn eine Schaltung mit einem Simulator simuliert wird. Das Einstellen von Rauschen ist jedoch hochspezialisiert und äußerst schwierig. (Meiner Meinung nach ...)

Als ich nach einer einfachen Möglichkeit suchte, ein NoiseModel zu erstellen, fand ich es und werde es hier zusammenfassen.

Ideale Schaltung

Erstellen Sie zunächst eine Schaltung, die zum Vergleich einen [GHZ] -Zustand (https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state) ohne Rauschen erstellt.

GHZ state

GHZ-Zustand bei 3 Qubits

|GHZ> = \frac{|000>+|111>}{\sqrt{2}}

import

python


# matplotlib inline
from qiskit import execute, QuantumCircuit, QuantumRegister
from qiskit.visualization import plot_histogram
from qiskit import BasicAer

Lassen Sie uns die Schaltung anzeigen


#Definition des Quantenregisters
qr = QuantumRegister(3)
#Definition der Quantenschaltung
qc = QuantumCircuit(qr)

#Adamal Tor zu 0bit
qc.h(0)
# 0bit-CNOT mit 1bit
qc.cx(0, 1)
# 1bit-CNOT mit 2bit
qc.cx(1, 2)

#Messen Sie alle Quantenregister
qc.measure_all()

#Schaltung anzeigen
qc.draw(output='mpl')

GHZ.png

Ich werde das machen

#Backend-Einstellungen
backend = BasicAer.get_backend('qasm_simulator')
#Schaltungsausführung
result = execute(qc, backend).result()
#Holen Sie sich zählt
counts = result.get_counts()
#Diagramm zählt in ein Histogramm
plot_histogram(counts)

GHZ_plot.png

Mit dem Simulator können Sie schöne Ergebnisse erzielen.

Erstellen Sie ein Rauschmodell

Wir werden das gleiche Geräuschmodell wie die tatsächliche Maschine mit einem Simulator reproduzieren.

import

# matplotlib inline
from qiskit import QuantumCircuit, execute
from qiskit import IBMQ, Aer
from qiskit.visualization import plot_histogram
from qiskit.providers.aer.noise import NoiseModel

Holen Sie sich das Geräuschmodell von der eigentlichen Maschine

#Rufen Sie das IBMQ-Konto auf.
provider = IBMQ.load_account()
#Diesmal ibmq_Verwenden Sie das Noise Model von vigo
backend = provider.get_backend('ibmq_vigo')
noise_model = NoiseModel.from_backend(backend)

Lassen Sie uns die Schaltung des GHZ-Zustands ausführen.

#Definition des Quantenregisters
qr = QuantumRegister(3)
#Definition der Quantenschaltung
qc = QuantumCircuit(qr)

#Adamal Tor zu 0bit
qc.h(0)
# 0bit-CNOT mit 1bit
qc.cx(0, 1)
# 1bit-CNOT mit 2bit
qc.cx(1, 2)

#Messen Sie alle Quantenregister
qc.measure_all()

#Lauf
result = execute(qc, Aer.get_backend('qasm_simulator'),
                 noise_model=noise_model).result()
counts = result.get_counts()
#Diagramm zählt in ein Histogramm
plot_histogram(counts)

Noise_GHZ_plot.png

auf diese Weise$ |000> Wann |111> $以外の結果も得るこWannが出来ましたね.

Zusammenfassung

Es scheint verschiedene andere Optionen zu geben, daher möchte ich dies untersuchen.

Recommended Posts

Ich möchte einfach ein Rauschmodell erstellen
Ich möchte mit Python ein Fenster erstellen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich möchte leicht einen leckeren Laden finden
Ich möchte Timeout einfach in Python implementieren
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich möchte vorerst eine Docker-Datei erstellen.
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
Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
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 möchte Matplotlib zu einem dunklen Thema machen
Ich möchte einen DataFrame in MSSQL einfügen
Wie auch immer, ich möchte JSON-Daten einfach überprüfen
Ich möchte ein Spiel mit Python machen
Wenn Sie Word Cloud erstellen möchten.
Ich möchte keinen Codierungstest machen
Ich möchte mit Python in eine Datei schreiben
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Textklassifizierung
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 eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Ich habe versucht, mit Selenium + Python einfach ein vollautomatisches Anwesenheitssystem zu erstellen
Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich möchte eine Variable in einen Python-String einbetten
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
Ich möchte ein beliebtes Paket auf PyPi finden
Ich habe einen Code erstellt, um illustration2vec in ein Keras-Modell zu konvertieren
Ich möchte eine Datei mit Python zufällig testen
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
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte automatisch eine Unternehmensgründungs-E-Mail senden
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte eine lokale Variable mit Lambda binden
Ich möchte einen Mox-Generator
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Ich möchte SUDOKU lösen
Ich möchte einen Mox-Generator (2)
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
Ich habe versucht, das grundlegende Modell des wiederkehrenden neuronalen Netzwerks zu implementieren
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
Ich möchte eine Spalte mit NA in R einfach löschen
Ich möchte einen Blog-Editor mit dem Administrator von Django erstellen