stringtranslate.com

Kit de qi

Qiskit es un kit de desarrollo de software (SDK) de código abierto para trabajar con computadoras cuánticas a nivel de circuitos, pulsos y algoritmos. Proporciona herramientas para crear y manipular programas cuánticos y ejecutarlos en dispositivos cuánticos prototipo en IBM Quantum Platform o en simuladores en una computadora local. Sigue el modelo de circuito para computación cuántica universal y se puede utilizar para cualquier hardware cuántico (actualmente admite cúbits superconductores e iones atrapados ) [4] que siga este modelo.

Qiskit fue fundada por IBM Research para permitir el desarrollo de software para su servicio de computación cuántica en la nube , IBM Quantum Experience . [5] [6] También se reciben contribuciones de patrocinadores externos, generalmente de instituciones académicas. [7] [8]

La versión principal de Qiskit utiliza el lenguaje de programación Python . Inicialmente se exploraron versiones para Swift [9] y JavaScript [10] , aunque el desarrollo de estas versiones se ha detenido. En su lugar, está disponible una reimplementación mínima de las características básicas como MicroQiskit [11] , que está diseñada para que sea fácil de trasladar a plataformas alternativas.

Se proporciona una serie de cuadernos Jupyter con ejemplos de uso de la computación cuántica. [12] Entre los ejemplos se incluyen el código fuente de los estudios científicos que utilizan Qiskit, [13] así como un conjunto de ejercicios para ayudar a las personas a aprender los conceptos básicos de la programación cuántica. Hay disponible un libro de texto de código abierto basado en Qiskit como complemento de un curso de computación cuántica o algoritmos cuánticos de nivel universitario. [14]

Componentes

Qiskit está formado por elementos que trabajan juntos para permitir la computación cuántica. El objetivo central de Qiskit es construir una pila de software que facilite a cualquier persona el uso de computadoras cuánticas, independientemente de su nivel de habilidad o área de interés; Qiskit permite a los usuarios diseñar experimentos y aplicaciones y ejecutarlos en computadoras cuánticas reales y/o simuladores clásicos. Qiskit proporciona la capacidad de desarrollar software cuántico tanto a nivel de código de máquina de OpenQASM como a niveles abstractos adecuados para usuarios finales sin experiencia en computación cuántica. Esta funcionalidad es proporcionada por los siguientes componentes. [15]

Qiskit Terra

El elemento Terra es la base sobre la que se construye el resto de Qiskit. Qiskit Terra proporciona herramientas para crear circuitos cuánticos a nivel de código de máquina cuántica o cercano a él . [16] Permite que los procesos que se ejecutan en hardware cuántico se construyan explícitamente en términos de puertas cuánticas . También proporciona herramientas para permitir que los circuitos cuánticos se optimicen para un dispositivo, así como para administrar lotes de trabajos y ejecutarlos en dispositivos y simuladores cuánticos de acceso remoto.

A continuación se muestra un ejemplo sencillo de Qiskit Terra. En él, se crea un circuito cuántico para dos cúbits , que consta de las puertas cuánticas necesarias para crear un estado de Bell . El circuito cuántico termina con mediciones cuánticas , que extraen un bit de cada cúbit.

desde  qiskit  importar  QuantumCircuitqc  =  Circuito Cuántico ( 2 ,  2 )qc . h ( 0 ) qc . cx ( 0 ,  1 ) qc . medida ([ 0 , 1 ],  [ 0 , 1 ])

Qiskit Aer

El elemento Aer proporciona simuladores de computación cuántica de alto rendimiento con modelos de ruido realistas. En el corto plazo, el desarrollo de software cuántico dependerá en gran medida de la simulación de pequeños dispositivos cuánticos. Para Qiskit, esto lo proporciona el componente Aer. Este proporciona simuladores alojados localmente en el dispositivo del usuario, así como recursos de HPC disponibles a través de la nube. [17] Los simuladores también pueden simular los efectos del ruido para modelos de ruido simples y sofisticados. [18]

Siguiendo con el ejemplo anterior: una vez creado el circuito cuántico, se puede ejecutar en un backend (ya sea hardware cuántico o un simulador). En el siguiente ejemplo, se utiliza un simulador local.

