¿Cuál es la diferencia entre "espacio de código", "palabra de código" y "código de estabilizador"?

12

Sigo leyendo (por ejemplo, Nielsen y Chuang, 2010; pág. 456 y 465) las siguientes tres fases; "espacio de código", "palabra de código" y "código de estabilizador", pero me resulta difícil encontrar definiciones de ellos y, lo que es más importante, cómo se diferencian entre sí.

Mi pregunta es por lo tanto; ¿Cómo se definen estos tres términos y cómo se relacionan?

Espaguetización cuántica
fuente

Respuestas:

11

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 CH n 2 .CnCH2n

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:

  • dimC2
  • 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 EEEEE|ψ

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|ψCCH 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 .CH2n2kE(d1)/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 GPS

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σESS

  • P S P S σ ( E , S )E anticomuta con si y solo si para ;PSPSσ(E,S)
  • Si satisfacen y , entonces . σ ( E , S ) σ ( E ' , S ) E E 'G = SE,Eσ(E,S)σ(E,S)EEG=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|SS:σ(E,S)}
SSσ

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 dePSESS|ψCE|ψ1PS+1SESS , y solo esos elementos).

Niel de Beaudrap
fuente
En su segundo párrafo, dice que una palabra de código es un estado en es decir, un estado que codifica algunos datos. ¿Está diciendo lo que parecen decir las otras respuestas, es decir, las palabras de código son aquellos estados con los que nos asociamos, por ejemplo, lógico y . ¿O que más generalmente cualquier estado en se llama palabras de código? C|0|1C
Espaguetización cuántica
2
La terminología puede variar un poco. Por ejemplo, lees la tesis de Gottesman, y él habla de que una palabra de código es cualquier estado válido en el espacio de código, y distingue las 'palabras de código base' como el 0 y el 1 lógico.
DaftWullie
1
@QuantumSpaghettification: como sugiere DaftWullie, me refiero a cualquier estado en . A menudo es un error preocuparse demasiado por la base estándar. Históricamente, fue más fácil describir un QECC en referencia al lapso de dos estados particulares y describir las propiedades de corrección en términos de esos dos estados. La teoría de los códigos estabilizadores hace que este tipo de descripción sea innecesaria y le permite ser flexible con lo que es el marco de referencia lógico, por lo que ahora es mejor evitar definir las cosas de una manera que enfatice la base estándar. C
Niel de Beaudrap
@NieldeBeaudrap Perdón por volver a esta publicación más de un mes después. ¿Estoy en lo cierto al decir que el mapeo puede ser uno a muchos si el efecto del error en las "palabras de código base" es degenerado. Estoy pensando que la fase cambia el código de Shor. μ
Spaghettification cuántica
@QuantumSpaghettification: como lo he descrito aquí, en realidad sería necesario tomar para tener muchos valores para que el conjunto haga el trabajo que le he descrito, para un código degenerado --- que es No es exactamente lo que pretendía. Revisaré mi respuesta en breve. μE
Niel de Beaudrap
5

Una palabra de código (para un código cuántico) es un estado cuántico que generalmente se asocia con un estado en la base lógica. Entonces, tendrá algún estado que corresponde al estado 0 del qubit a codificar (no tiene que usar qubits, pero probablemente sí), y tendrá otro que es que corresponde al estado 1 del qubit a codificar.| ψ 1|ψ0|ψ1

El espacio de código es el espacio que abarcan las palabras de código, es decir, todo el espacio para todos los y posibles (normalizados).alpha ßα|ψ0+β|ψ1αβ

Un código estabilizador es un posible formalismo para decirle cómo resolver las palabras de código y, por lo tanto, el espacio de código. Para un código [[n, k, d]], se le dan nk operadores estabilizadores ( ) que conmutan mutuamente y actúan sobre n qubits. Cualquier estado en el espacio de código satisface . Además, tendrá los operadores y para que viajan todos con los estabilizadores pero anticomunten en pares, , para los subíndices coincidentes. Estos definen los operadores lógicos de Pauli para el código y, por lo tanto, las palabras de código son los estados que satisfacenS 2 = ISS2=IS | Psi = | Psi Z m X m m = 1 , ... k S { Z m , X m } = 0 Z m | Psi = ± | Psi |ψS|ψ=|ψZmXmm=1,kS{Zm,Xm}=0Zm|ψ=±|ψ .

DaftWullie
fuente
5

En un código de corrección de error cuántico, almacena una cantidad de qubits lógicos , , en un estado de muchos qubits físicos, .nkn

Una palabra de código es un estado de los qubits físicos que está asociado con un estado lógico específico. Entonces, por ejemplo, sin embargo, si almacena el estado para uno de sus qubits lógicos es una palabra de código.|0

El espacio de código es el espacio de Hilbert abarcado por todas las palabras de código posibles. Para un código estabilizador, este término es sinónimo del espacio estabilizador. Cualquier estado dentro de este espacio de código es una palabra de código

Un código estabilizador es un código de corrección de error cuántico descrito por el formalismo del estabilizador. El espacio estabilizador se define como el espacio propio mutuo de productos de conmutación mutua e tensor independientes de los operadores Pauli.n - k+1nk

James Wootton
fuente