Puertas T y fábricas de T

En este artículo se describe el rol de las puertas T y las fábricas de T en la computación cuántica tolerante a errores. Dado un algoritmo cuántico, la estimación de los recursos necesarios para ejecutar las puertas T y las factorías de T se convierte en crucial.

Conjunto universal de puertas cuánticas

Según los criterios de DiVincenzo , un equipo cuántico escalable debe ser capaz de implementar un conjunto universal de puertas cuánticas. Un conjunto universal contiene todas las puertas necesarias para realizar cualquier cálculo cuántico, es decir, cualquier cálculo debe volver a descomponerse en una secuencia finita de puertas universales. Como mínimo, un equipo cuántico debe ser capaz de mover cúbits individuales a cualquier posición de bloch Sphere (mediante puertas de un solo cúbit), así como introducir entrelazamiento en el sistema, lo que requiere una puerta de varios cúbits.

Solo hay cuatro funciones que asignan un bit a un bit en un equipo clásico. En cambio, hay un número infinito de transformaciones unitarias en un solo cúbit en un equipo cuántico. Por lo tanto, ningún conjunto finito de operaciones cuánticas primitivas o puertas puede replicar exactamente el conjunto infinito de transformaciones unitarias permitidas en la computación cuántica. Esto significa que, a diferencia de la computación clásica, es imposible que un equipo cuántico implemente exactamente todos los programas cuánticos posibles utilizando un número finito de puertas. Por tanto, los equipos cuánticos no pueden ser universales en el mismo sentido que los equipos clásicos. Como resultado, cuando decimos que un conjunto de puertas es universal para la computación cuántica, nos referimos en realidad a algo ligeramente más débil de lo que significa en la computación clásica.

Para la universalidad, es necesario que un equipo cuántico solo aproxíe cada matriz unitaria dentro de un error finito mediante una secuencia de puerta de longitud finita.

En otras palabras, un conjunto de puertas es un conjunto de puertas universal si cualquier transformación unitaria puede escribirse aproximadamente como un producto de puertas de este conjunto. Es necesario que para cualquier límite de error prescrito, existen puertas $G_, G_{2}, \ldots, G_N$ desde el conjunto de{1} puertas de modo que

$$ G_N G_{N-1}\cdots G_2 G_1 \approx U. $$

Dado que la convención para la multiplicación de matriz es multiplicar de derecha a izquierda la primera operación de puerta de esta secuencia, $G_N$, es realmente la última aplicada al vector de estado cuántico. Más formalmente, decimos que un conjunto de puertas es universal si para cada tolerancia de error $\epsilon>0$ existe $G_1,\ldots, G_N$ de forma que la distancia entre $G_N\ldots G_1$ y $U$ sea como máximo $\epsilon$. Idealmente, el valor de $N$ necesario para alcanzar esta distancia de $\epsilon$ debería escalarse polilogarítmicamente con $1/\epsilon$.

Por ejemplo, el conjunto formado por puertas Hadamard, CNOT y T es un conjunto universal, desde el que se puede generar cualquier cálculo cuántico (en cualquier número de cúbits). El conjunto de puertas Hadamard y T generan cualquier puerta de un solo cúbit:

$$H=\frac{1}{\sqrt{ 1 amp; 1 \\ 1 &-1 \end{bmatrix}, \qquad T=\begin{bmatrix} 1 & 0 0 \\& e^{i\pi/4}\end{bmatrix}.&{2}}\begin{bmatrix} $$

En un equipo cuántico, las puertas cuánticas se pueden clasificar en dos categorías: puertas clifford y puertas que no son clifford, en este caso, la puerta T. Los programas cuánticos creados solo a partir de puertas clifford se pueden simular de forma eficaz mediante un equipo clásico y, por lo tanto, se requieren puertas que no sean Clifford para obtener la ventaja cuántica. En muchos esquemas de corrección de errores cuánticos (QEC), las llamadas puertas Clifford son fáciles de implementar, es decir, requieren muy pocos recursos en términos de operaciones y cúbits para implementar tolerancia a errores, mientras que las puertas que no son Clifford son bastante costosas cuando requieren tolerancia a errores. En un conjunto de puertas cuánticas universales, la puerta T se usa normalmente como puerta que no es Clifford.

El conjunto estándar de puertas Clifford de un solo cúbit, incluido de forma predeterminada en Q#, incluye:

$$H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & 1 1 \\& 0 \end{bmatrix}= HT^4H,$$

$$ Y =\begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\\ 0&-1 \end{bmatrix}=T^4. $$

Junto con la puerta que no es Clifford (la puerta T), estas operaciones se pueden componer para aproximar cualquier transformación unitaria en un solo cúbit.

Generadores de T en el estimador de recursos de Azure Quantum

La preparación de la puerta T que no es Clifford es fundamental porque las otras puertas cuánticas no son suficientes para el cálculo cuántico universal. Para implementar operaciones que no son clifford para algoritmos de escala práctica, se requieren puertas T de tasa de error baja (o estados T). Sin embargo, pueden ser difíciles de implementar directamente en cúbits lógicos y también pueden ser difíciles para algunos cúbits físicos.

En un equipo cuántico tolerante a errores, los estados T de baja tasa de errores necesarios se producen mediante una fábrica de destilación de estado T o una fábrica de T para abreviar. Estas fábricas de T suelen implicar una secuencia de rondas de destilación, donde cada ronda toma muchos estados T ruidosos codificados en un código de distancia menor, los procesa mediante una unidad de destilación y genera menos estados T ruidosos codificados en un código de distancia mayor, con el número de rondas, unidades de destilación y distancias que pueden variar todos los parámetros. Este procedimiento se itera, donde los estados T de salida de una ronda se introducen en la siguiente ronda como entradas.

En función de la duración de la factoría de T, el estimador de recursos de Azure Quantum determina la frecuencia con la que se puede invocar una factoría de T antes de superar el tiempo de ejecución total del algoritmo y, por tanto, cuántos estados T se pueden producir durante el tiempo de ejecución del algoritmo. Normalmente, se requieren más estados T que lo que se puede producir dentro de las invocaciones de un único generador de T durante el tiempo de ejecución del algoritmo. Para generar más estados T, el Estimador de recursos usa copias de las factorías de T.

Estimación física de fábrica de T

El estimador de recursos calcula el número total de estados de T necesarios para ejecutar el algoritmo y el número de cúbits físicos para un único generador de T y su tiempo de ejecución.

El objetivo es generar todos los estados T dentro del tiempo de ejecución del algoritmo con la menor cantidad de copias de fábrica de T posible. En el diagrama siguiente se muestra un ejemplo del tiempo de ejecución del algoritmo y el tiempo de ejecución de un generador de T. Puede ver que el tiempo de ejecución de la factoría de T es más corto que el tiempo de ejecución del algoritmo. En este ejemplo, una fábrica de T puede destilar un estado T. Surgen dos preguntas:

  • ¿Con qué frecuencia se puede invocar el generador de T antes del final del algoritmo?
  • ¿Cuántas copias de la ronda de destilación de fábrica T son necesarias para crear el número de estados T necesarios durante el tiempo de ejecución del algoritmo?
Diagrama que muestra el tiempo de ejecución del algoritmo (rojo) frente al tiempo de ejecución de un generador de T (azul). Antes del final del algoritmo, el generador de T puede ejecutarse 8 veces. Si necesitamos 30 estados T y T factory puede ejecutarse 8 veces durante el tiempo de ejecución, necesitamos 4 copias de las fábricas T que se ejecutan en paralelo para destilar 30 estados T.

Antes del final del algoritmo, el generador T se puede invocar ocho veces, lo que se denomina una ronda de destilación. Por ejemplo, si necesita 30 estados T, se invoca un único generador de T ocho veces durante el tiempo de ejecución del algoritmo y, por lo tanto, crea ocho estados T. A continuación, necesita cuatro copias de la ronda de destilación de fábrica T ejecutándose en paralelo para destilar los estados de 30 T necesarios.

Nota

Tenga en cuenta que las copias de fábrica de T y las invocaciones de fábrica de T no son las mismas.

Las fábricas de destilación de estado T se implementan en una secuencia de rondas, donde cada ronda consta de un conjunto de copias de unidades de destilación que se ejecutan en paralelo. El estimador de recursos calcula cuántos cúbits físicos se necesitan para ejecutar un generador de T y durante cuánto tiempo se ejecuta el generador de T, entre otros parámetros necesarios.

Solo puede realizar invocaciones completas de un generador de T. Por lo tanto, puede haber situaciones en las que el tiempo de ejecución acumulado de todas las invocaciones de fábrica de T sea menor que el tiempo de ejecución del algoritmo. Dado que los cúbits se reutilizan en diferentes rondas, el número de cúbits físicos para un generador de T es el número máximo de cúbits físicos usados para una ronda. El tiempo de ejecución de la fábrica de T es la suma del tiempo de ejecución en todas las rondas.

Nota

Si la tasa de errores de puerta T física es inferior a la tasa de errores de estado T lógico necesaria, el estimador de recursos no puede realizar una buena estimación de recursos. Al enviar un trabajo de estimación de recursos, es posible que encuentre que no se encuentra la factoría de T porque la tasa de errores de estado T lógico necesaria es demasiado baja o demasiado alta.

Para obtener más información, consulte el Apéndice C de evaluación de los requisitos para escalar a una ventaja cuántica práctica.

Pasos siguientes