Comment créer des circuits quantiques à partir de zéro

9

Je fais actuellement des études personnelles en utilisant principalement le livre: Quantum Computing a Gentle Introduction par Eleanor Rieffel et Wolfgang Polak.

Passer en revue les chapitres et exercices précédents s'est plutôt bien passé (heureusement, les chapitres précédents avaient beaucoup d'exemples), mais je suis resté bloqué sur le 5ème chapitre sur les circuits quantiques. Bien que je comprenne les concepts présentés par les auteurs, peut-être en raison d'un manque d'exemples, j'ai du mal à appliquer ces concepts aux exercices.

Les exercices avec lesquels j'ai du mal (et où je ne trouve pas de solution ou d'explication approfondie / introductive) sont les suivants:

Des questions:

Concevoir un circuit pour créer: de|Wn=1n(|0001+|0010+|0100)++|1000)|0000

Et concevez un circuit pour créer "l'état Hardy": 112(3|00+|01+|10+|11)

Quelqu'un peut-il m'orienter dans la bonne direction ou me renvoyer à certains ouvrages / tutoriels pour mieux comprendre ce type d'exercices?

Peut-être une question connexe: Trucs et astuces pour construire des circuits pour générer des états quantiques arbitraires

Joery
la source
1
Je ne connais pas l'état Hardy, mais pouvez-vous vérifier ce que vous avez écrit? Ce n'est pas normalisé (et un peu trivial), donc je suppose que ce n'est pas ce que vous vouliez. Pour l'état W, vous voudrez probablement vérifier cette question .
DaftWullie
Tu as raison, j'ai fait quelques fautes de frappe. Je les ai édités, maintenant ils sont corrects / normalisés. Et merci!
Joery
1
Soit dit en passant, cet article arxiv.org/abs/quant-ph/0104030 donne une technique générale pour construire des états quantiques arbitraires.
Paradox

Réponses:

7

Comme DaftWullie a souligné, à propos de la question a une excellente collection de réponses ici .Wn

Pour la question de l'état Hardy (et beaucoup d'autres tâches comme celle-ci), vous pouvez l'aborder comme suit.

  • Commencez avec l'état .|0...0
  • Commencez par mettre le premier qubit "dans le bon état", qui est un état , où et sont les poids relatifs de tous les états de base qui commencent respectivement par 0 et par 1. Pour l'état Hardy en particulier, deux états de base commencent par 0: et deux états de base commencent par 1: ; leurs poids relatifs ne sont que les sommes des carrés de leurs amplitudes: et(α|0+β|1)|0...0αβ112(3|00+|01)112(|10+|11)912+112=1012112+112=212, respectivement. Vous devrez donc mettre le premier qubit dans l'état aide de porte.(1012|0+212|1)Ry
  • Continuez en mettant le deuxième qubit dans le bon état, en appliquant des portes contrôlées avec le premier qubit comme contrôle. Pour obtenir les deux premiers termes, vous devez convertir le terme en terme , ce qui revient à convertir l'état normal en sans affecter l'état (notez la renormalisation lors du passage de termes d'une expression plus grande à des états autonomes!) Pour ce faire, vous pouvez faire un contrôlé parRy1012|0|0112(3|00+|01)|0|0110(3|00+|01)|1|0Ry avec le premier qubit comme contrôle et le second qubit comme cible.
  • Si vous avez plus de qubits, vous continuerez à le faire, en utilisant plus de qubits de contrôle pour rendre vos rotations de plus en plus spécifiques.

Vous pouvez voir cet article de Shende, Bullock et Markov si vous voulez une explication plus formelle et moins ad hoc.

Mariia Mykhailova
la source
Votre réponse est super! Je pense que je suis resté coincé parce que j'ai essayé de le faire dans une approche descendante, c'est-à-dire à partir de l'état final et en essayant de trouver une décomposition et des portes vers l'état de base. Ceci et le papier sont d'une grande aide, merci!
Joery
4

Vous pouvez simplifier les problèmes de "production d'un état" en les divisant en trois parties:

  1. Préparez la collection des grandeurs dont vous aurez besoin, sans vous soucier de la phase ou de quel état a quelle grandeur.
  2. Fixez les phases.
  3. Fixez la commande.

Considérons maintenant l'état Hardy. Quelles sont les grandeurs que nous devons faire? Nous avons besoin d'une instance de et de trois instances d'instance de . Nous pouvons les faire un à la fois, en ayant un état "d'amplitude restante" dont nous continuons à nous séparer.3/121/12

On commence par toute l'amplitude dans un état avec une excitation à gauche, où . Ce que nous voulons faire, c'est déplacer l'excitation vers la droite tout en laissant les amplitudes souhaitées. Donc, pour commencer, nous voulons laisser la magnitude . Nous pouvons le faire avec une opération contrôlée , où le contrôle est le qubit le plus à gauche et la cible est le qubit juste à sa droite. En choisissant juste la bonne valeur pour , cela donnera l'état . Nous avons ensuite CNOT le deuxième qubit de retour sur le premier qubit pour arriver à0|1000 ... 000=13/12Ry(θ0)θ3/12|1000 ... 00+1|1100 ... 001|1000 ... 00+3/12|0100 ... 00. Ensuite, nous voulons retirer . Nous effectuons un autre contrôlé par le qubit le plus à gauche suivi d'un CNOT vers l'arrière, mais cette fois avec la cible est le qubit troisième de la gauche. En choisissant le parfait nous produirons l'état . Et vous continuez à faire cela jusqu'à ce que vous ayez toutes les amplitudes dont vous avez besoin, commodément adressées par des qubits individuels excités.1/12Ryθ12|1000 ... 00+3/12|0100 ... 00+1/122|0010 ... 00

Vous voulez maintenant corriger toutes les phases incorrectes produites par les rotations Y. Pour l'état Hardy, c'est facile, car toutes les phases sont positives. En général, vous ciblez chaque position de qubit avec une opération avec des valeurs choisies de manière appropriée , et cela obtiendra les bonnes phases.kRz(ϕk)ϕk

Maintenant, nous voulons obtenir la bonne commande. La façon la plus simple de le faire est d'avoir des qubits supplémentaires qui sont vos qubits de sortie et, pour chacun des qubits que nous avons préparés jusqu'à présent et chacun des qubits de sortie, ajoutez un CNOT entre les deux ou ne le faites pas. Par exemple, si l'état d'amplitude est supposé être un , alors nous devons CNOT de notre qubit le plus à gauche sur les deux qubits de sortie. Ensuite, nous devons calculer le qubit le plus à gauche en utilisant une opération NOT à plusieurs contrôlés. Il doit y avoir un contrôle pour chaque qubit de sortie, et le type de contrôle (qubit-must-be-on vs qubit-must-be-off) est déterminé selon que vous avez ou non basculé le qubit.3/12|11

L'application de ces étapes produit un circuit inefficace, mais correct, pour créer un état Hardy. Vous pouvez ouvrir le circuit dans Quirk :

Préparation simple

Si vous voulez produire un état sans utiliser autant d'espace de travail, la tâche devient plus difficile. Mais vous pouvez toujours suivre les grandeurs puis les phases puis le modèle de commande. En outre, il existe des moyens plus intelligents de préparer des ensembles de magnitudes avec de beaux motifs. Par exemple, lorsqu'une seule amplitude est différente des autres, un cycle d'amplification d'amplitude partielle peut être suffisant pour préparer l'état.

Craig Gidney
la source