La diferencia clave es que el código Bacon-Shor es un código de subsistema , mientras que el código Shor es un código estabilizador . Tienen los mismos operadores estabilizadores , pero el procedimiento de corrección de errores es diferente. La referencia canónica para esta construcción es [Poulin] .
Los códigos del estabilizador se basan en la medición de los valores propios de los operadores de conmutación (los estabilizadores). Debido a que estos operadores conmutan, podemos etiquetar los subespacios del espacio de estado por estos valores propios. En particular, la articulación +1 eigenspace es el espacio de código . Si alguna de nuestras mediciones da como resultado un valor propio -1, sabemos que el estado se ha salido del espacio de código y puede (con suerte) hacer algo para rectificar esto.
Con los códigos de subsistema, también medimos valores propios de algunos operadores, pero esta vez no forman un conjunto de operadores de conmutación. Estos operadores se llaman operadores de calibre . Generan un grupo llamado grupo de indicadores . El truco de esta construcción es que el centro del grupo de medidores es el grupo estabilizador. Este es el grupo de operadores generado por los operadores de medidores que conmutan con cada elemento del grupo de medidores.
¿Cómo funciona esto en la práctica: suponga que tiene un operador estabilizador escrito como un producto de los operadores de calibre :s{gi}
s=∏igi.
Ahora seguimos adelante y medimos cada uno de los . Cada medida proporciona un valor propio aleatorio pero el producto de estos etiqueta el espacio propio de que pertenece el estado. Una vez que tengamos todos los valores propios de los estabilizadores de esta manera, podemos (con suerte) hacer algo para rectificar el estado.giλi=±1λ=∏λis
Un ejemplo: me resulta útil pensar en el "código Bacon-Shor de 4 qubits". Este es un error al detectar el código del subsistema. Los operadores del medidor son
{XXII,IIXX,ZIZI,IZIZ}.
Piense en estos como operando en una red de qubits. Estos operadores generan los estabilizadores yUna vez que medimos y , multiplicamos las dos medidas de valor propio para encontrar el valor propio de . Estos operadores de medidores son "más fáciles" de medir, porque solo involucran dos qubits, pero el costo es que arruinamos el estado de otras maneras. Estas "otras formas" son los qubits de calibre , y no nos importan. Los qubits codificados, o qubits lógicos, son los que estamos tratando de preservar. Los operadores que actúan sobre los qubits codificados son los operadores lógicos.2×2XXXXZZZZ.XXIIIIXXXXXX. Para este ejemplo estos son y . Como ejercicio, recomendaría trabajar con los vectores propios correspondientes (y espacios propios) para todos estos operadores.ZZIIXIXI
Los códigos más grandes de Bacon-Shor funcionan de manera similar. Para una red de qubits, hay un grupo de operadores de calibre de 2 qubit, dispuestos como "dominó" en la red. Los operadores de medidores de tipo son fichas de dominó horizontales, y los operadores de medidores de tipo son fichas de dominó verticales. Una pila vertical de del dominó de tipo genera un estabilizador de tipo en qubits. Y así.X Z n X X n × 2n×nXZnXXn×2
La relevancia para la computación cuántica adiabática es que podemos formar un Hamiltoniano a partir de estos operadores, como la suma negativa de los operadores del medidor. El espacio básico del hamiltoniano corresponde a los qubits lógicos del código del medidor, y las excitaciones del estado corresponden a errores. Para el código Bacon-Shor, la brecha de este hamiltoniano llega a cero a medida que crece el tamaño del sistema. Por lo tanto, este hamiltoniano no funciona para proteger el estado codificado (energéticamente). Este hamiltoniano también se conoce como el modelo de brújula cuántica .
También escribí un artículo sobre códigos de subsistemas y hamiltonianos .