Saltar al contenido principal

Fórmulas multiproducto (MPF)

Versiones de paquetes

El código de esta página fue desarrollado con los siguientes requisitos. Recomendamos usar estas versiones o versiones más recientes.

Las fórmulas multiproducto (MPF, por sus siglas en inglés) se pueden usar para simular con mayor precisión la dinámica de un sistema cuántico, a costa de un mayor número de ejecuciones de circuitos. Esta es una técnica de postprocesamiento que mitiga el error de los valores esperados para estados que han evolucionado en el tiempo.

Se utiliza computación clásica para resolver un sistema de ecuaciones lineales que proporciona coeficientes a una combinación ponderada de varias ejecuciones de circuitos. El uso de esta combinación ponderada puede reducir el error asociado con la simulación de la evolución temporal, dada una buena selección de pasos de Trotter. La herramienta MPF recibe una selección de datos --- incluyendo el número de pasos de Trotter y el orden de la aproximación de Trotter --- para preparar y resolver (o aproximar la solución de) el sistema de ecuaciones lineales asociado, que luego puedes usar para postprocesar las mediciones de los valores esperados de un estado con evolución temporal.

Instalar el paquete MPF

Hay dos formas de instalar el paquete MPF: a través de PyPI y compilando desde el código fuente. Se recomienda instalarlo 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-mpf es a través de PyPI.

pip install qiskit-addon-mpf

Compilar desde el código fuente

Los usuarios que deseen desarrollar en el repositorio o que quieran instalarlo manualmente pueden hacerlo clonando primero el repositorio:

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

e instalar el paquete mediante pip. El repositorio también contiene varias dependencias opcionales que habilitan ciertas funcionalidades.

Ajusta las opciones según tus necesidades.

pip install tox notebook -e '.[notebook-dependencies,dev]'

Fundamentos teóricos

Las MPF pueden reducir el error de aproximación de Trotter asociado con la simulación de la dinámica de sistemas cuánticos mediante una combinación ponderada de varias ejecuciones de circuitos. Esta suma ponderada se define como:

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

donde xjx_j son los coeficientes de ponderación, ρjkj\rho_j^{k_j} es la matriz de densidad que corresponde al estado puro obtenido al evolucionar el estado inicial mediante una fórmula producto SkjS^{k_j} que aproxima el operador de evolución temporal usando kjk_j pasos de Trotter, y jj indexa cada fórmula producto usada en la suma.

Varios circuitos con un número variable de pasos de Trotter se usan para calcular el observable objetivo

En general, sin embargo, el objetivo de simular la dinámica cuántica es medir algún observable O(t)\mathcal{O}(t), que es una función del tiempo. Al usar MPF, se ejecutan múltiples circuitos --- cada uno usando kjk_j pasos de Trotter --- para obtener varias mediciones del observable objetivo Okj(t)\mathcal{O}_{k_j}(t). La medición del observable objetivo se obtiene entonces calculando:

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

En esencia, puedes reducir el error de Trotter general aproximando el operador de evolución temporal mediante varias fórmulas producto con un número variable de pasos de Trotter en lugar de una única fórmula producto. Construyes un circuito para cada término de la suma ponderada, que evoluciona el sistema de acuerdo con cada uno de los kjk_j pasos de Trotter. Cada circuito se ejecuta entonces por separado en una QPU para reconstruir los resultados en un paso de postprocesamiento. La utilidad de esta técnica puede verse desde dos perspectivas:

  1. Para un número fijo de pasos de Trotter que ejecutas, puedes obtener resultados con un error de Trotter menor en total.
  2. Para un número de pasos de Trotter que resulta en circuitos profundos, puedes usar MPF para encontrar varios circuitos de menor profundidad que ejecutar, lo que produce un error de aproximación de Trotter similar.

Determinar los coeficientes MPF

La funcionalidad central del paquete qiskit-addon-mpf reside en determinar los coeficientes MPF xj(t)x_j(t) (que pueden depender del tiempo). El proceso para obtener cada xj(t)x_j(t) implica resolver un sistema de ecuaciones lineales Ax=bAx=b donde xx es el vector de coeficientes a determinar, AA es una matriz que depende de cada uno de los kjk_j y de la fórmula producto usada SS (es decir, el orden de aproximación y el número de pasos de Trotter), y bb es un vector de restricciones. Este sistema de ecuaciones puede resolverse de forma exacta o con un modelo aproximado que minimiza la norma-1 de los coeficientes. Además, la elección de cada kjk_j es un proceso heurístico, pero puede acotarse mediante las siguientes restricciones:

  1. El valor más grande de kjk_j está acotado por la mayor profundidad de circuito que se puede ejecutar de forma confiable
  2. El valor más pequeño de kjk_j debe satisfacer dt=t/kj<1dt = t/k_j < 1, ya que es donde el error de Trotter se comporta de manera más predecible
  3. Ninguno de los coeficientes xjx_j debe estar cerca de 00, ya que esto implicaría que no contribuyen mucho a la MPF
  4. De igual forma, el coeficiente asociado al valor más grande de kjk_j no debe dominar, ya que esto implicaría que estás usando una única fórmula producto
  5. Por último, la norma de los coeficientes xjx_j obtenidos debe ser pequeña, ya que esto indica una MPF bien condicionada 1

Pasos siguientes

Recomendaciones

Referencias

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].