Em computação quântica e comunicação quântica, um código estabilizador é uma classe de códigos quânticos para realizar correção de erros quânticos. O código tórico e os códigos de superfície em geral são tipos de códigos estabilizadores considerados muito importantes para a realização prática do processamento de informação quântica. De fato, o código tórico e os códigos de superfície também pertencem a uma classe especial de códigos estabilizadores, os códigos CSS. Um exemplo de código estabilizador que não é um código CSS é o código de correção de erros de cinco qubits. Os códigos estabilizadores são notavelmente semelhantes aos códigos de bloco lineares clássicos na sua operação e desempenho. Assim como um código de bloco linear clássico pode ser definido pela sua matriz de verificação de paridade, um código estabilizador quântico também tem uma estrutura de "verificação de paridade" definida pelos seus estabilizadores. No entanto, os estabilizadores para um código de

n

{\displaystyle n}

qubits são operadores de Pauli de

n

{\displaystyle n}

qubits em vez de cadeias clássicas de

n

{\displaystyle n}

bits, e todos devem comutar entre si para que o código seja válido. A teoria dos códigos estabilizadores permite importar alguns códigos binários ou quaternários clássicos para uso como um código quântico. No entanto, ao importar o código clássico, ele deve satisfazer a restrição de conter o dual (ou de ser auto-ortogonal). Os pesquisadores encontraram muitos exemplos de códigos clássicos que satisfazem essa restrição, mas a maioria dos códigos clássicos não o faz. No entanto, ainda é útil importar códigos clássicos dessa maneira. O formalismo estabilizador assistido por emaranhamento também pode superar essa dificuldade. Os códigos de geometria algébrica fornecem outra fonte de construções de estabilizadores. Matsumoto usou curvas algébricas para obter códigos estabilizadores binários assintoticamente bons e para melhorar o limite de Ashikhmin-Litsyn-Tsfasman para códigos quânticos.

Definição O formalismo estabilizador é baseado no grupo de Pauli de

n

{\displaystyle n}

qubits

Π

n

{\displaystyle \Pi ^{n}}

e usa extensivamente os fatos de que os operadores hermitianos (aqueles com fatores escalares

± 1

{\displaystyle \pm 1}

em vez de

± i

{\displaystyle \pm i}

) em

Π

n

{\displaystyle \Pi ^{n}}

têm autovalores

± 1

{\displaystyle \pm 1}

e que dois operadores em

Π

n

{\displaystyle \Pi ^{n}}

ou comutam ou anticomutam. Um estabilizador de um código estabilizador com

n

{\displaystyle n}

qubits físicos é um operador de Pauli de

n

{\displaystyle n}

qubits

P ∈

Π

n

{\displaystyle P\in \Pi ^{n}}

tal que todos os estados de código válidos

|

ψ ⟩

{\displaystyle |\psi \rangle }

estão no

+ 1

{\displaystyle +1}

-autoespaço de

P

{\displaystyle P}

, ou seja,

P

|

ψ ⟩ =

|

ψ ⟩

{\displaystyle P|\psi \rangle =|\psi \rangle }

. Um código estabilizador é definido pelos seus estabilizadores no sentido de que o inverso também é verdadeiro: um estado

|

ψ ⟩

{\displaystyle |\psi \rangle }

é um estado de código válido para o código estabilizador se e somente se

P

|

ψ ⟩ =

|

ψ ⟩

{\displaystyle P|\psi \rangle =|\psi \rangle }

é válido para cada estabilizador

P

{\displaystyle P}

. Portanto, o

+ 1

{\displaystyle +1}

-autoespaço simultâneo dos estabilizadores constitui o espaço de código do código estabilizador. Quaisquer dois estabilizadores

P

{\displaystyle P}

e

Q

{\displaystyle Q}

devem comutar e

P Q

{\displaystyle PQ}

também deve ser um estabilizador. Portanto, os estabilizadores de um código formam o grupo estabilizador

S

{\displaystyle {\mathcal {S}}}

, um subgrupo abeliano de

Π

n

{\displaystyle \Pi ^{n}}

