Espacios de código y palabras de código
Un código de corrección de error cuántico a menudo se identifica con el espacio de código (Nielsen y Chuang ciertamente parecen hacerlo). El espacio de código de, por ejemplo, un código de corrección de error cuántico de n- bits es un subespacio vectorial C ⊆ H ⊗ n 2 .CnC⊆H⊗n2
Una palabra de código (terminología que se tomó prestada de la teoría clásica de la corrección de errores) es un estado para un cierto código-espacio: es decir, es un estado que codifica algunos datos.|ψ⟩∈C
Códigos de corrección de errores cuánticos
En la práctica, exigimos algunas propiedades no triviales para mantener un código de corrección de error cuántico, como:
- dimC⩾2
- Que hay un conjunto de al menos dos operadores, incluido el operador , de modo que, si es el proyector ortogonal en , tenemos
para algunos escalares (conocidos como las condiciones Knill-Laflamme ).E={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Esto determina un conjunto de operadores de error contra los cuales, en principio, puede proteger un estado , en el caso de que las condiciones de Knill – Laflamme se mantengan en un conjunto de operadores , y algún operador actúa en su estado, en principio es posible detectar el hecho de que ha ocurrido (a diferencia de algún otro operador en ) y deshacer el error, sin alterar los datos almacenados en el estado original .|ψ⟩∈C E ∈ E E E | Psi ⟩EE∈EEE|ψ⟩
Un código de corrección de error cuántico es un espacio de código , junto con un conjunto de operadores de error que satisfacen las condiciones de Knill – Laflamme, es decir, un código de corrección de error cuántico debe especificar contra qué errores está destinado a proteger .ECE
Por qué es común identificar códigos de corrección de errores cuánticos con sus espacios de código
No puede determinar un conjunto único de operadores que satisfagan las condiciones de Knill – Laflamme desde el espacio de código solo. Sin embargo, es más común considerar qué operadores de bajo peso (los que actúan solo en un pequeño número de qubits) pueden ser corregidos simultáneamente por un código, y en cierta medida esto puede derivarse solo del espacio de código. La distancia de código de un espacio de código es el número más pequeño de qubits sobre los que tiene que actuar, para transformar una "palabra de código" en una palabra de código distinta . Si luego describimos un espacio de código como unC C | Psi ⟩ ∈ C | ψ ′ ⟩ ∈ C [ECC|ψ⟩∈C|ψ′⟩∈CC ⊆ H ⊗ n 2 2 k E ⌊ ( d - 1 ) / 2 ⌋[[n,k,d]] código, esto luego dice que tiene dimensión , y que el conjunto que consideramos es El conjunto de todos los operadores Pauli con peso como máximo .C⊆H⊗n22kE⌊(d−1)/2⌋
En algunos casos, es suficiente describir un código como un código . Por ejemplo, el código de 5 qubits es un código , Y es posible mostrar que cinco qubits no pueden codificar un solo qubit de tal manera que cualquier otro error pueda ser corregido Además de todos los errores de un solo qubit. Sin embargo, lo mismo no es cierto para el código Steane , Que puede proteger contra cualquier error de Pauli de un solo qubit, así como algunos (pero no todos) errores de Pauli de dos qubit. Qué errores de Pauli de dos qubit deberías[[[n,k,d]][[[5,1,3]]X Z[[7,1,3]]proteger contra depende de cuál sea su modelo de error; y si su ruido es simétrico y se distribuye de forma independiente, no importará mucho lo que elija (por lo que es probable que haga la elección convencional de cualquier error junto con cualquier error ). Sin embargo, es una opción , que guiará cómo protege sus datos contra el ruido.XZ
Códigos estabilizadores
Un código estabilizador es un código de corrección de error cuántico determinado por un conjunto de generadores estabilizadores , que son operadores Pauli que conmutan entre sí, y que definen un espacio de código por la intersección de sus espacios +1. (A menudo es útil considerar el grupo estabilizador formado por productos de ).C G P ∈ SSC GP∈S
Casi todos los códigos de corrección de errores cuánticos que las personas consideran en la práctica son códigos estabilizadores. Esta es una razón por la que puede tener problemas para distinguir los dos términos. Sin embargo, no requerimos que un código de corrección de error cuántico sea un código estabilizador, así como en principio no requerimos que un código de corrección de error clásico sea un código lineal. Los códigos estabilizadores resultan ser una forma extremadamente exitosa de describir códigos cuánticos de corrección de errores, así como los códigos lineales de corrección de errores son una forma extremadamente exitosa de describir códigos clásicos de corrección de errores. Y, de hecho, los códigos estabilizadores pueden considerarse como una generalización natural de la teoría de los códigos lineales clásicos para la corrección de errores cuánticos.
Como las personas a menudo están interesadas solo en operadores de bajo peso que están a menos de la mitad de la distancia del código, el conjunto de estabilizadores es a menudo todo lo que la gente dice sobre un código de corrección del estabilizador. Sin embargo, para especificar el conjunto de errores contra los cuales el código puede proteger, también es necesario especificar una relación entre los operadores de productos Pauli y los subconjuntos , de modo que σ E S ⊆ SEσES⊆S
- P ∈ S P ∈ S σ ( E , S )E anticomuta con si y solo si para ;P∈SP∈Sσ(E,S)
- Si satisfacen y , entonces . σ ( E , S ) σ ( E ' , S ) E E ' ∈ G = ⟨ S ⟩E,E′σ(E,S)σ(E′,S)EE′∈G=⟨S⟩
Esto define un conjunto de errores contra los cuales el código puede proteger. Los subconjuntos se llaman síndromes de error , y la relación que he llamado aquí (que generalmente no se ve con un nombre explícito) asocia los síndromes a uno o más errores que 'causan' ese síndrome , y cuyos efectos en el código son equivalentes.
E={E∣∣∃S⊆S:σ(E,S)}
S⊆Sσ
Los "síndromes" representan información que realmente se puede obtener acerca de un error mediante una "medición coherente", es decir, midiendo los operadores como observables (un proceso que generalmente se simula mediante la estimación del valor propio). Un error 'causa' un síndrome si, para cualquier palabra de código , el estado está en el espacio propio de todos operadores , y en el -eigenspace de todos los otros operadores en . (Esta propiedad está directamente relacionada con la anticommutación de con todos los elementos deP∈SES⊆S|ψ⟩∈CE|ψ⟩−1P∈S+1SES⊆S , y solo esos elementos).