¿Cómo derivar la matriz CNOT para un sistema de 3 qbit donde los qbits de control y objetivo no son adyacentes?


15

En un sistema de tres qbit, es fácil derivar el operador CNOT cuando los qbits de control y objetivo son adyacentes en importancia: simplemente tensoriza el operador CNOT de 2 bits con la matriz de identidad en la posición de importancia del qbit intacto:

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

Sin embargo, no es obvio cómo derivar el operador CNOT cuando los qbits de control y objetivo no son adyacentes en importancia:

C20|ϕ2ϕ1ϕ0

¿Cómo se hace esto?


Respuestas:


14

Para una presentación de primeros principios, me gusta la respuesta de Ryan O'Donnell . Pero para un tratamiento algebraico de nivel ligeramente superior, así es como lo haría.

La característica principal de una operación de controlada , para cualquier U unitaria , es que realiza (coherentemente) una operación en algunos qubits dependiendo del valor de algún qubit único. La forma en que podemos escribir esto explícitamente algebraicamente (con el control en el primer qubit) es: C UUU , donde 1 es una matriz de identidad de la misma dimensión que U . Aquí | 0

CU=|00|1+|11|U
1Uy | 1 |00|son proyectores en los estados | 0 y | 1 del qubit de control - pero no estamos usando aquí como elementos de una medición, pero para describir el efecto sobre los otros qubits en función de uno u otro subespacio del espacio de estado del primer qubit.|11||0|1

Podemos usar esto para derivar la matriz para la puerta que realiza una operación X en el qubit 3, condicionada coherentemente al estado del qubit 1, al considerar esto como un control- ( 1 2CX1,3X operación en qubits 2 y 3: C X 1 , 3(12X) donde los dos últimos son representaciones de matriz de bloque para ahorrar espacio (y cordura).

CX1,3=|00|14+|11|(12X)=[140404(12X)]=[12020202021202020202X02020202X],

Mejor aún: podemos reconocer que, en algún nivel matemático donde nos permitimos darnos cuenta de que el orden de los factores tensoriales no tiene que estar en un orden fijo, el control y el objetivo de la operación pueden estar en dos tensor factores, y que podemos completar la descripción del operador en todos los demás qubits con . Esto nos permitiría saltar directamente a la representación C X 1 , 312 y también nos permite ver de inmediato qué hacer si los roles de control y objetivo son invertido: C X 3 , 1

CX1,3=|00|control12uninvolved12target+|11|control12uninvolvedXtarget=[12020202021202020202020202020202]+[02020202020202020202X02020202X]
Pero lo mejor de todo: si puede escribir estos operadores algebraicamente, puede dar los primeros pasos para prescindir completamente de las matrices gigantes, en lugar de razonar sobre estos operadores algebraicamente usando expresiones comoCX1,3=| 0
CX3,1=12target12uninvolved|00|control+Xtarget12uninvolved|11|control=[|00||00||00||00|]+[|11||11||11||11|]=[1000000000100000000001000000000100000100000000011000000000100000].
y C X 3 , 1 = 1 2CX1,3=El |0 00 0El |1212+El |11El |12X. Por supuesto, habrá un límite en cuanto a lo que puede hacer con estos: un simple cambio en la representación es poco probable que haga que un algoritmo cuántico difícil sea solucionable de manera eficiente, y mucho menos manejable mediante cálculo manual, pero puede razonar sobre circuitos simples de manera mucho más efectiva usando estas expresiones que con matrices gigantes que comen espacio.CX3,1=1212El |0 00 0El |+X12El |11El |

Oh sí, recuerdo los proyectores desde el principio en el libro de Mermin. ¡Los proyectores y la suma de matrices son una forma de codificar la lógica condicional en matrices!
ahelwer

"es improbable que un simple cambio de representación haga que un algoritmo cuántico difícil sea eficazmente solucionable", ¿qué pasa en el caso de la rotación de mechas?
meowzz

1
@meowzz: de vez en cuando, un cambio en la notación le permite hacer un avance conceptual y le ayuda a resolver problemas más fácilmente. Pero no con frecuencia, y probablemente no en el caso de este cambio particular de notación, que es razonablemente conocido. Sin embargo, en cuanto al caso específico de la rotación de Wick, la pregunta que haría es qué avance específico hizo posible resolver problemas y para qué problemas fue útil.
Niel de Beaudrap

8

Esta es una buena pregunta; Es uno que los libros de texto parecen escabullirse. Llegué a esta pregunta exacta cuando preparé una conferencia de computación cuántica hace un par de días.

Por lo que yo puedo decir, no hay manera de conseguir la matriz 8x8 deseada usando el producto de Kronecker notación para las matrices. Todo lo que realmente puede decir es: su operación de aplicar CNOT a tres qubits, siendo el control el primero y el objetivo el tercero, tiene los siguientes efectos:

El |000El |000

El |001El |001

El |010El |010

El |011El |011

El |100El |101

El |101El |100

El |110El |111

El |111El |110

y por lo tanto está dado por la siguiente matriz:

U=[10 00 00 00 00 00 00 00 010 00 00 00 00 00 00 00 010 00 00 00 00 00 00 00 010 00 00 00 00 00 00 00 00 010 00 00 00 00 00 010 00 00 00 00 00 00 00 00 00 010 00 00 00 00 00 010 0]

Uyo2CnorteOTCnorteOTyo2


1

(=[1 0 0]T)(=[0 0 1]T)El |ϕ=El |123....norte-1norteyothkthEl |ϕ

CnorteOTEl |ϕ=CnorteOTEl |12...yo...k...norte-1norte=El |12...yo...k...norte-1norte

σXXyothyo2×2yothkth

CnorteOT=[El |1...yo...k-11...yo...k-1El |σXEl |k+1...nortek+1...norteEl |+unll pagmirmetrotutuntyoonortes oF stuntmis othmir thminorte yoth]+[El |1...yo...k-11...yo...k-1El |yoEl |k+1...nortek+1...norteEl |+unll pagmirmetrotutuntyoonortes oF stuntmis othmir thminorte yoth]

kthkthσXyo

2nortere4 4thCnorteOT

CnorteOT=El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |σXEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |+El |11El |yoEl |34 45 534 45 5El |

-2

primero escriba la matriz CNOT⊗𝐼2, luego cambie el orden de index2 e index3 con matlab. de esta manera, puedes hacer cualquier cantidad de qubits.


¡Hola! ¿Podría ampliar su respuesta para aclararla? Tal vez un ejemplo ayudaría :)
met927
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.