. Por outro lado, qualquer subgrupo abeliano de

Π

n

{\displaystyle \Pi ^{n}}

que não contenha

−

I

⊗ n

{\displaystyle -I^{\otimes n}}

é um grupo estabilizador válido que define um código estabilizador. O número de qubits lógicos codificados em um código estabilizador é determinado pelo tamanho do espaço de código, que por sua vez é determinado pelo número de qubits físicos e pelo tamanho do grupo estabilizador. Para um código estabilizador de

n

{\displaystyle n}

qubits codificando

k

{\displaystyle k}

qubits lógicos (denotado como um código

[ [ n , k ] ]

{\displaystyle [[n,k]]}

), o espaço de código tem

2

k

{\displaystyle 2^{k}}

dimensões, e o grupo estabilizador

S

{\displaystyle {\mathcal {S}}}

tem

2

n − k

{\displaystyle 2^{n-k}}

elementos. Como todos os elementos hermitianos não unitários de

Π

n

{\displaystyle \Pi ^{n}}

têm ordem 2,

S

{\displaystyle {\mathcal {S}}}

pode ser gerado por

n − k

{\displaystyle n-k}

geradores independentes:

S

=

⟨

g

1

, ... ,

g

n − k

⟩

.

{\displaystyle {\mathcal {S}}=\left\langle g_{1},\ldots ,g_{n-k}\right\rangle .}

Os geradores devem ser independentes no sentido de que nenhum deles é um produto de qualquer número de outros geradores ou sua negação (caso contrário, eles gerariam

−

I

⊗ n

{\displaystyle -I^{\otimes n}}

). Eles são análogos às linhas da matriz de verificação de paridade de um código de bloco linear clássico.

Exemplos

Código de repetição clássico

Como um exemplo simples, o código de repetição clássico de 3 bits

[ 3 , 1 , 3 ]

{\displaystyle [3,1,3]}

pode ser considerado um código estabilizador quântico

[ [ 3 , 1 , 1 ] ]

{\displaystyle [[3,1,1]]}

. Ele codifica

k = 1

{\displaystyle k=1}

qubit lógico em

n = 3

{\displaystyle n=3}

qubits físicos e protege contra um erro de inversão de bit (representado como um operador de Pauli

X

{\displaystyle X}

X

i

{\displaystyle X_{i}}

em um contexto de informação quântica). No entanto, como ele não protege contra erros de inversão de fase de um único qubit

Z

i

{\displaystyle Z_{i}}

, sua distância de código como um código quântico é

d = 1

{\displaystyle d=1}

. O grupo estabilizador do código de repetição de 3 qubits tem

n − k = 2

{\displaystyle n-k=2}

geradores:

g

1

=

Z

Z

I

g

2

=

I

Z

Z

{\displaystyle {\begin{array}{ccc}g_{1}&=&Z&Z&I\\g_{2}&=&I&Z&Z\\\end{array}}}

O estabilizador

g

1

{\displaystyle g_{1}}

indica que, se o primeiro e o segundo qubits em um estado de código válido forem ambos medidos na base

Z

{\displaystyle Z}

, os resultados serão sempre os mesmos (ou seja, o produto dos autovalores de

Z

{\displaystyle Z}

será sempre

+ 1

{\displaystyle +1}

). Da mesma forma,

g

2

{\displaystyle g_{2}}

indica que a medição da base

Z

{\displaystyle Z}

no segundo e terceiro qubits sempre produz o mesmo resultado. Sem surpresa, o espaço de código deste código é

Span ⁡ (

|

000 ⟩ ,

|

111 ⟩ )

{\displaystyle \operatorname {Span} (|000\rangle ,|111\rangle )}

. Normalmente, o estado físico

|

000 ⟩

{\displaystyle |000\rangle }

e

|

111 ⟩

{\displaystyle |111\rangle }

são identificados com os estados

|

0 ⟩

{\displaystyle |0\rangle }

e

|

1 ⟩

{\displaystyle |1\rangle }

