[PYTHON] Je souhaite créer facilement un modèle de bruit

Je veux créer facilement un modèle de bruit!

Dans Qiskit, il est possible de se rapprocher d'un appareil réel en ajoutant du bruit lors de la simulation d'un circuit avec un simulateur. Cependant, le réglage du bruit est hautement spécialisé et extrêmement difficile. (À mon avis ...)

Donc, quand j'ai cherché un moyen facile de créer un NoiseModel, je l'ai trouvé, donc je vais le résumer ici.

Circuit idéal

Commencez par créer un circuit qui crée un état GHZ sans bruit à des fins de comparaison.

GHZ state

État GHZ à 3qubits

|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

Montrons le circuit


#Définition du registre quantique
qr = QuantumRegister(3)
#Définition du circuit quantique
qc = QuantumCircuit(qr)

#Porte Adamal à 0bit
qc.h(0)
# 0bit-CNOT avec 1 bit
qc.cx(0, 1)
# 1bit-CNOT avec 2 bits
qc.cx(1, 2)

#Mesurer tous les registres quantiques
qc.measure_all()

#Afficher le circuit
qc.draw(output='mpl')

GHZ.png

je le ferai

#paramètres du backend
backend = BasicAer.get_backend('qasm_simulator')
#Exécution du circuit
result = execute(qc, backend).result()
#Obtenez des comptes
counts = result.get_counts()
#tracé compte dans un histogramme
plot_histogram(counts)

GHZ_plot.png

Vous pouvez obtenir de beaux résultats avec le simulateur.

Faire un modèle de bruit

Nous reproduirons le même modèle de bruit que la machine réelle avec un simulateur.

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

Obtenez le modèle de bruit de la machine réelle

#Appelez le compte IBMQ.
provider = IBMQ.load_account()
#Cette fois ibmq_Utilisez le modèle de bruit de vigo
backend = provider.get_backend('ibmq_vigo')
noise_model = NoiseModel.from_backend(backend)

Exécutons le circuit de l'état GHZ.

#Définition du registre quantique
qr = QuantumRegister(3)
#Définition du circuit quantique
qc = QuantumCircuit(qr)

#Porte Adamal à 0bit
qc.h(0)
# 0bit-CNOT avec 1 bit
qc.cx(0, 1)
# 1bit-CNOT avec 2 bits
qc.cx(1, 2)

#Mesurer tous les registres quantiques
qc.measure_all()

#Courir
result = execute(qc, Aer.get_backend('qasm_simulator'),
                 noise_model=noise_model).result()
counts = result.get_counts()
#tracé compte dans un histogramme
plot_histogram(counts)

Noise_GHZ_plot.png

de cette façon$ |000> Quand |111> $以外の結果も得るこQuandが出来ましたね.

Résumé

Il semble y avoir diverses autres options, alors j'aimerais enquêter.

Recommended Posts

Je souhaite créer facilement un modèle de bruit
Je veux créer une fenêtre avec Python
Je souhaite créer un type d'implémentation pouvant être branché
Je veux trouver facilement une délicieuse boutique
Je veux facilement implémenter le délai d'expiration en python
Je souhaite créer facilement un environnement de développement basé sur un modèle
Je souhaite créer manuellement une légende avec matplotlib
Je veux créer un Dockerfile pour le moment.
J'ai essayé de créer un linebot (implémentation)
Je veux imprimer dans la notation d'inclusion
J'ai essayé de créer un linebot (préparation)
Je veux créer un environnement Python
Qiskit: Je veux créer un circuit qui crée des états arbitraires! !!
Je veux créer un système pour éviter d'oublier de serrer la clé 1
Je veux créer un fichier pip et le refléter dans le menu fixe
Je souhaite créer un service d'apprentissage automatique sans programmation! API Web
Je veux faire de matplotlib un thème sombre
Je veux INSÉRER un DataFrame dans MSSQL
Quoi qu'il en soit, je veux vérifier facilement les données JSON
Je veux faire un jeu avec Python
Si vous souhaitez créer Word Cloud.
Je ne veux pas passer un test de codage
Je veux écrire dans un fichier avec Python
Je souhaite créer un service d'apprentissage automatique sans programmation!
Je souhaite télécharger une application Django sur heroku
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
Je souhaite intégrer une variable dans une chaîne Python
Je veux répéter plusieurs fois un générateur Python
Je veux que DQN Puniki frappe un home run
100 coups sur le traitement d'image !! (021-030) Je veux faire une pause ...
Je veux donner un group_id à une trame de données pandas
Je veux générer rapidement UUID (memo memo) ~ Edition Python ~
Je veux faire la transition avec un bouton sur le ballon
Je veux escalader une montagne avec l'apprentissage par renforcement
Je veux écrire en Python! (2) Écrivons un test
Je veux trouver un package populaire sur PyPi
J'ai créé un code pour convertir illustration2vec en modèle Keras
Je veux échantillonner au hasard un fichier avec Python
Je veux travailler avec un robot en python.
Je veux diviser une chaîne de caractères avec hiragana
Je souhaite installer un package de Php Redis
[Python] Je veux faire d'une liste imbriquée un taple
Je souhaite envoyer automatiquement un e-mail de création d'entreprise
Je veux faire fonctionner un ordinateur quantique avec Python
Je veux lier une variable locale avec lambda
Je veux un générateur de mox
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Je veux résoudre SUDOKU
Je veux un générateur mox (2)
Je souhaite créer une base de données de déjeuners [EP1] Django pour la première fois
Je souhaite créer une base de données de déjeuner [EP1-4] Django pour la première fois
J'ai essayé de mettre en œuvre le modèle de base du réseau neuronal récurrent
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
Je souhaite supprimer facilement une colonne contenant NA dans R
Je veux créer un éditeur de blog avec l'administrateur de django