Lección 7 de 13
Códigos estabilizadores y síndrome: vigilar sin mirar
Un código cuántico como el subespacio que fijan unos Pauli que conmutan, y el síndrome como producto simpléctico: el análogo exacto del síndrome Hr^T clásico.
Al terminar sabrás:
- Definir un código estabilizador y explicar por qué sus generadores deben conmutar
- Calcular la dimensión 2^(n-r) del código y su matriz de estabilizadores (A|B)
- Obtener el síndrome de un error como producto simpléctico con cada generador
- Releer la repetición y el código de Shor en este formalismo
Si sabes multiplicar matrices, operar con números complejos y calcular un síndrome con una matriz de paridad (lo tienes en el curso de códigos correctores), puedes seguirlo. La física imprescindible (estado, medida, producto tensorial) se explica desde cero.
En la lección anterior convertiste cada error de Pauli en un vector y aprendiste a decidir con un producto simpléctico si dos de ellos conmutan. Hasta ahora hemos fabricado dos códigos a mano, la repetición de 3 cúbits y el de Shor, y en cada uno medíamos unas paridades que nos habíamos sacado de la manga. El relato avanza: el código de Shor respondía a los tres obstáculos, y ahora ponemos orden con un idioma general que nos permitirá fabricar códigos en serie (lección 9). La pregunta de hoy: ¿qué listas de observables definen un código, y cómo se lee el error en el resultado de medirlos?
La idea
Toma unos cuantos Pauli que conmuten dos a dos, como y . Los estados que todos ellos dejan exactamente igual (valor propio ) forman un subespacio. Ese subespacio es el código. Si un error saca al estado del código, alguno de los Pauli dejará de verlo con valor propio , y al medirlos nos dirán qué pasó. No hace falta mirar el dato: solo vigilamos las paridades.
Definición
Un grupo estabilizador es un conjunto de operadores de Pauli de cúbits (con fases ) que cumple dos cosas:
- es un grupo abeliano: cualquier par de elementos conmuta, y el producto de dos elementos de está en ;
- no contiene .
A cada elemento de se le llama un estabilizador del código: deja fijo todo estado del código.
El código estabilizador asociado es
Por qué tienen que conmutar. Si y anticonmutan y ambos fijan , entonces
y el único vector que cumple es el . Con generadores que anticonmutan no queda ningún estado: no hay código. Por ejemplo, y tocan los tres cúbits a la vez y anticonmutan (ejercicio 3).
Por qué se excluye . Si , un estado fijado cumpliría , otra vez cero. Además, todo Pauli cumple o , y como , queda para todo (por ejemplo, no puede estar en , porque ). Así que todo elemento de es hermítico, con valores propios y .
Generadores y dimensión
Un grupo se describe con pocos generadores : todo elemento de es un producto de algunos de ellos. Los pedimos independientes: ninguno es producto de los demás. En vectores eso significa que las filas tienen rango sobre . Entonces tiene elementos (cada generador entra o no entra en el producto).
¿Cuánto espacio queda? Cada reparte en dos mitades iguales, la del valor propio y la del , y quedarse con la primera se hace con el proyector . Como conmutan y son independientes, cada generador nuevo parte por la mitad lo que quedaba:
Un espacio de dimensión guarda cúbits, así que . Se escribe (con la distancia, , en la lección 8).
Una comprobación exacta: el proyector sobre el código es . Al desarrollar el producto salen los elementos de , cada uno con coeficiente : es . Todo Pauli que no sea múltiplo de la identidad tiene traza , y el único múltiplo de en es la propia , así que la traza del proyector vale . La traza de un proyector es la dimensión de su subespacio: sale .
El código como subespacio de
Los vectores de los elementos de forman un subespacio de dimensión . La condición de que todos conmuten es, por la lección anterior, que el producto simpléctico de cualquier par sea cero, es decir,
Es un código autoortogonal. Los generadores van en las filas de la matriz de estabilizadores , de tamaño : guarda las posiciones con y las posiciones con (un cuenta en las dos). Conmutar equivale a módulo 2.
El síndrome
Un error de Pauli estropea el estado . Para cada generador definimos
que vale si y conmutan y si anticonmutan. El vector es el síndrome de .
Qué valor propio sale. Como ,
El estado es un vector propio de de valor propio . Al medir (la medida proyectiva de la lección 2, con proyectores ) sale ese valor con certeza: si conmutan, si anticonmutan.
Es el de siempre. En el curso de códigos, el síndrome de lo recibido (allí lo llamábamos ) es : solo depende del error, porque . Aquí pasa lo mismo. Si escribimos y , el producto simpléctico es , así que
La matriz (la de estabilizadores con las dos mitades intercambiadas) hace de matriz de paridad. Y todo lo demás se traduce: significa que el error conmuta con todo , y la lista de síndromes de peso 1 se lee en las columnas de . Lo nuevo es que no hay una palabra enviada que restar: el dato cuántico nunca se ve.
Por qué no destruye el dato. El resultado de la medida depende solo de , no de . Como ya es un vector propio, la medida no lo cambia, y no revela nada sobre las amplitudes . Es la respuesta al obstáculo (c): medimos paridades, nunca datos. Si el error es una suma de Pauli (obstáculo (b)), la medida se queda solo con los sumandos que tienen el síndrome obtenido, como vimos con en la lección 3.
Decodificar
El procedimiento copia el de la lección clásica:
- mide los generadores y obtén el síndrome ;
- entre los errores con ese síndrome, elige uno de menor peso (el líder de la clase); si hay varios, se fija de antemano cuál (en la repetición, para el síndrome fijamos y no , porque es un código contra cambios de bit), y en la lección 8 veremos cuándo esa elección importa;
- aplícalo, porque un Pauli es su propio inverso salvo fase.
Hay síndromes posibles. Un error con síndrome no se ve: o no hubo error o fue uno que conmuta con todo el grupo estabilizador. Cuándo eso es inofensivo y cuándo estropea el dato lo decide la distancia del código, y lo veremos en la lección 8.
Ejemplo resuelto
A. La repetición de 3 cúbits. Generadores y , con vectores y .
- Conmutan: ambos son de tipo , y dos operadores que solo tienen o identidad siempre conmutan. En vectores, y .
- Independientes: ninguno es el otro, rango 2.
- Dimensión: , , así que y . Es el espacio generado por y .
- Matriz: y , luego .
Síndrome de = columna de , y da porque . Un suma los dos:
| error | , | , | , | |
|---|---|---|---|---|
| síndrome |
Comprobación con un estado concreto, y el error : queda . En , y valen , y en también. Salen los dos valores con certeza, sea cual sea : síndrome , el de la tabla. El decodificador aplica y recupera .
Los pasan sin que nadie los vea: la repetición no los corrige, y la lección 8 dirá por qué.
B. El código de Shor, releído. Son 8 generadores en : , , , , , , y . Conmutan por parejas: dos de tipo siempre; dos de tipo también; y un con un solapan en 0 o en 2 posiciones. Por ejemplo, con solapan en las posiciones 1 y 2, dos anticonmutaciones que se cancelan; y con no solapan en ninguna. Rango 8 sobre , y la dimensión es : un cúbit lógico.
La matriz tiene dos bloques: las seis primeras filas son y las dos últimas . El síndrome de es la columna de , y el de , la columna de . Con eso, la tabla de la lección 5 es una tabla de productos simplécticos:
- anticonmuta solo con los generadores que tienen una en la posición 5, que son y : síndrome .
- anticonmuta solo con : síndrome (y el mismo para y : errores distintos, mismo efecto, la degeneración).
- es más en los vectores, y el síndrome se suma: .
C. Un caso límite: Bell con . Con y : conmutan (dos solapamientos), son independientes, , , así que la dimensión es y . Hay un único estado, , y no guarda ningún cúbit. Pero el síndrome sigue funcionando: da , da e da , y los cuatro posibles resultados corresponden a los cuatro estados de Bell: y . Este es el caso extremo: tantos generadores como cúbits y todo el espacio queda determinado.
Ejercicios
Ejercicio 1
En la repetición de 3 cúbits, calcula el síndrome de y di qué corrección aplica el decodificador y qué queda.
Ver la solución
anticonmuta con y con (en el cúbit 2, y anticonmutan): síndrome , el mismo que . Con ese síndrome hay dos errores de peso 1, e , y el decodificador tiene que elegir uno de antemano. Si elige (lo natural: es el código de bit), como , queda : se ha corregido la parte , pero la parte sigue ahí. Si hubiera elegido , este error se corregiría, pero entonces un quedaría convertido en (salvo fase). Se diferencian en , que cambia el dato: con distancia 1 ninguna elección corrige los dos. La repetición no protege contra los cambios de fase.
Ejercicio 2
En la repetición se produce el error doble . Calcula su síndrome, el error que elige el decodificador y el estado final con .
Ver la solución
Los síndromes se suman: , el de . El decodificador de peso mínimo aplica , y la corrección total es . Queda : un estado del código, sin ningún síndrome que avise, pero con y intercambiados. Dos errores superan lo que corrige la repetición, igual que dos errores superaban al Hamming en el curso clásico.
Ejercicio 3
(a) Comprueba que no define un código para cúbits. (b) ¿Y con cuatro cúbits? Calcula , y el síndrome de , e .
Ver la solución
(a) Los vectores son y , con producto simpléctico : anticonmutan. Ningún estado queda fijado por los dos, y no hay código. Es el caso en el que la conmutación es crucial. En la lección 11 veremos que con sistemas de 3 niveles el mismo par sí conmuta, porque módulo 3.
(b) Ahora el solapamiento es : conmutan. Son independientes, , y : la dimensión es , dos cúbits lógicos. Síndromes (orden , ): , , . El síndrome no depende de la posición: y dan lo mismo. Así que detecta un error en un cúbit, pero no sabe dónde fue.
En resumen
- Un código estabilizador es el subespacio que fija un grupo de Pauli que conmutan y que no contiene . Si anticonmutaran, no habría ningún estado fijado.
- Con generadores independientes, , la dimensión es y . Sus vectores forman un código autoortogonal .
- El síndrome de un error es , y medir da con certeza. Es : el clásico.
- Medir el síndrome no depende de los datos, así que no los destruye.
- Se decodifica con el error de menor peso de cada síndrome; los errores con síndrome no se ven, y la distancia decidirá cuáles importan.
Siguiente lección: Operadores lógicos, distancia y estados lógicos
Para profundizar
- D. Gottesman, Stabilizer Codes and Quantum Error Correction (tesis doctoral, Caltech) (1997).
- D. Gottesman, Class of quantum error-correcting codes saturating the quantum Hamming bound (1996).
- D. Gottesman, An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation (2009).
- M. A. Nielsen e I. L. Chuang, Quantum Computation and Quantum Information (10.ª ed. aniversario) (2010).