do qubit lógico, respectivamente (frequentemente escritos como

|

0 ̄

⟩

{\displaystyle |{\overline {0}}\rangle }

e

|

1 ̄

⟩

{\displaystyle |{\overline {1}}\rangle }

para distingui-los dos estados físicos). Como um código quântico, o espaço de código também inclui superposições de

|

0 ̄

⟩

{\displaystyle |{\overline {0}}\rangle }

e

|

1 ̄

⟩

{\displaystyle |{\overline {1}}\rangle }

, como

|

+ ̄

⟩ =

|

000 ⟩ +

|

111 ⟩

{\displaystyle |{\overline {+}}\rangle =|000\rangle +|111\rangle }

e

|

− ̄

⟩ =

|

000 ⟩ −

|

111 ⟩

{\displaystyle |{\overline {-}}\rangle =|000\rangle -|111\rangle }

. Observe que um erro de inversão de fase

Z

i

{\displaystyle Z_{i}}

em qualquer qubit físico mudará

|

+ ̄

⟩

{\displaystyle |{\overline {+}}\rangle }

para

|

− ̄

⟩

{\displaystyle |{\overline {-}}\rangle }

e vice-versa.

Código de cinco qubits

Um exemplo de um código estabilizador é o código estabilizador de cinco qubits

[ [ 5 , 1 , 3 ] ]

{\displaystyle [[5,1,3]]}

. Ele codifica

k = 1

{\displaystyle k=1}

qubit lógico em

n = 5

{\displaystyle n=5}

qubits físicos. Seu grupo estabilizador tem

n − k = 4

{\displaystyle n-k=4}

geradores:

g

1

=

X

Z

Z

X

I

g

2

=

I

X

Z

Z

X

g

3

=

X

I

X

Z

Z

g

4

=

Z

X

I

X

Z

{\displaystyle {\begin{array}{ccccccc}g_{1}&=&X&Z&Z&X&I\\g_{2}&=&I&X&Z&Z&X\\g_{3}&=&X&I&X&Z&Z\\g_{4}&=&Z&X&I&X&Z\end{array}}}

Como mostraremos mais tarde, este código protege contra um erro arbitrário de um único qubit e, portanto, tem distância de código

d = 3

{\displaystyle d=3}

.

Operadores lógicos Há muitas maneiras de decompor um espaço de código de

2

k

{\displaystyle 2^{k}}

dimensões em

k

{\displaystyle k}

qubits lógicos, e uma maneira de especificar tal decomposição é dando os operadores de Pauli

Z

{\displaystyle Z}

e

X

{\displaystyle X}

para cada qubit lógico. Para códigos estabilizadores, existem decomposições onde esses operadores lógicos

Z

{\displaystyle Z}

e

X

{\displaystyle X}

também são elementos de

Π

n

{\displaystyle \Pi ^{n}}

. Por definição, um operador lógico

P

{\displaystyle P}

deve mapear um estado de código válido

|

ψ ⟩

{\displaystyle |\psi \rangle }

para um estado de código válido

P

|

ψ ⟩

{\displaystyle P|\psi \rangle }

. Isso significa que, para cada estabilizador

S

{\displaystyle S}

,

S P

|

ψ ⟩ = P

|

ψ ⟩ = P S

|

ψ ⟩

{\displaystyle SP|\psi \rangle =P|\psi \rangle =PS|\psi \rangle }

(a segunda igualdade é válida porque

|

ψ ⟩

{\displaystyle |\psi \rangle }

é em si um estado de código válido), o que é sempre verdadeiro quando

P

{\displaystyle P}

e

S

{\displaystyle S}

comutam e nunca verdadeiro quando eles anticomutam. Portanto, o conjunto de operadores lógicos válidos em

Π

n

{\displaystyle \Pi ^{n}}

é

C (

S

)

{\displaystyle C({\mathcal {S}})}

, o centralizador de

S

{\displaystyle {\mathcal {S}}}

(ou seja, o subgrupo de elementos que comutam com todos os membros de

S

{\displaystyle {\mathcal {S}}}

, também conhecido como comutante). No entanto, nem todos esses operadores lógicos atuam de forma não trivial no qubit lógico. Em particular, como

S

{\displaystyle {\mathcal {S}}}

