Retropropagación de operadores (OBP)
La retropropagación de operadores (OBP, por sus siglas en inglés) es una técnica para reducir la profundidad de un circuito eliminando operaciones de su parte final, a cambio de medir más operadores. Existen diversas formas de llevar a cabo la retropropagación de operadores; este paquete utiliza un método basado en la teoría de perturbaciones de Clifford [1].
A medida que se propaga un operador más a fondo a través de un circuito, el tamaño del observable que hay que medir crece exponencialmente. Esto genera una sobrecarga tanto en recursos clásicos como cuánticos. Sin embargo, para algunos circuitos, la distribución resultante de los observables de Pauli adicionales está más concentrada que el escalado exponencial del peor caso. Esto implica que algunos términos de un observable con coeficientes pequeños pueden truncarse para reducir la sobrecarga cuántica. El error introducido al hacer esto puede controlarse para encontrar un equilibrio adecuado entre precisión y eficiencia.
Instalación
Puedes instalar el paquete OBP de dos formas: mediante PyPI o compilándolo desde el código fuente. Considera instalar estos paquetes en un entorno virtual para garantizar la separación entre las dependencias de los paquetes.
Instalar desde PyPI
La forma más sencilla de instalar el paquete qiskit-addon-obp es mediante PyPI.
pip install qiskit-addon-obp
Compilar desde el código fuente
Los usuarios que deseen contribuir a este paquete o instalarlo manualmente pueden hacerlo clonando primero el repositorio:
git clone git@github.com:Qiskit/qiskit-addon-obp.git
e instalar el paquete mediante pip. El repositorio también contiene cuadernos de ejemplo. Si planeas desarrollar en el repositorio, instala las dependencias dev.
Ajusta las opciones según tus necesidades:
pip install tox notebook -e '.[notebook-dependencies, dev]'
Marco teórico
El procedimiento OBP implementado en este paquete se describe en detalle en [1]. Al utilizar el primitivo Estimator, la salida de una carga de trabajo cuántica es la estimación de uno o más valores esperados con respecto a algún estado preparado mediante una QPU. Esta sección resume el procedimiento.
Para comenzar, escribe la medición del valor esperado de un observable en términos de algún estado inicial y un circuito cuántico :