Saltar al contenido principal

Otras familias de códigos

Han pasado más de 25 años desde que se descubrió el código tórico, y desde entonces se ha investigado intensamente sobre códigos correctores de errores cuánticos, incluyendo el descubrimiento de otros códigos cuánticos topológicos inspirados en el código tórico, así como códigos basados en otros fundamentos. Sería imposible incluir aquí una lista exhaustiva de las construcciones conocidas de códigos de corrección de errores cuánticos, pero queremos al menos arañar la superficie y considerar brevemente dos ejemplos prominentes.

Códigos de superficie

Como resulta ser, el código tórico no necesita tener bordes periódicos. Se puede simplemente recortar una parte del código tórico y extenderla sobre una superficie bidimensional en lugar de un toro para obtener un código corrector de errores cuánticos, siempre que los generadores de estabilizadores en los bordes se definan adecuadamente. Lo que obtenemos se denomina código de superficie.

Aquí, por ejemplo, hay un diagrama de un código de superficie donde la cuadrícula tiene bordes llamados rugosos en la parte superior e inferior y bordes lisos en los lados. Los casos de borde para los generadores de estabilizadores se definen de manera natural: las operaciones de Pauli sobre qubits "faltantes" simplemente se omiten.

Diagrama de un código de superficie

Los códigos de superficie de esta forma codifican un solo qubit en lugar de dos como el código tórico. Los generadores de estabilizadores forman en este caso un conjunto generador mínimo, sin que sea necesario eliminar uno de cada tipo como en el código tórico. A pesar de estas diferencias, las propiedades importantes del código tórico se heredan. En particular, los errores no triviales no detectados para este código corresponden a cadenas de errores que van del borde izquierdo al derecho (para cadenas de errores XX) o de arriba hacia abajo (para cadenas de errores ZZ).

También es posible cortar los bordes de un código de superficie diagonalmente para obtener los llamados códigos de superficie rotados, denominados así no porque los códigos estén rotados en algún sentido significativo, sino porque los diagramas están rotados (45 grados). Aquí, por ejemplo, hay un diagrama de un código de superficie rotado con distancia 5.

Diagrama de un código de superficie rotado

En este tipo de diagrama, las baldosas negras (incluyendo las redondeadas en los bordes) indican generadores de estabilizadores XX, donde las operaciones XX se aplican a los (dos o cuatro) vértices de cada baldosa, mientras que las baldosas blancas representan generadores de estabilizadores ZZ. Los códigos de superficie rotados tienen propiedades similares a los códigos de superficie (no rotados), pero son más eficientes en cuanto al número de qubits utilizados.

Códigos de color

Los códigos de color son otra clase interesante de códigos que también pertenecen a la categoría general de códigos cuánticos topológicos. Aquí solo se describen brevemente.

Una forma de entender los códigos de color es considerarlos como generalizaciones geométricas del código de Steane de 7 qubits. Consideremos de nuevo el código de Steane de 7 qubits y supongamos que los siete qubits se nombran y ordenan como (Q6,Q5,Q4,Q3,Q2,Q1,Q0)(\mathsf{Q}_6,\mathsf{Q}_5,\mathsf{Q}_4,\mathsf{Q}_3,\mathsf{Q}_2,\mathsf{Q}_1,\mathsf{Q}_0) siguiendo la convención de numeración de Qiskit. Los generadores de estabilizadores para este código son los siguientes.

ZZZZIIIZZIIZZIZIZIZIZXXXXIIIXXIIXXIXIXIXIX\begin{array}{ccccccc} Z & Z & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] Z & Z & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} \\[1mm] Z & \mathbb{I} & Z & \mathbb{I} & Z & \mathbb{I} & Z \\[1mm] X & X & X & X & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] X & X & \mathbb{I} & \mathbb{I} & X & X & \mathbb{I} \\[1mm] X & \mathbb{I} & X & \mathbb{I} & X & \mathbb{I} & X \end{array}

Si asignamos estos siete qubits a los vértices del siguiente grafo, encontramos que los generadores de estabilizadores corresponden exactamente a las caras formadas por las aristas del grafo.

Diagrama de la localidad geométrica del código de Steane de 7 qubits

Es decir: para cada cara hay tanto un generador de estabilizador ZZ como un generador de estabilizador XX que actúan de manera no trivial sobre los qubits en los vértices de esa cara. El código de Steane de 7 qubits posee por tanto localidad geométrica, lo que significa que, en principio, no es necesario mover qubits a grandes distancias para medir los generadores de estabilizadores. El hecho de que los generadores de estabilizadores ZZ y XX siempre actúen de manera no trivial sobre exactamente los mismos conjuntos de qubits también es ventajoso por razones relacionadas con la computación cuántica tolerante a fallos, el tema de la próxima lección.

Los códigos de color son códigos correctores de errores cuánticos (más precisamente, códigos CSS) que generalizan este patrón básico, donde los grafos subyacentes pueden ser diferentes. Aquí, por ejemplo, hay un grafo con 19 vértices que funciona. Define un código que codifica un qubit en 19 qubits y tiene distancia 5 (es decir, es un código de estabilizador [[19,1,5]][[19,1,5]]).

Diagrama de un código de color

Esto se puede hacer con muchos otros grafos, incluyendo familias de grafos que crecen en tamaño y presentan estructuras interesantes.

Los códigos de color se denominan así porque una de las condiciones requeridas para los grafos que los definen es que las caras sean tricoloreables, es decir, a cada cara se le puede asignar uno de tres colores de modo que ningún par de caras del mismo color compartan una arista (como en el diagrama anterior). Los colores son en realidad irrelevantes para la definición del código en sí — siempre hay generadores de estabilizadores ZZ y XX para cada cara, independientemente de su color — pero los colores son importantes para el análisis de cómo funcionan los códigos.

Otros códigos

La corrección de errores cuánticos es un campo de investigación activo y en rápida evolución. Para quienes deseen profundizar más, pueden consultar el Error Correction Zoo, que enumera numerosos ejemplos y categorizaciones de códigos correctores de errores cuánticos.

Ejemplo: El código Gross

El código Gross es un código de estabilizador [[144,12,12]][[144,12,12]] descubierto recientemente. Es similar al código tórico, excepto que cada generador de estabilizador actúa de manera no trivial sobre dos qubits adicionales que están algo más alejados de la baldosa o vértice correspondiente a ese generador (por lo que cada generador de estabilizador tiene peso 6). La ventaja de este código radica en que puede codificar 12 qubits, en comparación con solo dos en el código tórico.