A principal diferença é que o código Bacon-Shor é um código de subsistema , enquanto o código Shor é um código estabilizador . Eles têm os mesmos operadores estabilizadores , mas o procedimento de correção de erros é diferente. A referência canônica para esta construção é [Poulin] .
Os códigos do estabilizador dependem da medição dos valores próprios dos operadores pendulares (os estabilizadores). Como esses operadores comutam, podemos rotular subespaços do espaço de estado por esses autovalores. Em particular, o espaço conjunto +1 eigenspace é o espaço de código . Se alguma de nossas medições resultar em um autovalor -1, sabemos que o estado saiu do espaço de código e pode (espero) fazer alguma coisa para corrigir isso.
Com os códigos do subsistema, também medimos os autovalores de alguns operadores, mas desta vez eles não formam um conjunto de operadores pendulares. Esses operadores são chamados de operadores de medidores . Eles geram um grupo chamado grupo de medidores . O truque para essa construção é que o centro do grupo de medidores é o grupo estabilizador. Este é o grupo de operadores gerados pelos operadores de medidores que se comutam com todos os elementos do grupo de medidores.
Como isso funciona na prática: suponha que você tenha um operador de estabilizador escrito como um produto de operadores calibre { g i } :s{gi}
s = ∏EugEu.
Agora vamos em frente e medimos cada um dos . Cada medida fornece um autovalor aleatório λ i = ± 1, mas o produto destes λ = ∏ λ i rotula o espaço próprio de s ao qual o estado pertence. Depois de termos todos os autovalores dos estabilizadores dessa maneira, podemos (espero) fazer algo para retificar o estado.gEuλEu= ± 1λ = ∏ λEus
Um exemplo: acho útil pensar no "código Bacon-Shor de 4 qubit". Este é um erro ao detectar o código do subsistema. Os operadores de medidores são
{ XXEuEu, IEuXX, ZEuZEu, IZEuZ} .
Pense neles como operando em uma estrutura de qubits. Estes operadores gerar os estabilizadores X X X X e Z Z Z Z . Uma vez que medimos X X I I e I I X X Multiplicamos as duas medições de valores próprios para encontrar o valor próprio de X X X X . Esses operadores de medidores são "mais fáceis" de medir, porque envolvem apenas dois qubits, mas o custo é que atrapalhamos o estado de outras maneiras. Essas "outras formas" são as , e não nos importamos com elas. Os qubits codificados, ou2 × 2XXXXZZZZ.XXEuEuEuEuXXXXXX qubits de bitolaqubits lógicos são os que estamos tentando preservar. Os operadores que atuam nos qubits codificados são os operadores lógicos . Para este exemplo, estes são e X I X I . Como exercício, eu recomendaria elaborar os vetores próprios (e os espaços próprios) correspondentes para todos esses operadores.ZZEuEuXEuXEu
Os códigos Bacon-Shor maiores funcionam de maneira semelhante. Para um reticulado de qubits, há um grupo de operadores de calibre 2-qubit, dispostas como "dominó" sobre a estrutura. on × noperadores de medidor do tipo X são dominós horizontais e osoperadores de medidor do tipo Z são dominós verticais. Uma pilha vertical de n dosdominós do tipo X gera umestabilizador do tipo X em n × 2 qubits. E assim por diante.XZnXXn × 2
A relevância para a computação quântica adiabática é que podemos formar um hamiltoniano a partir desses operadores, como a soma negativa dos operadores de medidores. O espaço de base do Hamiltoniano corresponde aos qubits lógicos do código do medidor, e as excitações do estado correspondem a erros. Para o código Bacon-Shor, a diferença deste Hamiltoniano vai para zero à medida que o tamanho do sistema aumenta. Portanto, este hamiltoniano não trabalha para proteger o estado codificado (energeticamente.) Esse hamiltoniano também é conhecido como modelo de bússola quântica .
Também escrevi um artigo sobre códigos de subsistemas e hamiltonianos .