Saltar al contenido principal
Este proyecto está en fase beta. ¿Encontraste un error? Abre un issue en GitHub. ¿Tienes una pregunta o una idea? Pregunta en Discussions — ¡nos encantaría tu opinión!
¿Cómo es la calidad de la traducción en esta página?

Boxes con dressing

Los mecanismos físicos de ruido que se producen durante la ejecución de circuitos cuánticos son contextuales. Al aplicar operaciones simultáneamente sobre conjuntos disjuntos de qubits, el perfil de ruido de la operación global puede diferir de los perfiles de ruido de sus partes constituyentes si estas se aplicaran de forma aislada. De manera similar, en el caso de operaciones que idealmente conmutan sobre los mismos qubits, el perfil de ruido asociado a cada operación individual podría no conmutar y ser completamente distinto si cambiara el orden de las operaciones. Por lo tanto, los protocolos para suprimir, mitigar y corregir el ruido necesitan conocer el contexto en el que este surge.

Samplomatic utiliza instrucciones box para razonar sobre colecciones de operaciones del circuito que deben tratarse como si tuvieran un contexto de ruido estable, y utiliza anotaciones en los boxes para que los usuarios declaren y configuren esa intención. Cada box es un ámbito que posee un conjunto de qubits, las operaciones que actúan sobre esos qubits y una lista de anotaciones. Las anotaciones de Samplomatic especifican directivas y dressings. Las directivas especifican qué hacer con el box, por ejemplo, aplicar twirling al box. Los dressings son grupos de puertas parametrizadas que se añaden al lado izquierdo o derecho del box, por ejemplo, una capa de puertas de un solo qubit. Las puertas de un dressing incorporan puertas del box y las operaciones necesarias para ejecutar las directivas, como las siguientes:

  • Puertas del box que son compatibles con las puertas parametrizadas y están en el mismo lado que ellas.

  • Puertas de twirling muestreadas de un conjunto para aleatorizar el box.

  • Puertas de inyección de ruido muestreadas de un mapa de Pauli Lindblad.

  • Puertas de cambio de base especificadas por el usuario.

Ten en cuenta que las directivas pueden alterar los dressings de otros boxes.

Ejemplo​

Supongamos que queremos aplicar twirling al siguiente circuito, añadiendo puertas de Pauli aleatorias antes y después de las puertas entrelazantes paralelas, de modo que no cambien el contenido lógico del circuito, pero sí el modelo de ruido efectivo.

../_images/undressed_pauli.drawio.png

Circuito al que aplicar twirling de Pauli.

Esto se logra estratificando el circuito en boxes y añadiendo anotaciones de twirl.

../_images/dressed_pauli_twirl.drawio.png

Circuito con directivas de twirling de Pauli. El símbolo @ se usa para especificar directivas; por defecto, el dressing está a la izquierda.

Cada box con dressing contiene una capa de puertas de un solo qubit y una capa de puertas entrelazantes de dos qubits sobre pares disjuntos de qubits. La capa de puertas entrelazantes está rodeada por capas de puertas de Pauli aleatorias de tal manera que la acción lógica del box no cambia. Estas capas de Pauli aleatorias son virtuales de la misma forma que una puerta Z virtual. No añaden operaciones al circuito, sino que actúan como una directiva para alterar cómo se implementan las puertas adyacentes de un solo qubit.

../_images/pauli_twirl.drawio.png

Circuito con dressings y puertas procedentes de directivas. Los dressings son los boxes discontinuos. Las capas de Pauli unidas por flechas se cancelan entre sí. La última capa de Pauli se aplicará como inversiones de bit a los resultados de medición.

La capa de Pauli aleatoria entre las puertas entrelazantes y las puertas de un solo qubit se compone en la capa de puertas de un solo qubit y se implementa en su dressing. La otra capa de Pauli aleatoria se compondrá en el dressing del siguiente box con dressing.

En resumen, la directiva de twirl izquierda (o derecha) implementa un Pauli aleatorio en el dressing de este box y aplica el Pauli que lo deshace en el dressing del siguiente (o anterior) box. Las directivas de inyección de ruido y de cambio de base son análogas.

Aleatorización de circuitos con puertas virtuales​

Samplomatic utiliza el marco de las puertas virtuales para razonar sobre circuitos con boxes con dressing. Conceptualmente, y tal como se implementa en una instancia de Samplex producida por el proceso build(), las puertas virtuales se generan en el borde del box opuesto a su dressing. Estas puertas virtuales se desplazan a través del circuito de una forma prescrita y deben componerse en un dressing. Si todas las puertas virtuales pueden componerse en un dressing, las aleatorizaciones del circuito pueden construirse de forma procedimental.

../_images/dressed_box.drawio.png

Circuito con directivas de twirl, cambio de base e inyección de ruido.

Las puertas del lado del dressing que son compatibles con la parametrización de plantilla del dressing pueden componerse en él, lo que reduce el número de puertas físicas. Estas se denominan puertas fáciles. El resto del box se denomina difícil y se implementa tal cual.

../_images/dressed_box_uncollected.drawio.png

Ejemplos de circuitos con puertas virtuales sin colocar. Las puertas virtuales del lado opuesto del dressing no tienen dónde implementarse.

../_images/dressed_box_collected.drawio.png

Ejemplos de circuitos en los que todas las puertas virtuales se componen en dressings. En las mediciones, las puertas de Pauli se componen teniendo en cuenta la inversión de bit que inducen.

../_images/dressed_box_mixed_collect.drawio.png

Ejemplo complejo en el que se recogen todas las puertas virtuales. Las puertas virtuales generadas por un box pueden componerse en dressings distintos.

Esto permite construcciones en las que los boxes con dressing no necesitan tener el mismo ancho.