Comment implémenter la «racine carrée de la porte d'échange» sur IBM Q (compositeur)?

9

Je voudrais simuler un algorithme quantique où l'une des étapes est "Racine carrée de la porte d'échange" entre 2 qubits.

Comment puis-je implémenter cette étape à l'aide du compositeur IBM ?

JanVdA
la source
Il peut être utile d'utiliser une simple porte de swap comme "brique" pour construire la racine carrée de la porte de swap. Vous pouvez simuler sur IBM Q de cette manière: cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
Lying Dancer
1
@JanVdA La racine carrée n'est pas unique. En fait, il devrait y avoir 2 ^ 4 = 16 racines possibles. Lequel voulez-vous dire?
Norbert Schuch
N'importe qui ferait pour moi. Aucune préférence pour un particulier.
JanVdA

Réponses:

9

Voici une construction SQRT (SWAP) qui ne nécessite que des CNOT dans une seule direction, Hadamards, portes S ( Z12 ), portes d poignées S (Z12 ), portes T () et portes dague T ():Z14Z14

entrez la description de l'image ici

Vous devriez pouvoir l'encoder directement dans le compositeur.

Craig Gidney
la source
Comment obtient-on cela des premiers principes?
user1271772
@ user1271772 Quels sont les "premiers principes"?
Norbert Schuch
Je ne sais pas comment implémenter et à l' aide du compositeur IBM. Z1/2Z1/2
JanVdA
@ user1271772 J'ai commencé avec le circuit SWAP CNOT-NOTC-CNOT, remplacé le CNOT du milieu par un C-sqrt (pas) pour faire le tout un sqrt (SWAP), décomposé le C-srt (pas) en portes S + CNOT , déplacé quelques portes jusqu'à ce que je réussisse à annuler l'un des CNOT, puis utilisé Hadamards pour inverser la direction de tout CNOT pointant dans le mauvais sens.
Craig Gidney
@JanVdA est , et est (regardez les portes bleues dans le compositeur). Z1/2SZ1/2S
Craig Gidney
2

Ce que vous voulez faire, c'est une rotation sur le sous-espace étendu par et qui le fait pivoter de . À cette fin, vous pouvez d'abord faire un CNOT, qui mappe ce sous-espace à . Vous devez maintenant effectuer la rotation sur le premier qubit, à condition que le deuxième qubit en soit un. La mise en œuvre de portes contrôlées à l' aide de CNOT est une construction standard, qui peut être trouvée à divers endroits, voir par exemple https://arxiv.org/abs/quant-ph/9503016 . Selon la façon dont vous effectuez cette étape, vous devrez peut-être corriger la phase "globale" du 1er qubit (étant donné que le 2e est ). Enfin, vous devez annuler le CNOT.|01|10X{|01,|11} UXU|1

Norbert Schuch
la source
Ce n'est pas clair pour moi 1) comment tu fais dans le compositeur. 2) comment annuler un CNOT dans le compositeur 3) vous mentionnez les portes U contrôlées mais il n'est pas clair où elles doivent être utilisées dans l'algorithme. Je pense qu'une description étape par étape de l'algorithme serait utile pour l'implémenter sur le compositeur IBM. X
JanVdA
@JanVdA Je crains que vous n'ayez à travailler vous-même pour vous familiariser avec les circuits quantiques et leurs manipulations. Sinon, qu'allez-vous faire une fois que vous connaissez le circuit du sqrt-SWAP?
Norbert Schuch
FYI: J'ai utilisé la description sqrt-SWAP ci-dessus pour tester la solution suggérée pour quantumcomputing.stackexchange.com/questions/2209/… sur le compositeur IBM.
JanVdA
@JanVdA Lequel? L'accepté? Celui-là ne parle que d'un SWAP contrôlé. (Pour cela: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Norbert Schuch
Désolé, je fais référence à la solution acceptée pour la question: mathoverflow.net/questions/301733/…
JanVdA
-1

Chaque porte à 2 qubits a une "décomposition paulininomiale" ce qui signifie qu'elle peut être écrite comme un polynôme de matrices de Pauli.

Pour la porte que vous souhaitez:

SWAP=[1000012(1+i)12(1i)0012(1i)12(1+i)00001]=1i4(X1X2+Y1Y2+Z1Z2)+3+i2I,

est une porte X appliquée au i ème qubit.XiXith

user1271772
la source
OK, merci pour la réponse - j'ai besoin d'étudier un peu pour comprendre comment je peux traduire cela dans IBM Composer.
JanVdA
@JanVdA Qu'est-ce qui ne va pas? Vous ne pouvez pas faire glisser et déposer les portes X, Y et Z dans le circuit? Vous voudrez peut-être poser une question distincte sur la façon de multiplier une porte par une constante.
user1271772
Je peux glisser-déposer les portes X, Y, Z mais je ne sais pas comment faire les multiplications (par exemple ), les ajouts (par exemple X 1 X 2 + Y 1 Y 2 ), la multiplication par une constante , Je ne sais même pas ce que tu veux dire par moi . Je suppose que je dois avoir l'air d'un idiot complet. X1X2X1X2+Y1Y2I
JanVdA
signifie que vous appliquez X au qubit 1 et X au qubit 2. Cependant, comme je l'ai mentionné dans le commentaire précédent, je pense que vous devriez poser une question distincte sur la façon de multiplier par une constante. X1X2XX
user1271772
Voir aussi Eq. 8 de cet article: arxiv.org/pdf/1805.10478.pdf , et les schémas de circuits dans le matériel supplémentaire. Eq. 8 du papier est exactement comme ce que je vous ai donné, sauf avec seulement portes Z. C'est toujours un "Paulinomial" mais avec seulement des portes Z , et il est implémenté dans le compositeur IBM dans cet article. ZZ
user1271772