Skip to main content
IBM Quantum Platform

Propagación de Pauli

El paquete pauli-prop proporciona una interfaz « Python » acelerada por Rust para realizar la propagación de Pauli.

La propagación de Pauli es un marco para aproximar la evolución de los operadores en la base de Pauli bajo la acción de otros operadores, como las puertas de circuitos cuánticos y los canales de ruido. Este enfoque puede resultar eficaz cuando se espera que los operadores implicados sigan siendo dispersos en la base de Pauli.

Las subrutinas de este paquete pueden utilizarse para implementar técnicas de mitigación de errores, como el sombreado por cono de luz [6] y la absorción de ruido propagado [7], la retropropagación de operadores [8] para la reducción de la profundidad de los circuitos, y la simulación clásica de valores esperados [1-5].


cómo empezar

En la guía de inicio rápido encontrarás una guía sencilla que te ayudará a empezar a utilizar este paquete rápidamente.


Ejemplos de casos de uso

La propagación de Pauli puede utilizarse como motor de nivel inferior para implementar diversas técnicas. Algunos ejemplos de casos en los que se ha utilizado son:

  • Sombreado de cono de luz para reducir la sobrecarga de muestreo de la cancelación probabilística de errores (PEC) con el fin de mitigar los valores esperados en un modelo de Ising de campo transversal de 1 y 2D es [6] [qiskit-addon-slc documentación ]
  • Incorporación de la información del modelo de ruido en una observable objetivo para mitigar los valores esperados en un modelo de Ising de campo transversal « 2D » [7] [qiskit-addon-pna documentación ]
  • Recorte de puertas de salida para generar circuitos de Trotter de menor profundidad para la evolución temporal de un modelo de espín « 2D » [8] [qiskit-addon-obp documentación ]

Debate técnico

Detalles del software

  • Interfaz « Python » acelerada por Rust
  • Ayuda para simulaciones con ruido [ guía ]
  • Posibilidad de truncar términos durante la evolución en función de una tolerancia de coeficiente absoluta, un número fijo de términos en el operador en evolución o una combinación de ambos
  • Capacidad para realizar la propagación de Pauli tanto en el marco de Schrödinger como en el de Heisenberg
  • Nueva técnica para aproximar la conjugación de un operador de suma de Pauli mediante otro operador de Pauli. Esta implementación heurística genera de forma «codiciosa» las contribuciones al producto que se espera que sean más significativas. Para más información, véase el apéndice B de [7].
  • de una sola hebra

Requisitos informáticos

Tanto el coste de memoria como el de tiempo de las rutinas de propagación de Pauli suelen variar proporcionalmente al tamaño hasta el que se permite que crezca el operador evolucionado.

propagate_through_rotation_gates(): A medida que el operador de Pauli se propaga en la base de Pauli bajo la acción de una secuencia de puertas de rotación de Pauli NN de un circuito de MM -qubits, el número de términos crecerá según la relación O(2N)\mathcal{O}(2^N) hasta alcanzar un máximo de 4M4^M componentes de Pauli únicos. Para controlar el uso de memoria, el operador se trunca tras la aplicación de cada puerta, lo que introduce un error proporcional a las magnitudes de los coeficientes de los términos truncados. Los requisitos de memoria son lineales con respecto al tamaño del operador evolucionado, y el tiempo de ejecución varía linealmente tanto con el tamaño del operador como con el número de puertas.

propagate_through_operator(): Conjuga un operador en la base de Pauli con otro mediante la acumulación «glotona» de términos en la suma, i,j,kGiOjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k, donde i,j,ki,j,k son índices dispersos sobre la base de Pauli. Esta implementación ordena los coeficientes de cada operador por orden descendente de magnitud y, a continuación, busca en el espacio de índices 3D los términos con los coeficientes más grandes, comenzando por el origen (0,0,0)(0,0,0) y acumulando tripletas (i,j,k)(i,j,k) hasta un límite especificado. El tiempo dedicado a la búsqueda suele reducirse hasta ser insignificante aumentando el tamaño del paso de búsqueda en un espaci (i,j,k)(i,j,k), lo que proporciona una aceleración cúbica para esta subrutina. En nuestro proceso de perfilado, se puede dedicar bastante tiempo a ordenar los operadores y a realizar la multiplicación de Pauli para generar los términos del nuevo operador.


contribuir

El código fuente está disponible en GitHub.

La guía para desarrolladores se encuentra en CONTRIBUTING.md, en el directorio raíz del repositorio de este proyecto. Al participar, se espera que respetes el código de conducta de Qiskit.

Utilizamos las incidencias de GitHub para realizar el seguimiento de las solicitudes y los errores.


Citando este paquete

Si utilizas este paquete en tu investigación, utiliza el archivo « CITATION.bib » que se encuentra en el repositorio de este proyecto para citar las referencias correspondientes.


Licencia

Apache Licencia 2.0


Política de obsolescencia

Seguimos el sistema de versionado semántico. Es posible que, de vez en cuando, realicemos cambios que afecten al funcionamiento del sistema con el fin de mejorar la experiencia del usuario. Siempre que sea posible, mantendremos las interfaces antiguas y las marcaremos como obsoletas, siempre y cuando puedan coexistir con las nuevas. Cada mejora significativa, cambio que implique incompatibilidad o función en desuso se documentará en las notas de la versión.


Referencias

  1. [Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, «Simulaciones clásicas rápidas y convergentes que aportan pruebas de la utilidad de la computación cuántica antes de la tolerancia a fallos », arXiv:2308.05077 [quant-ph].

  2. Nicolas Loizeau y otros, Simulaciones cuánticas de muchos cuerpos con PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph y otros, Propagación de Pauli: un marco computacional para simular sistemas cuánticos, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan y otros, Guía práctica para el uso de los simuladores de trayectorias de Pauli en experimentos cuánticos a escala industrial, arXiv:2507.10771[ quant-ph].

  5. Lukas Broers y otros, Simulación escalable de la dinámica cuántica de muchos cuerpos mediante álgebra cuántica representada por «Or», arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, «Lightcone shading for classically accelerated quantum error mitigation», arXiv:2409.04401 [quant-ph].

  7. Andrew Eddins y otros, Cálculo de observables con cancelación de ruido mediante la propagación de Pauli, arXiv:2606.20441 [quant-ph].

8 Bryce Fuller y otros, «Mejora del cálculo cuántico mediante la retropropagación de operadores», arXiv:2502.01897 [quant-ph].

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.