é um subgrupo abeliano,

S

{\displaystyle {\mathcal {S}}}

também está contido em

C (

S

)

{\displaystyle C({\mathcal {S}})}

. De fato, quando

S ∈

S

{\displaystyle S\in {\mathcal {S}}}

,

S

|

ψ ⟩ =

|

ψ ⟩

{\displaystyle S|\psi \rangle =|\psi \rangle }

, o que significa que

S

{\displaystyle S}

implementa o operador identidade lógica

I

⊗ k

{\displaystyle I^{\otimes k}}

. Além disso, para qualquer outro operador lógico

P

{\displaystyle P}

,

P S

{\displaystyle PS}

atua de forma idêntica a

P

{\displaystyle P}

no estado de código e, portanto, eles implementam o mesmo operador lógico. Fatorando essa equivalência, obtemos o grupo quociente

C (

S

)

/

S

{\displaystyle C({\mathcal {S}})/{\mathcal {S}}}

, que é isomórfico a

Π

k

{\displaystyle \Pi ^{k}}

. Portanto, todos os operadores lógicos de Pauli de

k

{\displaystyle k}

qubits podem ser escolhidos como operadores de Pauli físicos de

n

{\displaystyle n}

qubits. Para especificar explicitamente a decomposição do qubit lógico, geralmente se escolhem operadores lógicos

Z ̄

1

,

X ̄

1

, ... ,

Z ̄

k

,

X ̄

k

∈

Π

n

{\displaystyle {\overline {Z}}_{1},{\overline {X}}_{1},\ldots ,{\overline {Z}}_{k},{\overline {X}}_{k}\in \Pi ^{n}}

. Cada um desses operadores

Z ̄

i

{\displaystyle {\overline {Z}}_{i}}

ou

X ̄

i

{\displaystyle {\overline {X}}_{i}}

é um representante para a classe de equivalência

Z ̄

i

S

{\displaystyle {\overline {Z}}_{i}{\mathcal {S}}}

ou

X ̄

i

S

{\displaystyle {\overline {X}}_{i}{\mathcal {S}}}

implementando o mesmo operador lógico. Esses operadores precisam satisfazer as seguintes condições:

Z ̄

1

,

X ̄

1

, ... ,

Z ̄

k

,

X ̄

k

,

g

1

, ... ,

g

n − k

{\displaystyle {\overline {Z}}_{1},{\overline {X}}_{1},\ldots ,{\overline {Z}}_{k},{\overline {X}}_{k},g_{1},\ldots ,g_{n-k}}

são todos independentes: o produto de qualquer subconjunto não vazio desses operadores não pode ser um múltiplo escalar de

I

⊗ n

{\displaystyle I^{\otimes n}}

. Entre

Z ̄

1

,

X ̄

1

, ... ,

Z ̄

k

,

X ̄

k

,

g

1

, ... ,

g

n − k

{\displaystyle {\overline {Z}}_{1},{\overline {X}}_{1},\ldots ,{\overline {Z}}_{k},{\overline {X}}_{k},g_{1},\ldots ,g_{n-k}}

, os únicos pares que anticomutam são

Z ̄

i

{\displaystyle {\overline {Z}}_{i}}

e

X ̄

i

{\displaystyle {\overline {X}}_{i}}

para o mesmo

i

{\displaystyle i}

. Outros pares — dois operadores lógicos em diferentes qubits lógicos, um operador lógico e um gerador estabilizador ou dois geradores estabilizadores — todos comutam.

Exemplos Para o código de repetição de 3 qubits descrito acima, os geradores estabilizadores (repetidos por conveniência) e os representantes de operadores lógicos podem ser escolhidos como:

g

1

=

Z

Z

I

g

2

=

I

Z

Z

Z ̄

=

Z

I

I

X ̄

=

X

X

X

{\displaystyle {\begin{array}{ccc}g_{1}&=&Z&Z&I\\g_{2}&=&I&Z&Z\\{\overline {Z}}&=&Z&I&I\\{\overline {X}}&=&X&X&X\end{array}}}

Outros operadores

Z

{\displaystyle Z}

