[PYTHON] Qiskit: Je veux créer un circuit qui crée des états arbitraires! !!

introduction

Je veux créer facilement un circuit qui crée un état arbitraire! Avez-vous des idées? Par exemple ...

python


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

Eh bien, c'est facile. Il peut être créé avec le circuit suivant.

1.png

Cependant, il existe des outils qui permettent de créer cet état sans connaître la porte Hadamard! C'est le StateVectorCircuit.

StateVectorCircuit

Créons un circuit qui crée l'état ci-dessus en utilisant StateVectorCircuit.

Tout d'abord, importez le package à utiliser.

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

Ensuite, définissez l'état que vous souhaitez créer cette fois

python


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

Entrez ceci dans le StateVectorCircuit.

python


svc = StateVectorCircuit(state)

Deux valeurs sont stockées ici.

python


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

Puisque le circuit n'a pas encore été créé, construct_circuit est exécuté ici.

qc = svc.construct_circuit()

C'est le circuit créé

2.png

Exécutons-le réellement et voyons le résultat.

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. Ça fait du bien.

Au fait, il se normalisera sans autorisation, donc par exemple

python


state = [100, 100]

Il vous soutiendra également. Bien sûr, plusieurs qubits conviennent.

Résumé

Cette fois, j'ai présenté StateVectorCircuit, qui semble être utile. En passant, si la version de Qiskit que vous utilisez est ancienne, vous pouvez obtenir une erreur. Le qiskit lui-même évolue de jour en jour.

Recommended Posts

Qiskit: Je veux créer un circuit qui crée des états arbitraires! !!
Je veux créer une fenêtre avec Python
Je souhaite créer un type d'implémentation pouvant être branché
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
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 environnement serveur qui fonctionne sous Windows 10
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
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
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
Je souhaite créer un service d'apprentissage automatique sans programmation!
Je veux faire de matplotlib un thème sombre
Je veux INSÉRER un DataFrame dans MSSQL
Je veux faire un jeu avec Python
Je ne veux pas passer un test de codage
Je veux trouver facilement une délicieuse boutique
Je veux écrire dans un fichier avec Python
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 veux exécuter et distribuer un programme qui redimensionne les images Python3 + pyinstaller
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Je souhaite intégrer une variable dans une chaîne Python
Je veux facilement implémenter le délai d'expiration en 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
[Mac] Je souhaite créer un serveur HTTP simple qui exécute CGI avec Python
Je veux trouver un package populaire sur PyPi
Je veux échantillonner au hasard un fichier avec Python
Je souhaite créer facilement un environnement de développement basé sur un modèle
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
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
[Python] Je veux faire d'une liste imbriquée un taple
Une histoire à laquelle j'étais accro chez np.where
Je souhaite envoyer automatiquement un e-mail de création d'entreprise
Je veux dire qu'il y a un prétraitement des données ~
Je veux faire fonctionner un ordinateur quantique avec Python
Je veux lier une variable locale avec lambda
J'ai créé un outil qui facilite un peu la création et l'installation d'une clé publique.
Je souhaite créer une source sonore de karaoké en séparant les instruments et les voix en utilisant Python
[Python] J'ai écrit un test de "Streamlit" qui facilite la création d'applications de visualisation.
Créez un plug-in qui met toujours en évidence le texte arbitraire dans Sublime Text 2