Lección 8 de 13
Operadores lógicos, distancia y estados lógicos de un código
Qué errores no ve un código estabilizador, cómo se define su distancia y cómo se escriben sus estados lógicos con la suma sobre el grupo estabilizador.
Al terminar sabrás:
- Clasificar un error de Pauli como detectable, inofensivo (en C) o lógico (en el ortogonal simpléctico de C, pero fuera de C)
- Calcular la distancia simpléctica de un código y deducir cuántos errores corrige
- Entender la degeneración: errores distintos con el mismo efecto
- Escribir los estados lógicos como autoestados del Z lógico y con la suma sobre el grupo estabilizador
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 definimos un código estabilizador: un grupo abeliano de Pauli cuyo subespacio fijo es el código, y un síndrome que dice qué generadores anticonmutan con el error. En el relato, Shor ya contestó a los tres obstáculos y el marco de Pauli y estabilizadores es el lenguaje general. Hoy lo usamos para medir un código: ¿qué errores no ve?, ¿cuántos corrige? y, por fin, ¿cómo son sus estados y ?
La idea
Un error de Pauli puede hacer tres cosas muy distintas. Puede delatarse: anticonmuta con algún generador y el síndrome sale distinto de cero. Puede no hacer nada: es un elemento de y fija todo el código. O puede ser el peor caso: conmuta con todo , nadie lo detecta, pero cambia el dato. Son los operadores lógicos, y el más ligero de ellos marca la distancia del código.
Es la misma historia que en el curso de códigos: la distancia mínima decide cuánto daño aguanta el código. Aquí cambia un detalle esencial, y es que no todo vector que el código «no ve» es peligroso.
El normalizador y las tres clases
Sea el subespacio de los vectores de , de dimensión . Los Pauli que conmutan con todo son los de , que tiene dimensión . Es el normalizador del código. Como , cada error cae en una de tres clases:
- Fuera de : el síndrome no es nulo. El error se detecta.
- En : es un elemento de (salvo fase). Sobre el código actúa como la identidad: es inofensivo.
- En : síndrome nulo, así que no se detecta, y no está en el grupo estabilizador, así que mueve estados del código a otros estados del código. Es un operador lógico.
Para la repetición de 3 cúbits () hay errores de Pauli. El normalizador tiene elementos, de los cuales 4 están en . Quedan con síndrome no nulo, inofensivos y lógicos.
Los operadores lógicos hacen en el cúbit protegido lo que y hacen en un cúbit normal. Escogemos dos que anticonmuten entre sí, y (para siempre se puede). Dos operadores lógicos que se diferencian en un elemento de hacen lo mismo sobre el código. En la repetición, , o dan igual, porque .
Distancia
La distancia de un código estabilizador con es el peso del operador lógico más ligero:
Se escribe , con dobles corchetes para distinguirlo de clásico.
Consecuencias. El código detecta cualquier error de peso : no puede ser lógico (pesa menos que ), así que o bien tiene síndrome no nulo, o bien está en y no hace nada. Y corrige errores. La razón de una línea: si y pesan y tienen el mismo síndrome, pesa y tiene síndrome nulo, luego no es lógico y está en . Corregir con cuando ocurrió deja el estado igual que estaba (salvo una fase global, que no importa).
Degeneración. Esa razón admite que . Dos errores distintos con el mismo síndrome y con tienen el mismo efecto sobre el código, y da igual cuál de los dos se corrija. No tiene análogo clásico: en un código lineal, dos errores distintos con el mismo síndrome se diferencian en una palabra no nula del código, y corregir con el equivocado deja una palabra equivocada. El ejemplo de Shor lo muestra: y dan el mismo síndrome y .
Puente con el curso clásico. La distancia mínima clásica pide que toda palabra no nula pese al menos . Aquí solo se exige a los vectores de , porque los de (los elementos de ) son inofensivos. Y el peso cuenta posiciones, sin importar si el error es , o . Por eso la repetición, que como código clásico tiene , es un : pesa 1 y es lógico.
Estados lógicos de un código estabilizador
Un código con es un subespacio de dimensión 2. Para describirlo hay que dar una base . Con los operadores lógicos es inmediato.
Definición. es el estado del código que es autoestado de (y de todo , por estar en el código). Con es único salvo fase. Y
Como conmuta con , también está en el código. Como , es autoestado de : es ortogonal a .
El truco de la suma. Hay una receta para fabricar sin resolver ecuaciones. Sea
Si multiplicas por un , los se reordenan: . Luego está en el código. (De hecho es el proyector sobre el código, así que es, salvo el factor , la proyección de .)
Hay que comprobar que no sale cero. Sale cero solo si contiene un operador de tipo (solo e identidades) con signo , como , que da sobre . En todos nuestros ejemplos no pasa.
¿Qué estado sale? La regla práctica: busca un operador lógico de tipo y con signo , un tal cual que conmute con sin estar en . Con siempre hay alguno. Fija y conmuta con todo , así que fija : es su autoestado dentro del código. Qué estado lógico es depende solo del nombre que le hayamos dado a ese operador:
- Si es nuestro (como en la repetición o, en la lección 10, en Steane), .
- Si es nuestro , es el estado con , que es . Para llegar a se aplica : .
El segundo caso es el de Shor. En la lección 4 llamamos al lógico de tipo , . Podríamos haberlo llamado , pero entonces los estados de la lección 4 cambiarían de nombre. La suma no se equivoca: refleja la elección «cruzada».
Repaso Los detalles del truco de la suma
Por qué sale cero o no. Llama a los elementos de de tipo , con su signo. Cada uno deja igual o le cambia el signo. Agrupa los según su parte : dos elementos con la misma parte se diferencian en un elemento de . Si todos los de dan , cada grupo aporta veces el mismo ket, y grupos distintos dan kets distintos: y . Si alguno diera , la mitad de cada grupo daría y se cancelaría con la otra mitad: . Entonces se prueba con otro ket de la base en lugar de .
Por qué siempre hay un lógico de tipo . Los que conmutan con forman un subespacio de dimensión (con la parte de la matriz de estabilizadores de la lección 7), y los que están en , uno de dimensión . La diferencia es .
Todos los casos. Con , un lógico actúa sobre el código como uno de , o , con , según cómo se hayan elegido y . La suma da su autoestado : , , o . Por ejemplo, si en la repetición se toma (también anticonmuta con ), la suma da . Con la elección natural, , da .
Ejemplo resuelto
Repetición . , (de tipo ), . Los cuatro elementos de fijan :
Es no nulo y . Entonces
Son ortogonales, y . Reconocemos el código de la lección 3: . Y como pesa 1, : corrige errores en general. Detecta . Aun así, corrige los , porque cada da un síndrome distinto. Los operadores lógicos de peso 1 son justo los .
Shor . Los generadores son (6 de tipo ) y , . Aquí . Con (de tipo ) y .
Aplica la suma a . Los elementos de de tipo lo fijan. Los de son 4: , , y su producto . Por tanto
con . Normalizando, cada término tiene amplitud . Para comparar con la lección 4, escribe y para cada bloque. Los cuatro términos son (un número par de bloques ). Por otra parte
porque los términos con número impar de se cancelan y los pares se duplican. Así que la suma sobre da , no a secas, como anunciaba la regla: el lógico de tipo es nuestro . Para llegar a aplicamos , que cambia en el primer bloque y completa los ocho términos:
Es de la lección 4. Y cambia el signo de cada bloque en las posiciones 1, 4 y 7, es decir, . Los dos son ortogonales.
Distancia de Shor. El normalizador tiene vectores, 256 de ellos en y lógicos. Ninguno pesa 1 o 2: a mano son demasiados casos para recorrerlos, pero en la lección 9 lo veremos con un argumento corto. Los dos que ya conocemos, y , pesan 3. Luego , corrige error y detecta 2. Hay 27 errores de peso 1 y solo 21 síndromes: los de un mismo bloque comparten síndrome y . Eso es degeneración.
Una cota y un código que la alcanza
No cualquier terna existe. La cota de Singleton cuántica dice que
Solo la enunciamos. Es el análogo de del curso clásico, con un factor 2: hay que protegerse a la vez de los errores y de los , y la demostración (que no damos) se apoya en que un dato cuántico no se puede copiar. Repetición: . Shor: . El código de 5 cúbits, , la cumple con igualdad, . Lo publicaron Laflamme, Miquel, Paz y Zurek en 1996 (Phys. Rev. Lett. 77, 198) y, por otro camino, Bennett, DiVincenzo, Smolin y Wootters dieron ese mismo año otro código de cinco cúbits con la misma capacidad (Phys. Rev. A 54, 3824, noviembre de 1996). Es el más pequeño posible: ningún código de menos de cinco cúbits protege un cúbit contra un error arbitrario en uno de ellos. Se puede escribir con los generadores , , y . Lo veremos otra vez al cerrar el curso.
Ejercicios
Ejercicio 1
En la repetición, con , clasifica cada error como detectable, inofensivo o lógico: , , , .
Ver la solución
Hay que ver cada síndrome, en el orden .
- conmuta con (anticonmuta dos veces) y con : síndrome . No es de . Es lógico (es ).
- : síndrome y es inofensivo.
- conmuta con ambos: síndrome y no está en . Es lógico (peso 1: por eso ).
- anticonmuta con los dos generadores: síndrome . Es detectable.
Ejercicio 2
Código de fase: , con y . Calcula y úsalo para llegar a .
Ver la solución
, y . No sale cero (los cuatro términos son distintos). Aquí no es de tipo pero sí: tiene y , luego . Con :
las ocho palabras, que es . Por tanto y , como en la lección 3.
Ejercicio 3
Con la cota de Singleton cuántica, ¿cuál es el menor posible para un ? ¿Y para un ? ¿Excluye la cota un ?
Ver la solución
Con la cota es , es decir, . Para sale (el código de 5 cúbits lo alcanza). Para sale . Un tendría : no puede existir. La cota solo dice qué es imposible, no qué existe: con ella sola no sabemos si hay un .
En resumen
- Los errores de Pauli se reparten en tres clases: detectables (fuera de ), inofensivos (en ) y lógicos (en , indetectables y dañinos).
- La distancia es el peso del lógico más ligero. El código detecta errores y corrige .
- Hay degeneración cuando dos errores distintos con el mismo síndrome difieren en un elemento de : da igual cuál se corrija.
- es el autoestado de en el código y . Además (si no sale cero) es el autoestado del lógico de tipo con signo : da si ese lógico es , y si es , como en Shor.
- La cota de Singleton cuántica la alcanza el .
Siguiente lección: Códigos CSS: un código cuántico hecho con dos clásicos
Para profundizar
- D. Gottesman, Stabilizer Codes and Quantum Error Correction (tesis doctoral, Caltech) (1997).
- M. A. Nielsen e I. L. Chuang, Quantum Computation and Quantum Information (10.ª ed. aniversario) (2010).
- R. Laflamme, C. Miquel, J. P. Paz y W. H. Zurek, Perfect Quantum Error Correcting Code (1996).
- C. H. Bennett, D. P. DiVincenzo, J. A. Smolin y W. K. Wootters, Mixed-state entanglement and quantum error correction (1996).