desde  qiskit  import  Aer ,  ejecutarbackend  =  Aer . get_backend ( "qasm_simulator" ) trabajo  =  ejecutar ( qc ,  backend ) resultado  =  trabajo . resultado () imprimir ( resultado . obtener_cuentas ( qc ))

La declaración de impresión final aquí mostrará los resultados devueltos por el backend. Este es un diccionario de Python que describe las cadenas de bits obtenidas de múltiples ejecuciones del circuito cuántico. En el circuito cuántico utilizado en este ejemplo, las cadenas de bits '00'y '11'deben ser los únicos resultados posibles, y deben ocurrir con la misma probabilidad. Por lo tanto, los resultados completos normalmente tendrán las muestras divididas aproximadamente en partes iguales entre los dos, como {'00':519, '11':505} .

Los experimentos realizados en hardware cuántico utilizando Qiskit se han utilizado en muchos artículos de investigación, [19] como en pruebas de corrección de errores cuánticos, [20] [21] generación de entrelazamiento [22] y simulación de dinámicas alejadas del equilibrio. [23]

Qiskit Ignis

A partir de la versión 0.7.0, lanzada el 6 de diciembre de 2021, Qiskit Ignis ha quedado obsoleto y ha sido reemplazado por el proyecto Qiskit Experiments. [24]

El elemento Ignis proporciona herramientas para la verificación de hardware cuántico, la caracterización del ruido y la corrección de errores. Ignis es un componente que contiene herramientas para caracterizar el ruido en dispositivos de corto plazo, así como para permitir que se realicen cálculos en presencia de ruido. Esto incluye herramientas para la evaluación comparativa de dispositivos de corto plazo, la mitigación de errores y la corrección de errores. [25]

Ignis está dirigido a aquellos que desean diseñar códigos de corrección de errores cuánticos, o que desean estudiar formas de caracterizar errores a través de métodos como la tomografía, o incluso encontrar una mejor manera de utilizar puertas explorando el desacoplamiento dinámico y el control óptimo.

Kit de aguacate

A partir de la versión 0.9.0, lanzada el 2 de abril de 2021, Qiskit Aqua ha quedado obsoleto y su soporte finalizará y su archivo final no se realizará antes de 3 meses a partir de esa fecha.

El elemento Aqua proporcionó una biblioteca de algoritmos de dominio cruzado sobre la que se pueden crear aplicaciones específicas de dominio. Sin embargo, la versión 0.25.0 de Qiskit incluyó una reestructuración de las aplicaciones y los algoritmos. Lo que antes se conocía como Qiskit Aqua, el módulo único de aplicaciones y algoritmos de Qiskit, ahora se divide en módulos de aplicaciones dedicados para optimización, finanzas, aprendizaje automático y naturaleza (incluida la física y la química). Los algoritmos básicos y la funcionalidad del operador de flujo de operaciones se trasladaron a Qiskit Terra.

Además de la reestructuración, todos los algoritmos siguen un paradigma unificado: los algoritmos se clasifican según los problemas que resuelven y, dentro de una misma clase de aplicación, los algoritmos pueden utilizarse indistintamente para resolver el mismo problema. Esto significa que, a diferencia de lo que sucedía antes, las instancias de los algoritmos están desacopladas del problema que resuelven. [26]

Optimización de Qiskit

Qiskit Optimization es un marco de código abierto que cubre todo el rango, desde el modelado de alto nivel de problemas de optimización , con conversión automática de problemas a diferentes representaciones requeridas, hasta un conjunto de algoritmos de optimización cuántica fáciles de usar que están listos para ejecutarse en simuladores clásicos, así como en dispositivos cuánticos reales a través de Qiskit. El módulo Optimization permite un modelado fácil y eficiente de problemas de optimización utilizando docplex. [27]

Finanzas Qiskit

Qiskit Finance es un marco de código abierto que contiene componentes de incertidumbre para problemas de acciones/valores, traductores de Ising para optimizaciones de cartera y proveedores de datos para obtener datos reales o aleatorios para financiar experimentos. [28]

Aprendizaje automático Qiskit