de um único qubit são implementações alternativas do operador

Z

{\displaystyle Z}

lógico:

Z

2

=

Z ̄

g

1

{\displaystyle Z_{2}={\overline {Z}}g_{1}}

,

Z

3

=

Z ̄

g

1

g

2

{\displaystyle Z_{3}={\overline {Z}}g_{1}g_{2}}

. Isso é consistente com a observação acima de que qualquer erro de inversão de fase de um único qubit muda

|

+ ̄

⟩

{\displaystyle |{\overline {+}}\rangle }

para

|

− ̄

⟩

{\displaystyle |{\overline {-}}\rangle }

e vice-versa. Também é fácil verificar que a aplicação de

X ̄

= X X X

{\displaystyle {\overline {X}}=XXX}

, ou seja, inverter bits de todos os três qubits, muda

|

0 ̄

⟩

{\displaystyle |{\overline {0}}\rangle }

para

|

1 ̄

⟩

{\displaystyle |{\overline {1}}\rangle }

e vice-versa. Para o código de cinco qubits, os representantes de operadores lógicos geralmente são escolhidos como:

g

1

=

X

Z

Z

X

I

g

2

=

I

X

Z

Z

X

g

3

=

X

I

X

Z

Z

g

4

=

Z

X

I

X

Z

Z ̄

=

Z

Z

Z

Z

Z

X ̄

=

X

X

X

X

X

{\displaystyle {\begin{array}{ccccccc}g_{1}&=&X&Z&Z&X&I\\g_{2}&=&I&X&Z&Z&X\\g_{3}&=&X&I&X&Z&Z\\g_{4}&=&Z&X&I&X&Z\\{\overline {Z}}&=&Z&Z&Z&Z&Z\\{\overline {X}}&=&X&X&X&X&X\end{array}}}

Observe, no entanto, que estes não são os candidatos a representantes de operadores lógicos com o menor peso (número de fatores de Pauli não

I

{\displaystyle I}

). Por exemplo,

Z ̄

g

1

= − Y I I Y Z

{\displaystyle {\overline {Z}}g_{1}=-YIIYZ}

tem peso 3.

Condições de correção de erros do estabilizador Um dos conceitos fundamentais na teoria da correção de erros quânticos é que basta corrigir um conjunto discreto de erros com suporte no grupo de Pauli

Π

n

{\displaystyle \Pi ^{n}}

. Suponha que os erros que afetam um estado quântico codificado são um subconjunto

E

{\displaystyle {\mathcal {E}}}

do grupo de Pauli

Π

n

{\displaystyle \Pi ^{n}}

:

E

⊂

Π

n

.

{\displaystyle {\mathcal {E}}\subset \Pi ^{n}.}

Como

E

{\displaystyle {\mathcal {E}}}

e

S

{\displaystyle {\mathcal {S}}}

são ambos subconjuntos de

Π

n

{\displaystyle \Pi ^{n}}

, um erro

E ∈

E

{\displaystyle E\in {\mathcal {E}}}

ou comuta ou anticomuta com qualquer elemento particular

S ∈

S

{\displaystyle S\in {\mathcal {S}}}

. Se

E

{\displaystyle E}

anticomuta com um elemento

S

{\displaystyle S}

, então

S E

|

ψ ⟩ = − E S

|

ψ ⟩ = − E

|

ψ ⟩

{\displaystyle SE|\psi \rangle =-ES|\psi \rangle =-E|\psi \rangle }

, o que significa que

E

|

ψ ⟩

{\displaystyle E|\psi \rangle }

está no

− 1

{\displaystyle -1}

-autoespaço de

S

{\displaystyle S}

em vez do

+ 1

{\displaystyle +1}

-autoespaço e, portanto,

E

{\displaystyle E}

é detectável por medição de

S

{\displaystyle S}

. Na verdade, basta medir cada gerador estabilizador

g

{\displaystyle g}

, pois se

E

{\displaystyle E}

comuta com todos os

g

{\displaystyle g}

, então

E

{\displaystyle E}

também comutará com o produto de qualquer número deles. Neste caso,

E ∈ C (

S

)

