Comment dériver la matrice CNOT pour un système à 3 qbit où le contrôle et les qbits cibles ne sont pas adjacents?


15

Dans un système à trois qbits, il est facile de dériver l'opérateur CNOT lorsque les qbits de contrôle et cible sont adjacents en termes de signification - vous tendez simplement l'opérateur CNOT 2 bits avec la matrice d'identité à la position de signification du qbit non modifiée:

C10|ϕ2ϕ1ϕ0=(I2C10)|ϕ2ϕ1ϕ0

Cependant, il n'est pas évident de savoir comment dériver l'opérateur CNOT lorsque les qbits de contrôle et cible ne sont pas adjacents de manière significative:

C20|ϕ2ϕ1ϕ0

Comment cela se fait-il?


Réponses:


14

Pour une présentation des premiers principes, j'aime la réponse de Ryan O'Donnell . Mais pour un traitement algébrique de niveau légèrement supérieur, voici comment je le ferais.

La caractéristique principale d'une opération contrôlée , pour tout U unitaire , est qu'elle effectue (de manière cohérente) une opération sur certains qubits en fonction de la valeur d'un qubit unique. La façon dont nous pouvons écrire explicitement algébriquement (avec le contrôle sur le premier qubit) est: où est une matrice d'identité de la même dimension que . Ici, et sont des projecteurs sur les états etUU1 U | 0

CU=|00|1+|11|U
1U| 1 |00|| 0 | 1 |11||0|1 du qubit de contrôle - mais nous ne les utilisons pas ici comme éléments d'une mesure, mais pour décrire l'effet sur les autres qubits en fonction de l'un ou l'autre sous-espace de l'espace d'état du premier qubit.

Nous pouvons l'utiliser pour dériver la matrice de la porte qui effectue une opération sur le qubit 3, conditionnée de manière cohérente sur l'état du qubit 1, en pensant à cela comme un contrôle opération sur les qubits 2 et 3: X( 1 2CX1,3XC X 1 , 3(12X)

CX1,3=|00|14+|11|(12X)=[140404(12X)]=[12020202021202020202X02020202X],
où les deux derniers sont des représentations de matrice de bloc pour économiser de l'espace (et de la raison).

Mieux encore: nous pouvons reconnaître que - à un certain niveau mathématique où nous nous permettons de réaliser que l'ordre des facteurs tensoriels n'a pas besoin d'être dans un ordre fixe - le contrôle et la cible de l'opération peuvent être sur deux tenseurs quelconques facteurs, et que nous pouvons remplir la description de l'opérateur sur tous les autres qubits avec . Cela nous permettrait de passer directement à la représentation C X 1 , 312C X 3 , 1

CX1,3=|00|control12uninvolved12target+|11|control12uninvolvedXtarget=[12020202021202020202020202020202]+[02020202020202020202X02020202X]
et nous permet également de voir immédiatement quoi faire si les rôles de contrôle et de cible sont inversés: CX1,3=| 0
CX3,1=12target12uninvolved|00|control+Xtarget12uninvolved|11|control=[|00||00||00||00|]+[|11||11||11||11|]=[1000000000100000000001000000000100000100000000011000000000100000].
Mais le meilleur de tous: si vous pouvez écrire ces opérateurs algébriquement, vous pouvez faire les premiers pas vers la suppression des matrices géantes entièrement, au lieu de cela raisonner algébriquement ces opérateurs en utilisant des expressions telles que et C X 3 , 1 = 1 2CX1,3=|00|1212+|11|12XCX3,1=1212|00|+X12|11|. Il y aura bien sûr une limite à ce que vous pouvez faire avec ces derniers - un simple changement de représentation est peu susceptible de rendre un algorithme quantique difficile à résoudre efficacement, et encore moins traitable par calcul manuel - mais vous pouvez raisonner sur des circuits simples beaucoup plus efficacement en utilisant ces expressions qu'avec des matrices géantes mangeuses d'espace.

Oh oui, je me souviens des projecteurs depuis le début du livre Mermin. Les projecteurs et l'ajout de matrice sont un moyen d'encoder la logique conditionnelle dans les matrices!
ahelwer

"un simple changement de représentation est peu susceptible de rendre un algorithme quantique difficile à résoudre efficacement" - qu'en est-il dans le cas de la rotation des mèches?
meowzz

1
@meowzz: De temps en temps, un tel changement de notation vous permet d'avancer conceptuellement et vous aide à résoudre plus facilement les problèmes. Mais pas souvent, et probablement pas dans le cas de ce changement particulier de notation, qui est raisonnablement bien connu. En ce qui concerne le cas spécifique de la rotation des mèches, cependant, la question que je poserais est de savoir quelle avancée spécifique elle a permis de résoudre des problèmes et pour quels problèmes elle a été utile.
Niel de Beaudrap

8

C'est une bonne question; c'est celui que les manuels scolaires semblent se faufiler. J'ai atteint cette question exacte lors de la préparation d'une conférence sur l'informatique quantique il y a quelques jours.

Pour autant que je sache, il n'y a aucun moyen d'obtenir la matrice de 8x8 désirée à l' aide du produit de Kronecker notation pour les matrices. Tout ce que vous pouvez vraiment dire est: votre opération d'application de CNOT à trois qubits, le contrôle étant le premier et la cible étant le troisième, a les effets suivants:

|000|000

|001|001

|010|010

|011|011

|100|101

|101|100

|110|111

|111|110

et donc il est donné par la matrice suivante:

U=[1000000001000000001000000001000000000100000010000000000100000010]

Cette matrice n'est en effet ni ni . Il n'y a pas de notation succincte basée sur le produit Kronecker; C'est juste ce que c'est.UI2CNOTCNOTI2


1

Comme idée générale, CNOT retourne la cible en fonction du contrôle. Je choisis de retourner la cible si le contrôle est , vous pouvez également le choisir . Supposons donc tout état multiparticulaire général . Maintenant, vous choisissez votre contrôle et votre cible, disons que est le contrôle et est la cible. L'application de CNOT sur ne fera que (=[1 0]T)(=[0 1]T)|ϕ=|123....n1nithkth|ϕ

CNOT|ϕ=CNOT|12...i...k...n1n=|12...i...k...n1n

Pour construire la matrice d'une telle porte CNOT, nous appliquons ( matrice -Pauli) si le état est en hausse et nous appliquons ( Identité) si le état est en panne. Nous appliquons ces matrices à la position, qui est notre cible. Mathématiquement, xσxxithI2×2ithkth

CNOT=[|1...i...k11...i...k1|σx|k+1...nk+1...n|+all permutations of states other then ith]+[|1...i...k11...i...k1|I|k+1...nk+1...n|+all permutations of states other then ith]

Remarque état (cible) est exclu lors de la création de la matrice de permutation et en position l'opérateur ou est écrit.kthkthσxI

Prenons un exemple de cinq qubits dans lesquels qubit est la cible et est le contrôle. Permet de construire la matrice de permutation de . Je prends, si le contrôle est retourner la cible. Vous pouvez également prendre l'inverse.2nd4thCNOT

CNOT=|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|

-2

écrire d'abord la matrice CNOT⊗𝐼2, puis changer l'ordre des index2 et index3 avec matlab. de cette façon, vous pouvez faire n'importe quel nombre de qubits.


Salut! Pourriez-vous développer votre réponse pour la rendre plus claire? Peut-être qu'un exemple aiderait :)
met927
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.