Comment un ordinateur quantique fait-il des mathématiques de base au niveau matériel?

27

En lisant ce fil Reddit, j'ai réalisé que même après quelques mois d'apprentissage de l'informatique quantique, je n'ai absolument aucune idée du fonctionnement réel d'un ordinateur quantique.

Pour rendre la question plus précise, disons que nous avons un ordinateur quantique supraconducteur basé sur qubit à 5 qubit (comme l'IBM Quantum Computer à 5 qubit). Je tape aide d'un clavier sur un moniteur (par exemple, dans une application de calculatrice de base, l'ordinateur quantique pourrait avoir). Après cela, il devrait me retourner . Mais ça se passe au niveau matériel? Des signaux électriques correspondant aux entrées , et vont-ils à l'unité de traitement de l'ordinateur? Est-ce que cela "initialise" en quelque sorte les électrons de la paire Cooper? Qu'advient-il des qubits d'électrons de la paire Cooper après cela (supposez qu'ils seraient travaillés par certaines portes quantiques , qui sont à leur tour à nouveau des boîtes noires2+3523+)? Comment ça me rend enfin la sortie ?5

Je suis surpris du peu de détails que je pourrais trouver sur le fonctionnement de base d'un ordinateur quantique en cherchant sur le net.

Sanchayan Dutta
la source

Réponses:

27

Premièrement, un ordinateur classique fait des mathématiques de base au niveau matériel dans l'unité arithmétique et logique (ALU). Les portes logiques prennent des tensions d'entrée faibles et élevées et utilisent CMOS pour implémenter des portes logiques permettant aux portes individuelles d'être exécutées et construites pour effectuer des opérations plus grandes et plus compliquées. En ce sens, taper sur un clavier envoie des signaux électriques, qui finissent par se traduire par une commande (sous la forme de plusieurs signaux électriques) envoyée à l'ALU, les opérations correctes étant effectuées et plus de signaux renvoyés, qui sont convertis en afficher des pixels sous la forme d'un nombre sur votre écran.

Et un ordinateur quantique?

Les processeurs quantiques peuvent être utilisés de deux manières: seuls ou en association avec un processeur classique. Cependant, la plupart (y compris votre exemple de supraconducteur) des processeurs quantiques n'utilisent pas réellement de signaux électriques, bien que ce soit toujours ainsi que votre souris, votre clavier et votre moniteur, etc. transmettent et reçoivent des informations. Donc, il doit y avoir un moyen de convertir le signal électrique en n'importe quel signal utilisé par le processeur quantique (que j'aborderai plus tard), ainsi qu'un moyen de dire au processeur ce que vous voulez faire. Ces deux problèmes peuvent être résolus à la fois par le pré et le post-traitement classiques, comme dans QISKit d'IBM . Microsoft adopte un peu plus une approche descendante dans Q #, où les programmes pour un processeur quantique sont écrits plus comme un programme «classique», par opposition à un script, puis compilés et potentiellement optimisés pour le matériel. Autrement dit, si vous avez une fonction, elle peut effectuer des opérations classiques, ainsi que faire des appels au processeur quantique pour effectuer toutes les opérations quantiques requises. Cela m'amène au premier point:

Si vous allez demander à un ordinateur ayant accès à un processeur quantique de calculer quelque chose comme , une solution très valable serait de simplement le calculer sur le processeur classique comme d'habitude.2+3

OK, disons que vous forcez le processeur classique à utiliser le processeur quantique, qui dans ce cas est l'une des puces supraconductrices d'IBM, en utilisant des qubits de transmons , disons, l' IBM QX4 . C'est trop petit pour avoir une correction d'erreur, alors ignorons cela. L'utilisation d'un processeur de modèle de circuit comporte trois parties: l'initialisation, l'évolution unitaire et la mesure, qui sont expliquées plus en détail ci-dessous. Avant ça,

Qu'est-ce qu'un transmon?

Prenez une boucle supraconductrice pour permettre aux paires de Cooper et ajoutez une ou deux jonctions Josephson pour donner un îlot de boîte de paires Cooper dans la région entre les deux jonctions Josephson avec l'énergie de couplage Josephson , où le flux magnétique quantique et est le courant critique de la jonction. L'application d'une tension à cette boîte donne une «capacité de grille» et en fait un qubit de charge . Pour l'énergie coulombienne d'une seule paire de Cooper , oùEJ=IcΦ0/2π Φ0=h/2eIcVgCgEC=(2e)2/2CCest la somme de la capacité totale de l'îlot. L'hamiltonien d'un tel système est donné par où est le nombre de paires de Cooper, est le changement de phase à travers la jonction et . Lors de l'exécution d'opérations unitaires, seuls les deux états les plus bas du système sont pris en compte, et avec les énergies respectives et et fréquence de qubit

H=EC(nng)2EJcosϕ,
nϕng=CgVg/2e|n=|0|n=|1E0=ω0E1=ω1ω=ω1ω0, décrivant la base de calcul d'un qubit. Un qubit de charge typique pourrait avoir . L'ajout d'une grande capacité de shunt et l'augmentation de la capacité de la porte commute ce rapport, de sorte que et nous avons un transmon . Cela présente l'avantage de durées de cohérence plus longues, au prix d'une anharmonicité réduite (où les niveaux d'énergie au-delà des deux premiers sont plus proches les uns des autres, ce qui peut provoquer des fuites).EC=5EJEJEC

Enfin , nous arrivons à la question principale:

Comment initialiser, faire évoluer et mesurer un transmon?

  • Évolution unitaire à qubit unique: application d'une impulsion micro-ondes pour de fréquence et faire l' approximation des ondes tournantes donne l'hamiltonien des états qubit (dans le cas idéal) comme Cependant, en raison de l'anharmonie plus faible, les impulsions micro-ondes doivent être façonnées pour réduire les fuites à des niveaux d'énergie plus élevés dans un processus appeléE(t)=Ex(t)cos(ωdt)+Ey(t)sin(ωdt)0<t<tgωd
    H=(ω1ωd12Ex(t)i2Ey(t)12Ex(t)+i2Ey(t)ω22ωd)
    Élimination des dérivés par porte adiabatique (DRAG) . En faisant varier l'impulsion, différents hamiltoniens peuvent être obtenus, qui, selon le temps de l'impulsion, peuvent être utilisés pour mettre en œuvre différentes opérations unitaires sur un seul qubit.
  • Mesure / lecture: Un résonateur hyperfréquence, avec une fréquence de résonance , peut être couplé au transmon à l'aide d'un condensateur. Cette interaction provoque des oscillations de Rabi (en décomposition) dans le système transmon-résonateur. Lorsque la force de couplage de la cavité et du qubit, , c'est ce qu'on appelle le régime dispersif . Dans ce régime, le spectre de transmittance de la cavité est décalé de fonction de l'état du qubit, appliquant ainsi une impulsion micro-ondes et analysant la transmittance et la réflectance ( par ordinateur) peut alors être utilisé pour mesurer le qubit.ωrgωωr±g2/(ωωr)
  • Evolution unitaire à qubit multiple: Cette idée de coupler un qubit à un résonateur hyperfréquence peut être étendue en couplant le résonateur à un autre qubit. Comme dans le cas de la porte à qubit unique, les temporisations du couplage ainsi que les impulsions micro-ondes peuvent être utilisées pour permettre au premier qubit de se coupler à la cavité, qui est ensuite couplée au deuxième qubit et effectuer certaines portes à 2 qubits. Des niveaux d'énergie plus élevés peuvent également être utilisés pour rendre certaines portes plus faciles à mettre en œuvre en raison des interactions entre des niveaux plus élevés causés par la cavité. Un tel exemple est montré ici , où la cavité provoque une interaction entre les états de et|2|0|1|1. Un croisement évité entre ces états signifie qu'une porte de phase à 2 qubits peut être implémentée, bien qu'en général les portes à 2 qubits soient implémentées moins bien (ont une fidélité inférieure) que celles à qubit unique.
  • Initialisation: Lecture, potentiellement suivie d'une seule porte Pauli qubit (sur chaque qubit mesuré pour être dans l'état ) pour s'assurer que tous les qubits commencent dans l'état .X|1|0

L'ajout de 2 et 3 est désormais une question «simple» d'initialisation des qubits, de réalisation des portes équivalentes à un additionneur réversible classique et de mesure du résultat, le tout implémenté automatiquement. Le résultat de la mesure est ensuite renvoyé par un ordinateur classique comme d'habitude.

En bonus , il semble un peu inutile de passer par tout cela pour implémenter des portes qui pourraient être faites sur un ordinateur classique de toute façon, il s'avère donc qu'il est possible d'implémenter approximativement un additionneur quantique , qui ajoute deux quantiques (par opposition aux états classiques), avec une erreur, sur l'un des processeurs IBM.

Mithrandir24601
la source
15

Voici mon processus pour faire de l'arithmétique sur un ordinateur quantique.

Étape 1: Trouvez un circuit classique qui fait ce qui vous intéresse.

Dans cet exemple, un additionneur complet.

additionneur complet classique

Étape 2: Convertissez chaque porte classique en porte réversible.

Ayez vos bits de sortie présents dès le début et initialisez-les avec des CNOT, CCNOT, etc.

additionneur complet semi-réversible

Étape 3: utilisez des sorties temporaires.

Si vous faisiez cet ajout pour contrôler, par exemple, si un oracle Grover passe en phase de -1 ou non, il est maintenant temps d'appliquer une porte Z à votre qubit de sortie.

Étape 4: Débarrassez-vous des valeurs intermédiaires en faisant exactement le contraire de ce que vous avez fait pour les calculer.

Cela peut inclure ou non l'élimination des bits de sortie, selon la façon dont le circuit s'intègre dans votre algorithme global.

additionneur complet semi-réversible 2

Étape 5: (Parfois) pour chaque bit de sortie que vous conservez, supprimez un bit d'entrée.

Et je ne veux pas dire "les déposer sur le sol", je veux dire appliquer des opérations qui les font devenir 0 à coup sûr.

Lorsque vous calculez c+=a, laisser une copie de la valeur d'origine de a ctendance à être mauvais. Cela détruit la cohérence. Vous devez donc regarder votre circuit additionneur (ou autre) et réfléchir sérieusement à la manière d'utiliser vos bits de sortie pour vous débarrasser de vos bits d'entrée. Par exemple, après le calcul, c+avous pouvez effectuer une soustraction temporaire non appropriée dans un registre r, x ou r dans le registre stockant la copie indésirable de c, puis annuler la soustraction temporaire.

(Une exception notable à "si vous conservez votre sortie, ne conservez pas trop votre entrée" est l'algorithme de Shor. L'algorithme de Shor décohérera son entrée exprès , mais d'une manière très particulière qui aide à trouver des périodes.)

Étape 6: Soyez efficace

À l'étape 5, j'ai dit que vous pouviez non calculer l'entrée d'un ajout sur place en effectuant un ajout hors place suivi d'une soustraction temporaire hors lieu. C'est un peu idiot. Le processus d'ajout global va s'étendre sur 4n qubits (n à conserver a, n à conserver c, n à conserver c+a, n à conserver (c+a)-a). Si vous êtes plus intelligent, vous pouvez tout mettre en 2nqubits ou (un peu plus facile) en 2n+1qubits :

additionneur cuccaro

Craig Gidney
la source