{\displaystyle E\in C({\mathcal {S}})}

é um operador lógico e, portanto, não pode ser detectado pelo código. No entanto,

E ∈

S

{\displaystyle E\in {\mathcal {S}}}

é novamente um caso especial, onde

E

{\displaystyle E}

implementa o operador identidade lógico: embora não seja detectável, também não corrompe o estado codificado. Isso também vale para qualquer múltiplo escalar de

E ∈

S

{\displaystyle E\in {\mathcal {S}}}

, uma vez que uma fase global não tem efeito físico. Definimos um erro lógico indetectável

E

{\displaystyle E}

como aquele que é indetectável, mas corrompe o estado codificado, ou seja,

E ∈ C (

S

) ∖ { + 1 , + i , − 1 , − i } ⊗

S

= C (

S

) ∖ C ( C (

S

) ) .

{\displaystyle E\in C({\mathcal {S}})\setminus \{+1,+i,-1,-i\}\otimes {\mathcal {S}}=C({\mathcal {S}})\setminus C(C({\mathcal {S}})).}

A igualdade acima fornece uma caracterização alternativa de um erro lógico indetectável

E

{\displaystyle E}

:

E

{\displaystyle E}

deve comutar com todos os estabilizadores, mas não com todos os operadores lógicos. Essa caracterização é frequentemente mais conveniente, pois só é necessário verificar a comutatividade com os geradores

Z ̄

1

,

X ̄

1

, ... ,

Z ̄

k

,

X ̄

k

,

g

1

, ... ,

g

n − k

{\displaystyle {\overline {Z}}_{1},{\overline {X}}_{1},\ldots ,{\overline {Z}}_{k},{\overline {X}}_{k},g_{1},\ldots ,g_{n-k}}

, em vez de resolver um sistema de equações lineares para determinar se

E

{\displaystyle E}

é o produto de algum subconjunto de

{

g

i

}

{\displaystyle \{g_{i}\}}

até a fase global. Operacionalmente, cada gerador estabilizador

g

{\displaystyle g}

pode ser medido por meio de uma medição de paridade sem perturbar os estados no espaço de código. A combinação dos resultados da medição de cada

g

{\displaystyle g}

é conhecida como síndrome

r

{\displaystyle \mathbf {r} }

, representada como um vetor binário

r

{\displaystyle \mathbf {r} }

com comprimento

n − k

{\displaystyle n-k}

cujos elementos indicam se o erro

E

{\displaystyle E}

comuta ou anticomuta com cada gerador estabilizador

g

{\displaystyle g}

.

Condições de Knill–Laflamme Ao usar um código estabilizador como um código de correção de erros, também se deve escolher uma correção

E

1

†

{\displaystyle E_{1}^{\dagger }}

para cada síndrome. Se houver outro erro possível

E

2

{\displaystyle E_{2}}

com a mesma síndrome que

E

1

{\displaystyle E_{1}}

, então após a correção pode haver um erro residual

E

1

†

E

2

{\displaystyle E_{1}^{\dagger }E_{2}}

. A condição de que

E

2

{\displaystyle E_{2}}

tem a mesma síndrome que

E

1

{\displaystyle E_{1}}

é equivalente a que

E

1

†

E

2

{\displaystyle E_{1}^{\dagger }E_{2}}

seja indetectável, ou seja,

E

1

†

E

2

∈ C (

S

)

{\displaystyle E_{1}^{\dagger }E_{2}\in C({\mathcal {S}})}

. No entanto, se

E

1

†

E

2

{\displaystyle E_{1}^{\dagger }E_{2}}

não corrompe os qubits lógicos, a correção de erros será bem-sucedida de qualquer maneira. Portanto, um código estabilizador pode corrigir perfeitamente um conjunto de erros de Pauli

E

{\displaystyle {\mathcal {E}}}

desde que não existam

E

1

,

E

2

∈

E

{\displaystyle E_{1},E_{2}\in {\mathcal {E}}}

tais que

E

1

†

E

2

{\displaystyle E_{1}^{\dagger }E_{2}}

seja um erro lógico indetectável.

