El cálculo ZX es un lenguaje gráfico riguroso para razonar sobre mapas lineales entre qubits , que se representan como diagramas de cuerdas llamados diagramas ZX . Un diagrama ZX consiste en un conjunto de generadores llamados arañas que representan tensores específicos . Estos están conectados entre sí para formar una red tensorial similar a la notación gráfica de Penrose . Debido a las simetrías de las arañas y las propiedades de la categoría subyacente , deformar topológicamente un diagrama ZX (es decir, mover los generadores sin cambiar sus conexiones) no afecta el mapa lineal que representa. Además de las igualdades entre diagramas ZX que se generan por deformaciones topológicas, el cálculo también tiene un conjunto de reglas de reescritura gráfica para transformar diagramas entre sí. El cálculo ZX es universal en el sentido de que cualquier mapa lineal entre qubits se puede representar como un diagrama, y diferentes conjuntos de reglas de reescritura gráfica son completos para diferentes familias de mapas lineales. Los diagramas ZX pueden verse como una generalización de la notación de circuitos cuánticos y forman un subconjunto estricto de redes tensoriales que representan categorías de fusión generales y funciones de onda de sistemas de espín cuántico.
El cálculo ZX fue introducido por primera vez por Bob Coecke y Ross Duncan en 2008 como una extensión de la escuela de razonamiento de la mecánica cuántica categórica . Introdujeron los conceptos fundamentales de arañas, complementariedad fuerte y la mayoría de las reglas de reescritura estándar. [1] [2]
En 2009, Duncan y Perdrix encontraron la regla de descomposición de Euler adicional para la puerta de Hadamard [3] , que fue utilizada por Backens en 2013 para establecer el primer resultado de completitud para el cálculo ZX. [4] Es decir, que existe un conjunto de reglas de reescritura que son suficientes para demostrar todas las igualdades entre los diagramas ZX estabilizadores , donde las fases son múltiplos de , hasta los escalares globales. Este resultado se refinó posteriormente para completarlo, incluyendo factores escalares. [5]
Tras un resultado de incompletitud, [6] en 2017, se encontró una completitud del cálculo ZX para el fragmento aproximadamente universal , [7] además de dos resultados de completitud diferentes para el cálculo ZX universal (donde se permite que las fases tomen cualquier valor real). [8] [9]
También en 2017 se publicó el libro Picturing Quantum Processes , que construye la teoría cuántica desde cero, utilizando el cálculo ZX. [10] Véase también el libro de 2019 Categories for Quantum Theory . [11]
Los diagramas ZX constan de nodos verdes y rojos llamados arañas , que están conectados por cables . Los cables pueden curvarse y cruzarse, se pueden conectar muchos cables arbitrariamente a la misma araña y varios cables pueden pasar entre el mismo par de nodos. También hay nodos Hadamard, generalmente indicados por un recuadro amarillo, que siempre se conectan exactamente a dos cables.
Los diagramas ZX representan mapas lineales entre qubits , de forma similar a como los circuitos cuánticos representan mapas unitarios entre qubits. Los diagramas ZX se diferencian de los circuitos cuánticos en dos aspectos principales. El primero es que los diagramas ZX no tienen por qué ajustarse a la estructura topológica rígida de los circuitos y, por lo tanto, pueden deformarse arbitrariamente. El segundo es que los diagramas ZX vienen equipados con un conjunto de reglas de reescritura, denominadas colectivamente como cálculo ZX . Con estas reglas, se pueden realizar cálculos en el propio lenguaje gráfico.
Los bloques de construcción o generadores del cálculo ZX son representaciones gráficas de estados específicos , operadores unitarios, isometrías lineales y proyecciones en la base computacional y la base transformada de Hadamard y . El color verde (o a veces blanco) se utiliza para representar la base computacional y el color rojo (o a veces gris) se utiliza para representar la base transformada de Hadamard. Cada uno de estos generadores puede además etiquetarse con una fase, que es un número real del intervalo . Si la fase es cero, normalmente no se escribe.
Los generadores son:
Los generadores pueden estar compuestos de dos maneras:
Estas leyes corresponden a la composición y al producto tensorial de los mapas lineales.
Cualquier diagrama escrito mediante la composición de generadores de esta manera se denomina diagrama ZX. Los diagramas ZX son cerrados según ambas leyes de composición: conectar una salida de un diagrama ZX a una entrada de otro crea un diagrama ZX válido, y apilar verticalmente dos diagramas ZX crea un diagrama ZX válido.
Dos diagramas representan el mismo operador lineal si están compuestos por los mismos generadores conectados de la misma manera. En otras palabras, siempre que dos diagramas ZX puedan transformarse entre sí mediante deformación topológica, entonces representan la misma función lineal. Por lo tanto, la compuerta NOT controlada se puede representar de la siguiente manera:
El siguiente ejemplo de un circuito cuántico construye un estado GHZ . Al traducirlo a un diagrama ZX, utilizando las reglas de que "las arañas adyacentes del mismo color se fusionan", "Hadamard cambia el color de las arañas" y "las arañas de paridad 2 son identidades", se puede reducir gráficamente a un estado GHZ:
Cualquier mapa lineal entre qubits puede representarse como un diagrama ZX, es decir, los diagramas ZX son universales . Un diagrama ZX dado puede transformarse en otro diagrama ZX utilizando las reglas de reescritura del cálculo ZX si y solo si los dos diagramas representan el mismo mapa lineal, es decir, el cálculo ZX es correcto y completo .
La categoría de los diagramas ZX es una categoría compacta de daga , lo que significa que tiene una estructura monoidal simétrica (un producto tensorial), es compacta cerrada (tiene copas y tapas ) y viene equipada con una daga , de modo que todas estas estructuras interactúan adecuadamente. Los objetos de la categoría son los números naturales, con el producto tensorial dado por adición (la categoría es una PROP ). Los morfismos de esta categoría son diagramas ZX. Dos diagramas ZX se componen yuxtaponiéndolos horizontalmente y conectando las salidas del diagrama de la izquierda con las entradas del diagrama de la derecha. El producto monoidal de dos diagramas se representa colocando un diagrama encima del otro.
De hecho, todos los diagramas ZX se construyen libremente a partir de un conjunto de generadores mediante composición y producto monoidal, módulo las igualdades inducidas por la estructura compacta y las reglas del cálculo ZX que se indican a continuación. Por ejemplo, la identidad del objeto se representa como cables paralelos de izquierda a derecha, siendo el caso especial el diagrama vacío.
La siguiente tabla muestra los generadores junto con sus interpretaciones estándar como mapas lineales, expresados en notación de Dirac . Los estados base computacionales se denotan por y los estados base transformados por Hadamard son . El producto tensorial del vector se denota por .
Existen muchas versiones diferentes del cálculo ZX, que utilizan diferentes sistemas de reglas de reescritura como axiomas. Todas comparten la metarregla "solo importa la topología", lo que significa que dos diagramas son iguales si consisten en los mismos generadores conectados de la misma manera, sin importar cómo estén dispuestos estos generadores en el diagrama. Las siguientes son algunas de las reglas de reescritura básicas, aquí dadas "hasta el factor escalar": es decir, se considera que dos diagramas son iguales si sus interpretaciones como aplicaciones lineales difieren en un factor complejo distinto de cero.
El cálculo ZX se ha utilizado en una variedad de tareas de información y computación cuántica .
Las reglas de reescritura del cálculo ZX se pueden implementar formalmente como una instancia de reescritura de doble empuje . Esto se ha utilizado en el software Quantomatic para permitir la reescritura automática de diagramas ZX (o diagramas de cadenas más generales ). [24] Para formalizar el uso de los "puntos" para denotar cualquier número de cables, como se usa en la regla de fusión de arañas, este software usa la notación bang-box [25] para implementar reglas de reescritura donde las arañas pueden tener cualquier número de entradas o salidas.
Un proyecto más reciente para manejar diagramas ZX es PyZX, que se centra principalmente en la optimización de circuitos. [15]
Se puede utilizar el paquete LaTeX zx-calculus para componer diagramas ZX. Muchos autores también utilizan el software TikZiT como interfaz gráfica de usuario para facilitar la composición de diagramas.
El cálculo ZX es sólo uno de los varios lenguajes gráficos para describir mapas lineales entre qubits. El cálculo ZW se desarrolló junto con el cálculo ZX y puede describir de forma natural el estado W y la computación cuántica fermiónica. [26] [27] Fue el primer lenguaje gráfico que tenía un conjunto completo de reglas para un conjunto aproximadamente universal de mapas lineales entre qubits, [8] y los primeros resultados de completitud del cálculo ZX utilizan una reducción al cálculo ZW.
Un lenguaje más reciente es el cálculo ZH , que añade la caja H como generador, que generaliza la compuerta de Hadamard del cálculo ZX. Puede describir de forma natural circuitos cuánticos que involucran compuertas Toffoli. [28]
Hasta los escalares, el cálculo ZX libre de fase, generado por arañas etiquetadas con - es equivalente a la categoría cerrada compacta de daga de relaciones lineales sobre el cuerpo finito . En otras palabras, dado un diagrama con entradas y salidas en el cálculo ZX libre de fase, sus estabilizadores X forman un subespacio lineal de , y la composición de los diagramas ZX libres de fase corresponde a la composición relacional de estos subespacios. En particular, el comonoide Z (dado por la araña Z con una entrada y dos salidas, y la araña Z con una entrada y ninguna salida) y el monoide X (dado por la araña X con una salida y dos entradas, y la araña X con una salida y ninguna entrada) generan la categoría monoidal simétrica de matrices sobre con respecto a la suma directa como el producto monoidal.