Skip to main content
IBM Quantum Platform

Diagonalización cuántica basada en muestras (SQD)

Este paquete implementa la diagonalización cuántica basada en muestras (SQD), una técnica para hallar los valores propios y los vectores propios de operadores cuánticos, como el hamiltoniano de un sistema cuántico [1–6]. Puede aplicarse a hamiltonianos expresados como combinaciones lineales de operadores de Pauli u operadores fermiónicos de segunda cuantización. Los flujos de trabajo basados en SQD pueden ejecutarse en los ordenadores cuánticos actuales y se ha demostrado que son capaces de escalar a problemas de un tamaño superior al que era posible con los métodos variacionales, e incluso más allá del alcance de los métodos clásicos exactos de diagonalización.

Los flujos de trabajo basados en SQD consisten, en primer lugar, en preparar uno o varios estados cuánticos en un dispositivo cuántico y tomar muestras de ellos. A continuación, se recurre a la computación distribuida clásica para procesar esas muestras con ruido. Este procesamiento se lleva a cabo de forma iterativa en dos pasos: en primer lugar, un paso de recuperación de la configuración corrige las muestras con ruido utilizando información sobre el problema de entrada; en segundo lugar, el hamiltoniano se proyecta y se diagonaliza en el subespacio generado por dichas muestras. Estos pasos se repiten de forma autoconsistente hasta alcanzar la convergencia. El resultado es una aproximación al valor propio mínimo (energía) y al estado propio de mínima energía de un hamiltoniano dado. El SQD es resistente a las muestras afectadas por ruido cuántico; de hecho, siempre que se pueda recuperar una señal útil del ordenador cuántico, el resultado del SQD no se verá afectado por las cadenas de bits con ruido.

qiskit-addon-sqd Se puede utilizar para procesar de forma clásica muestras extraídas de diversos circuitos cuánticos en la práctica. Por ejemplo:

  1. Un enfoque de circuito variacional cuyos parámetros se eligen de tal manera que, al muestrear el circuito, se obtienen configuraciones electrónicas en las que la función de onda objetivo (por ejemplo, el estado fundamental) tiene un soporte significativo. Esto resulta interesante para aplicaciones en química, donde los hamiltonianos pueden tener millones de términos de interacción [1]. Para ver un ejemplo de cómo se aplica este enfoque a la química utilizando un circuito LUCJ, consulta el tutorial sobre cómo aproximar la energía del estado fundamental de la molécula « N2 ».
  2. Se prepara un conjunto de estados de base de Krylov a lo largo de intervalos de tiempo cada vez mayores. Partiendo de la hipótesis de un buen estado inicial y de la escasa densidad del estado fundamental, se ha demostrado que este enfoque converge de manera eficiente. Dado que es necesario preparar circuitos de evolución temporal «trotterizados» en un dispositivo cuántico, este enfoque resulta más adecuado para aplicaciones en modelos de red [2] que para hamiltonianos complejos de muchos cuerpos, como los utilizados en química cuántica. Para ver un ejemplo de cómo se aplica este enfoque a los hamiltonianos de red fermiónica, consulta el tutorial sobre cómo aproximar la energía del estado fundamental de un modelo de Anderson simplificado con una sola impureza.
  3. Un conjunto de estados de base de Krylov implementado mediante una compilación aleator qDRIFT e del operador de evolución temporal. Este enfoque da lugar a circuitos de menor profundidad en comparación con las descomposiciones de la evolución temporal basadas en Trotter, por lo que puede utilizarse para los hamiltonianos de la química cuántica. Esta técnica se ha aplicado a la energía del estado fundamental de los hidrocarburos aromáticos policíclicos [6].

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 técnica de diagonalización cuántica basada en muestras puede utilizarse para implementar una amplia variedad de flujos de trabajo. Algunos ejemplos de dónde se ha utilizado son:


Debate técnico

Tamaños de los sistemas y requisitos informáticos

El coste computacional de SQD viene determinado principalmente por las llamadas al solucionador de estados propios. En cada paso de la iteración de recuperación de la configuración autoconsistente, se realizan n_batches de llamadas al solucionador de estados propios. Las distintas llamadas se ejecutan en paralelo de forma casi ridícula. En este tutorial, esas llamadas se encuentran dentro de un bucle «for». Se recomienda encarecidamente realizar estas llamadas en paralelo.

La qiskit_addon_sqd.fermion.solve_fermion() función es multihilo y capaz de gestionar sistemas con unos 25 orbitales espaciales y unos 10 electrones, con dimensiones del subespacio de unos $10^7$, utilizando entre unos 10 y 30 núcleos.

Elección de las dimensiones del subespacio

La elección de la dimensión del subespacio influye en la precisión y en el tiempo de ejecución del solucionador de estados propios. Cuanto mayor sea el subespacio, más preciso será el cálculo, aunque a costa de un aumento del tiempo de ejecución y de los requisitos de memoria. Se desconoce cuál es el tamaño óptimo del subespacio de un sistema determinado; por lo tanto, se puede llevar a cabo un estudio de convergencia en función de la dimensión del subespacio, tal y como se describe en esta guía.

La dimensión del subespacio se establece de forma indirecta

En este paquete, el usuario controla el número de cadenas de bits que contiene cada subespacio mediante el argumento «samples_per_batch» en qiskit_addon_sqd.subsampling.postselect_and_subsample(). El valor de este argumento establece un límite superior para la dimensión del subespacio en el caso de las aplicaciones de la química cuántica. Consulta este ejemplo para obtener más detalles.

solucionadores

Las etapas de proyección y diagonalización se llevan a cabo mediante un solucionador clásico. A continuación ofrecemos dos solucionadores genéricos: uno para sistemas fermiónicos y otro para sistemas de qubits. Los usuarios pueden integrar otros solucionadores que puedan resultar más eficientes para sistemas específicos.


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 los problemas GitHub para el seguimiento de las solicitudes y los errores.


Citar 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. Javier Robledo-Moreno y otros, «La química más allá de las soluciones exactas en un superordenador centrado en la mecánica cuántica », arXiv:2405.05068[ quant-ph].

  2. Jeffery Yu y otros, Algoritmo centrado en la mecánica cuántica para la diagonalización de Krylov basada en muestras, arXiv:2501.09702 [quant-ph].

  3. Keita Kanno y otros, Interacción de configuraciones seleccionadas cuánticamente: diagonalización clásica de hamiltonianos en subespacios seleccionados por ordenadores cuánticos, arXiv:2302.11320 [quant-ph].

  4. Kenji Sugisaki y otros, Interacción de configuraciones seleccionadas cuánticamente basada en simulación hamiltoniana para cálculos de estructura electrónica a gran escala con un ordenador cuántico, arXiv:2412.07218 [quant-ph].

  5. Mathias Mikkelsen, Yuya O. Nakagawa, «Interacción de configuración seleccionada cuánticamente con estado evolucionado en el tiempo », arXiv:2412.13839 [quant-ph].

  6. Samuele Piccinelli y otros, Química cuántica con convergencia demostrable mediante la diagonalización cuántica de Krylov basada en muestras aleatorias, arXiv:2508.02578 [quant-ph].

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