Correção de erros quânticos (QEC) compreende um conjunto de técnicas usadas em memória quântica e computação quântica para proteger informação quântica contra erros provenientes da decoerência e de outras fontes de ruído quântico. Esquemas de QEC que empregam palavras-código estabilizadas por um conjunto de operadores que comutam são conhecidos como códigos estabilizadores, e as palavras-código correspondentes são chamadas de códigos de correção de erros quânticos (QECCs).
Conceitualmente, para usar um código de correção de erros quânticos, pode-se anexar qubits ancilla aos qubits que precisam de proteção e aplicar um circuito unitário de codificação para rotacionar o estado global para um subespaço de um espaço de Hilbert maior. Esse estado altamente emaranhado codificado corrige erros locais ruidosos. Um código de correção de erros quânticos torna a computação quântica e a comunicação quântica práticas ao fornecer uma maneira para um emissor e um receptor simularem um canal de qubit sem ruído, dado um canal quântico ruidoso cujo ruído está de acordo com um modelo de erro específico.
Visão geral Grande parte da terminologia em QEC é derivada de sua contraparte clássica, o código de correção de erros clássico. Na teoria da codificação clássica, um código é comumente denotado pela notação , que representa a codificação de bits lógicos em bits físicos com distância de código ; isto é, qualquer operação lógica requer a inversão de pelo menos d bits. Analogamente, um código quântico que codifica k qubits lógicos em n qubits físicos com distância de código d é denotado por . Embora essa codificação qubit-para-qubit seja a configuração mais comum, existem outras variantes — como codificações entre qubits e osciladores, ou entre próprios osciladores — já que implementações físicas de informação quântica podem envolver sistemas com mais de dois níveis de energia.
Com base nos parâmetros , pode-se definir uma figura de mérito chave para QECCs — a taxa de código, dada pela razão . A taxa de código mede a eficiência de um código: um valor mais alto corresponde a uma menor sobrecarga de recursos. Ela geralmente depende da distância d do código. Um QECC ideal alcança simultaneamente uma grande distância e uma alta taxa de código. Consequentemente, otimizar projetos de QECC para melhorar a taxa de código enquanto mantém distância suficiente é um objetivo central em QEC, tanto teórica quanto experimentalmente. Por outro lado, para casos onde e são fixos (geralmente pequenos), aumentar a taxa de código reduz os requisitos de recursos, tornando tais códigos particularmente adequados para implementações experimentais de pequena escala ou com recursos limitados.
Antes de considerar objetivos dependentes do cenário, um esquema de QEC consiste fundamentalmente em três estágios:
Codificação da informação lógica em portadores físicos, Transmissão ou armazenamento da informação codificada através de um canal espacial ou temporal (correspondendo respectivamente a comunicação ou memória), e Extração de síndrome e recuperação (decodificação) para identificar e corrigir erros.
Um QECC é construído sob suposições específicas sobre os tipos de erros que podem ocorrer e deve ser capaz de corrigi-los. Os estabilizadores a serem medidos são cuidadosamente escolhidos de modo a não revelar nenhuma informação lógica, mas apenas informação sobre os próprios erros — caso contrário, a medição destruiria qualquer sobreposição quântica deste qubit lógico com outros qubits no computador quântico, o que impediria seu uso para transmitir informação quântica. Na maioria dos QECCs, o tipo de erro é ou uma inversão de bit, ou uma inversão de fase, ou ambos (correspondendo às matrizes de Pauli , e ).
Existem várias estratégias para codificação e decodificação, incluindo algoritmos clássicos que mapeiam síndromes de erro medidas para suas operações de recuperação correspondentes. A sequência de portas quânticas aplicadas também pode ser otimizada, pois portas de múltiplos qubits são geralmente mais desafiadoras de implementar do que portas de um único qubit. Além disso, o número total de síndromes possíveis é , que pode ser proibitivamente grande para uma abordagem simples de tabela de consulta. Consequentemente, algoritmos clássicos de decodificação eficientes são geralmente necessários, exceto em casos onde a estrutura do código é suficientemente simples.
Em comparação com a memória quântica, onde os erros induzidos pelo canal são a principal preocupação, a aplicação frequente de portas quânticas na computação quântica exige um projeto tolerante a falhas. Para QECCs implementados em plataformas baseadas em qubits, a tolerância a falhas também leva em conta portas quânticas imperfeitas, preparação de estado defeituosa e erros de medição. Em contraste, para QECCs que codificam informação em osciladores, o termo tolerância a falhas às vezes é usado como sinônimo de correção de erros quântica comum e não carrega significado adicional.
Tipos de erros Os tipos de erros que ocorrem em um sistema quântico dependem fortemente da plataforma física subjacente, em vez de suposições independentes do dispositivo. Por exemplo, mesmo quando um qubit está sob controle ativo, ele permanece acoplado ao seu ambiente através de coeficientes de Einstein não nulos. Quando o ambiente é resfriado ao seu estado de vácuo, esse acoplamento dá origem a erros de amortecimento de amplitude (ou perda de excitação), que refletem a tendência do sistema de relaxar em direção ao equilíbrio térmico e são caracterizados por um tempo de relaxação. Além disso, mesmo um qubit isolado possui um Hamiltoniano intrínseco correspondente à sua dinâmica interna, levando a erros coerentes. Juntos, o amortecimento de amplitude e a evolução coerente contribuem para o desfasamento, um dos processos de ruído dominantes na maioria das implementações de qubits.
Como observado anteriormente, a maioria dos QECCs assume que os erros dominantes são inversões de bit, inversões de fase ou combinações de ambos — correspondendo aos operadores de Pauli. Uma suposição implícita neste quadro é que erros físicos gerais podem ser aproximados como elementos do grupo de Pauli. Sob esse modelo, o erro de cada qubit pode ser representado por dois bits clássicos (00: sem erro, 01: , 10: , 11: ). Consequentemente, erros em um sistema de n qubits podem ser descritos por uma cadeia binária de comprimento 2n, permitindo que técnicas clássicas de correção de erros sejam aplicadas sob restrições adequadas. Embora essa aproximação não capture todos os processos de ruído realistas, ela permanece amplamente usada porque simplifica bastante tanto a análise teórica quanto o projeto de códigos.
Esquemas de QEC mais gerais Os QECCs não abrangem todos os códigos quânticos possíveis. Eles pertencem à classe dos códigos aditivos, definidos dentro do formalismo de estabilizadores. Uma classe mais geral, conhecida como códigos não aditivos, estende-se além desse quadro. Por exemplo, o código codifica mais de dois qubits em cinco qubits físicos com distância de código dois. Códigos não aditivos podem, em princípio, alcançar taxas de código mais altas do que os aditivos, mas sua construção e análise são consideravelmente mais desafiadoras. Como resultado, eles permanecem relativamente inexplorados, com apenas estudos limitados até o momento.
Além de codificar qubits em qubits, a informação quântica também pode ser armazenada em sistemas físicos mais gerais, como sistemas de níveis (qudits) ou osciladores de dimensão infinita. Codificar um sistema lógico menor em um espaço de Hilbert físico maior é uma área ativa de pesquisa.
Famílias importantes de códigos +Alguns dos primeiros e mais significativos códigos que codificam qubit(s) lógico(s) em qubits físicosAnonkdNota1995Código de Shor913O primeiro código quântico corrige um único erro de Pauli.1996Código de Steane713Melhora a taxa de código com um design distinto do código de Shor.1996Código de Laflamme513O menor código possível que corrige um único erro de Pauli.1997Código tórico1O pioneiro dos códigos topológicos.1998Código de superfície1Um código topológico só precisa de verificações de estabilizadores locais. O primeiro QECC, batizado em homenagem a Peter Shor, pode ser generalizado como um código , que aumenta a distância do código às custas de uma taxa de código reduzida. Sua filosofia de projeto emprega códigos de repetição internos e externos para corrigir independentemente erros de inversão de bit e de fase. Em contraste, Andrew Steane melhorou a taxa de código substituindo os códigos de repetição pelo código de Hamming clássico e tratando erros de inversão de bit e de fase simetricamente, sem distinguir camadas internas e externas. A abordagem de Steane pode ser generalizada como códigos de Hamming quânticos . Uma generalização dessas abordagens levou ao desenvolvimento dos códigos CSS — batizados em homenagem a Robert Calderbank, Peter Shor e Andrew Steane. A estrutura dos códigos CSS é particularmente adequada para medição de síndrome tolerante a falhas, pois os estabilizadores e são separados de forma limpa.
Enquanto o código de Shor enfatiza a distância do código e o código de Steane enfatiza a taxa de código, outros códigos CSS podem ser construídos para equilibrar esses parâmetros. Por exemplo, usando códigos de repetição sobrepostos permite códigos CSS com desempenho melhorado e o código do tipo Shor é demonstrado. Além disso, este código do tipo Shor pode ser modificado como códigos de subsistema, como o código de Bacon–Shor que pode otimizar a medição de síndrome.
O teorema do limiar quântico mostra que computações quânticas de comprimento arbitrário são possíveis. Ele afirma que erros podem ser corrigidos concatenando recursivamente códigos quânticos — como códigos CSS — através de níveis logaritmicamente muitos, desde que a taxa de erro de portas quânticas individuais permaneça abaixo de um certo limiar. Acima desse limiar, tentativas de medir síndromes e corrigir erros introduziriam mais erros do que eliminariam. Em 2004, estimativas sugerem que este limiar poderia ser tão alto quanto 1–3%, assumindo que um número suficientemente grande de qubits esteja disponível. Para alcançar uma taxa de código mais alta para codificar um único qubit lógico com correção de erro único, Raymond Laflamme e colaboradores descobriram um código de cinco qubits usando quatro estabilizadores que misturam operadores e . Uma variante bem conhecida emprega quatro estabilizadores cíclicos . Embora este código claramente não seja um código CSS, DiVincenzo e Shor demonstraram que ele ainda pode ser tornado tolerante a falhas. O código de cinco qubits é o menor código possível capaz de proteger um qubit lógico contra erros arbitrários de um único qubit. De acordo com o limite de Hamming quântico, codificar um único qubit lógico com a capacidade de corrigir qualquer erro de um único qubit requer pelo menos cinco qubits físicos.
Além dos projetos teóricos de codificação, os QECCs topológicos são particularmente intuitivos de visualizar e podem fornecer um layout claro de medições de estabilizadores locais, o que é experimentalmente amigável. Alexei Kitaev introduziu o código tórico sem fronteiras, que mais tarde foi adaptado para o código de superfície com fronteiras, resultando em um layout planar 2D que evita medições não locais. Códigos de superfície são fundamentais para a correção de erros quânticos escalável em 2025, permitindo qubits lógicos abaixo do limiar com fidelidade melhorada em sistemas supercondutores. +Alguns dos códigos mais significativos que codificam um qubit em um oscilador e suas extensões subsequentesAnoAnoExtensõesModos1999Estado gato2019Códigos par-gatoUsa 2 modos e codifica um qubit.2001Código de Gottesman-Kitaev-Preskill (GKP)2022Códigos GKP multimodoUsa múltiplos modos e codifica múltiplos qubits.2016Código binomial2025Códigos binomiais estendidosUsa múltiplos modos e codifica múltiplos qubits.