El paquete Machine Learning (a partir de 2021) contiene conjuntos de datos de muestra en la actualidad. Tiene algunos algoritmos de clasificación como QSVM y VQC (clasificador cuántico variacional), donde estos datos se pueden usar para experimentos, y también existe el algoritmo QGAN ( red generativa cuántica adversaria ). [29]

Naturaleza Qiskit

Qiskit Nature es un marco de código abierto que admite problemas que incluyen cálculos de energía del estado fundamental, estados excitados y momentos dipolares de moléculas, tanto de capa abierta como cerrada. El código incluye controladores químicos que, cuando se les proporciona una configuración molecular, devolverán integrales de uno y dos cuerpos, así como otros datos que se calculan de manera eficiente de manera clásica. Estos datos de salida de un controlador se pueden usar como entrada en Qiskit Nature, que contiene lógica que puede traducirlos a una forma que sea adecuada para algoritmos cuánticos. [30]

Véase también

Referencias

  1. ^ Jay M. Gambetta; Andrew Cross (27 de marzo de 2018). "Recordando un año de Qiskit". Medium . Archivado desde el original el 16 de diciembre de 2021. Consultado el 24 de septiembre de 2019 .
  2. ^ "Lanzamientos – Qiskit". GitHub . Archivado desde el original el 2021-12-16 . Consultado el 2019-12-20 .
  3. ^ Licencia
  4. ^ "Qiskit: escribe una vez, apunta a múltiples arquitecturas". Blog de investigación de IBM . 5 de noviembre de 2019. Archivado desde el original el 26 de noviembre de 2020. Consultado el 20 de diciembre de 2019 .
  5. ^ Magee, Tamlim (24 de agosto de 2018). «¿Qué es Qiskit, el marco de computación cuántica de código abierto de IBM?». Computerworld UK . Archivado desde el original el 6 de marzo de 2019. Consultado el 11 de diciembre de 2018 .
  6. ^ Hemsoth, Nicole (7 de agosto de 2018). "Los desarrollos de QISKit son clave para la interacción cuántica con IBM". The Next Platform . Archivado desde el original el 6 de marzo de 2019. Consultado el 11 de diciembre de 2018 .
  7. ^ "Página de Github de Qiskit". GitHub . Archivado desde el original el 2021-02-04 . Consultado el 2018-11-05 .
  8. ^ Wille, R.; Meter, R. Van; Naveh, Y. (25 de marzo de 2019). "Cadena de herramientas Qiskit de IBM: trabajo con y desarrollo para ordenadores cuánticos reales". Conferencia y exposición sobre diseño, automatización y pruebas en Europa de 2019 (DATE). págs. 1234–1240. doi :10.23919/DATE.2019.8715261. ISBN 978-3-9819263-2-3. S2CID  155108078. Archivado desde el original el 17 de octubre de 2022. Consultado el 30 de diciembre de 2023 .
  9. ^ "Qiskit en swift". GitHub . Archivado desde el original el 16 de diciembre de 2021 . Consultado el 24 de septiembre de 2019 .
  10. ^ "Qiskit (Quantum Information Science Kit) para JavaScript". GitHub . Archivado desde el original el 14 de agosto de 2018 . Consultado el 24 de septiembre de 2019 .
  11. ^ "MicroQiskit". GitHub . Archivado desde el original el 12 de febrero de 2022 . Consultado el 10 de febrero de 2021 .
  12. ^ "Una colección de cuadernos Jupyter que muestran cómo usar Qiskit que está sincronizado con IBM Quantum Experience". GitHub . Archivado desde el original el 7 de julio de 2018 . Consultado el 24 de septiembre de 2019 .
  13. ^ "Celebrando la comunidad IBM Q Experience y su investigación". IBM . Equipo editorial de IBM Research. 8 de marzo de 2018. Archivado desde el original el 10 de octubre de 2019 . Consultado el 24 de septiembre de 2019 .
  14. ^ "Aprenda computación cuántica con Qiskit". Archivado desde el original el 20 de diciembre de 2019 . Consultado el 20 de diciembre de 2019 .
  15. ^ Javadi-Abhari, Ali; Gambetta, Jay M. (13 de julio de 2018). "Qiskit y sus elementos fundamentales". Medium . Archivado desde el original el 8 de enero de 2019. Consultado el 10 de enero de 2019 .
  16. ^ "Qiskit Terra". Qiskit . Archivado desde el original el 10 de octubre de 2019 . Consultado el 24 de septiembre de 2019 .
  17. ^ "Un simulador abierto de alto rendimiento para circuitos cuánticos". IBM . Equipo editorial de IBM Research. 1 de mayo de 2018. Archivado desde el original el 14 de junio de 2019 . Consultado el 24 de septiembre de 2019 .
  18. ^ Wood, Christopher J. (19 de diciembre de 2018). «Introducción a Qiskit Aer: un marco de simulación de alto rendimiento para circuitos cuánticos». Medium . Archivado desde el original el 1 de noviembre de 2019. Consultado el 24 de septiembre de 2019 .
  19. ^ "La comunidad IBM Q Experience publica una investigación". Blog de investigación de IBM . 8 de marzo de 2018. Archivado desde el original el 10 de octubre de 2019 . Consultado el 14 de julio de 2021 .
  20. ^ Wootton, James R.; Loss, Daniel (2018). "Código de repetición de 15 qubits". Physical Review A . 97 (5): 052313. arXiv : 1709.00990 . Código Bibliográfico :2018PhRvA..97e2313W. doi :10.1103/PhysRevA.97.052313. ISSN  2469-9926. S2CID  53444623.
  21. ^ Roffe, Joschka; Headley, David; Chancellor, Nicholas; Horsman, Dominic; Kendon, Viv (2018). "Protección de memorias cuánticas mediante códigos de comprobación de paridad coherentes". Ciencia y tecnología cuántica . 3 (3): 035010. arXiv : 1709.01866 . Bibcode :2018QS&T....3c5010R. doi :10.1088/2058-9565/aac64e. ISSN  2058-9565. S2CID  51684176.
  22. ^ Wang, Yuanhao; Li, Ying; Yin, Zhang-qi; Zeng, Bei (2018). "La computadora cuántica universal IBM de 16 qubits puede estar completamente enredada". npj Quantum Information . 4 (1): 46. arXiv : 1801.03782 . Bibcode :2018npjQI...4...46W. doi : 10.1038/s41534-018-0095-x . ISSN  2056-6387.
  23. ^ Zhukov, AA; Remizov, SV; Pogosov, WV; Lozovik, Yu. E. (2018). "Simulación algorítmica de dinámicas alejadas del equilibrio utilizando computadoras cuánticas". Procesamiento de información cuántica . 17 (9): 223. arXiv : 1807.10149 . Código Bibliográfico :2018QuIP...17..223Z. doi :10.1007/s11128-018-2002-y. ISSN  1570-0755. S2CID  254991672.
  24. ^ Qiskit/qiskit-ignis, Qiskit, archivado desde el original el 21 de diciembre de 2021 , consultado el 21 de diciembre de 2021.
  25. ^ "Ignis proporciona herramientas para la verificación de hardware cuántico, caracterización de ruido y corrección de errores". GitHub . Archivado desde el original el 25 de marzo de 2019 . Consultado el 24 de septiembre de 2019 .
  26. ^ "Guía de migración de algoritmos de Qiskit: documentación de Qiskit 0.28.0". qiskit.org . Archivado desde el original el 2021-07-14 . Consultado el 2021-07-14 .
  27. ^ Qiskit/qiskit-optimization, Qiskit, 13 de julio de 2021, archivado desde el original el 21 de enero de 2022 , consultado el 14 de julio de 2021.
  28. ^ Qiskit/qiskit-finance, Qiskit, 13 de julio de 2021, archivado desde el original el 18 de diciembre de 2021 , consultado el 14 de julio de 2021.
  29. ^ Qiskit/qiskit-machine-learning, Qiskit, 13 de julio de 2021, archivado desde el original el 22 de julio de 2021 , consultado el 14 de julio de 2021.
  30. ^ Qiskit/qiskit-nature, Qiskit, 13 de julio de 2021, archivado desde el original el 16 de agosto de 2021 , consultado el 14 de julio de 2021.

Lectura adicional