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 qubits são operadores de Pauli de qubits em vez de cadeias clássicas de 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 qubits e usa extensivamente os fatos de que os operadores hermitianos (aqueles com fatores escalares em vez de ) em têm autovalores e que dois operadores em ou comutam ou anticomutam.

Um estabilizador de um código estabilizador com qubits físicos é um operador de Pauli de qubits tal que todos os estados de código válidos estão no -autoespaço de , ou seja, . Um código estabilizador é definido pelos seus estabilizadores no sentido de que o inverso também é verdadeiro: um estado é um estado de código válido para o código estabilizador se e somente se é válido para cada estabilizador . Portanto, o -autoespaço simultâneo dos estabilizadores constitui o espaço de código do código estabilizador.

Quaisquer dois estabilizadores e devem comutar e também deve ser um estabilizador. Portanto, os estabilizadores de um código formam o grupo estabilizador , um subgrupo abeliano de . Por outro lado, qualquer subgrupo abeliano de que não contenha Esta condição implica que todos os membros de são hermitianos, uma vez que um elemento anti-hermitiano de eleva ao quadrado para . é 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 qubits codificando qubits lógicos (denotado como um código ), o espaço de código tem dimensões, e o grupo estabilizador tem elementos. Como todos os elementos hermitianos não unitários de têm ordem 2, pode ser gerado por geradores independentes:

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 ). 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 pode ser considerado um código estabilizador quântico . Ele codifica qubit lógico em qubits físicos e protege contra um erro de inversão de bit (representado como um operador de Pauli 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 , sua distância de código como um código quântico é .

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

O estabilizador indica que, se o primeiro e o segundo qubits em um estado de código válido forem ambos medidos na base , os resultados serão sempre os mesmos (ou seja, o produto dos autovalores de será sempre ). Da mesma forma, indica que a medição da base no segundo e terceiro qubits sempre produz o mesmo resultado. Sem surpresa, o espaço de código deste código é . Normalmente, o estado físico e são identificados com os estados e do qubit lógico, respectivamente (frequentemente escritos como e 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 e , como e . Observe que um erro de inversão de fase em qualquer qubit físico mudará para e vice-versa.

Código de cinco qubits

Um exemplo de um código estabilizador é o código estabilizador de cinco qubits . Ele codifica qubit lógico em qubits físicos. Seu grupo estabilizador tem geradores:

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 .

Operadores lógicos Há muitas maneiras de decompor um espaço de código de dimensões em qubits lógicos, e uma maneira de especificar tal decomposição é dando os operadores de Pauli e para cada qubit lógico. Para códigos estabilizadores, existem decomposições onde esses operadores lógicos e também são elementos de .

Por definição, um operador lógico deve mapear um estado de código válido para um estado de código válido . Isso significa que, para cada estabilizador , (a segunda igualdade é válida porque é em si um estado de código válido), o que é sempre verdadeiro quando e comutam e nunca verdadeiro quando eles anticomutam. Portanto, o conjunto de operadores lógicos válidos em é , o centralizador de (ou seja, o subgrupo de elementos que comutam com todos os membros de , 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 é um subgrupo abeliano, também está contido em . De fato, quando , , o que significa que implementa o operador identidade lógica . Além disso, para qualquer outro operador lógico , atua de forma idêntica a no estado de código e, portanto, eles implementam o mesmo operador lógico. Fatorando essa equivalência, obtemos o grupo quociente , que é isomórfico a . Portanto, todos os operadores lógicos de Pauli de qubits podem ser escolhidos como operadores de Pauli físicos de qubits.

Para especificar explicitamente a decomposição do qubit lógico, geralmente se escolhem operadores lógicos . Cada um desses operadores ou é um representante para a classe de equivalência ou implementando o mesmo operador lógico. Esses operadores precisam satisfazer as seguintes condições: são todos independentes: o produto de qualquer subconjunto não vazio desses operadores não pode ser um múltiplo escalar de . Entre , os únicos pares que anticomutam são e para o mesmo . 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:

Outros operadores de um único qubit são implementações alternativas do operador lógico: , . Isso é consistente com a observação acima de que qualquer erro de inversão de fase de um único qubit muda para e vice-versa. Também é fácil verificar que a aplicação de , ou seja, inverter bits de todos os três qubits, muda para e vice-versa.

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

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 ). Por exemplo, 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 . Suponha que os erros que afetam um estado quântico codificado são um subconjunto do grupo de Pauli :

Como e são ambos subconjuntos de , um erro ou comuta ou anticomuta com qualquer elemento particular . Se anticomuta com um elemento , então , o que significa que está no -autoespaço de em vez do -autoespaço e, portanto, é detectável por medição de . Na verdade, basta medir cada gerador estabilizador , pois se comuta com todos os , então também comutará com o produto de qualquer número deles. Neste caso, é um operador lógico e, portanto, não pode ser detectado pelo código.

No entanto, é novamente um caso especial, onde 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 , uma vez que uma fase global não tem efeito físico. Definimos um erro lógico indetectável como aquele que é indetectável, mas corrompe o estado codificado, ou seja,

A igualdade acima fornece uma caracterização alternativa de um erro lógico indetectável : 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 , em vez de resolver um sistema de equações lineares para determinar se é o produto de algum subconjunto de até a fase global.

Operacionalmente, cada gerador estabilizador 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 é conhecida como síndrome , representada como um vetor binário com comprimento cujos elementos indicam se o erro comuta ou anticomuta com cada gerador estabilizador .

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 Embora os erros de Pauli sejam todos auto-adjuntos, aqui usamos notações que se alinham com a teoria mais geral de correção de erros quânticos. para cada síndrome. Se houver outro erro possível com a mesma síndrome que , então após a correção pode haver um erro residual . A condição de que tem a mesma síndrome que é equivalente a que seja indetectável, ou seja, . No entanto, se 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 desde que não existam tais que seja um erro lógico indetectável.Na maioria dos casos, é definido de forma a incluir , para ser escolhido como a correção quando nenhum erro ocorreu. Dessa forma, o caso sem erro não precisa ser tratado especialmente.

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 . De fato, o único erro lógico indetectável que consiste apenas em e é com peso 3, e o produto de dois erros em . Isso também pode ser verificado verificando explicitamente as correções correspondentes a cada síndrome:

Síndrome Correção