Exemplos O código de repetição de 3 qubits pode corrigir erros de inversão de bit de um único qubit, o que significa que ele satisfaz as condições de correção de erros para

E

= { I ,

X

1

,

X

2

,

X

3

}

{\displaystyle {\mathcal {E}}=\{I,X_{1},X_{2},X_{3}\}}

. De fato, o único erro lógico indetectável que consiste apenas em

I

{\displaystyle I}

e

X

{\displaystyle X}

é

X X X

{\displaystyle XXX}

com peso 3, e o produto de dois erros em

E

{\displaystyle {\mathcal {E}}}

. Isso também pode ser verificado verificando explicitamente as correções correspondentes a cada síndrome:

O código de cinco qubits pode corrigir qualquer erro de um único qubit, ou seja, satisfaz as condições de correção de erros para

E

= { I ,

X

i

,

Y

i

,

Z

i

}

{\displaystyle {\mathcal {E}}=\{I,X_{i},Y_{i},Z_{i}\}}

(

1 + 5 × 3 = 16

{\displaystyle 1+5\times 3=16}

erros distintos). Isso pode ser verificado mostrando que todos os erros lógicos indetectáveis deste código têm peso pelo menos 3, ou verificando explicitamente as

2

4

= 16

{\displaystyle 2^{4}=16}

síndromes. Para o código de cinco qubits, novamente, cada síndrome corresponde a um erro em

E

{\displaystyle {\mathcal {E}}}

, embora isso não seja típico para códigos estabilizadores: para códigos como o código de superfície com altas distâncias de código e estabilizadores de peso relativamente baixo, uma síndrome geralmente corresponderá a muitos erros corrigíveis que diferem entre si por estabilizadores.

Relação entre o grupo de Pauli e vetores binários

O grupo de Pauli tem uma representação por vetor binário baseada no seguinte mapeamento:

I → 00 ,

X → 01 ,

Y → 11 ,

Z → 10.

{\displaystyle I\to 00,\;X\to 01,\;Y\to 11,\;Z\to 10.}

Este mapeamento mapeia

Π

n

{\displaystyle \Pi ^{n}}

para vetores em

(

Z

2

)

2 n

{\displaystyle (\mathbb {Z} _{2})^{2n}}

, de modo que a multiplicação de operadores de Pauli é equivalente à adição de vetores binários até uma fase global. Além disso,

(

Z

2

)

2 n

{\displaystyle (\mathbb {Z} _{2})^{2n}}

pode ser equipado com uma álgebra simplética, de modo que o produto simplético de dois vetores binários indica se os operadores de Pauli correspondentes comutam. A representação binária acima e a álgebra simplética são especialmente úteis para tornar mais explícita a relação entre a correção de erros linear clássica e os códigos estabilizadores quânticos. Na linguagem dos espaços vetoriais simpléticos, um subespaço simplético corresponde a uma soma direta de álgebras de Pauli (ou seja, qubits codificados), enquanto um subespaço isotrópico corresponde a um conjunto de estabilizadores.

Notas

Referências

Bibliografia D. Gottesman, "Stabilizer codes and quantum error correction," quant-ph/9705052, tese de doutorado do Caltech. https://arxiv.org/abs/quant-ph/9705052 Shor, Peter W. (1 de outubro de 1995). «Scheme for reducing decoherence in quantum computer memory». Physical Review A. 52 (4): R2493–R2496. PMID 9912632. doi:10.1103/physreva.52.r2493 Calderbank, A. R.; Shor, Peter W. (1 de agosto de 1996). «Good quantum error-correcting codes exist». Physical Review A. 54 (2): 1098–1105. PMID 9913578. arXiv:quant-ph/9512032. doi:10.1103/physreva.54.1098 Steane, A. M. (29 de julho de 1996). «Error Correcting Codes in Quantum Theory». Physical Review Letters. 77 (5): 793–797. PMID 10062908. doi:10.1103/physrevlett.77.793 A. Calderbank, E. Rains, P. Shor, e N. Sloane, "Quantum error correction via codes over GF(4)," IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998. Disponível em https://arxiv.org/abs/quant-ph/9608006