Programación cuántica

Los lenguajes de programación cuánticos son lenguajes  de programación que permiten expresar algoritmos cuánticos utilizando construcciones de alto nivel. Su objetivo no es solo crear una herramienta para programadores, sino también proporcionar un medio para que los investigadores comprendan más fácilmente cómo funciona la computación cuántica .

Lenguajes de programación cuántica existentes: QPL [1] [2] , QCL [3] [4] , QML tipo Haskell [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .

Bibliotecas de simulación informática cuántica (máquinas virtuales cuánticas, máquina virtual cuántica ): en:libquantum , qlib .

Simplificando el desarrollo de software para computación cuántica

IBM ha lanzado un kit de herramientas para desarrolladores llamado Qiskit. Y el próximo año, IBM promete ofrecer herramientas que facilitarán a los programadores la creación de software que incluya elementos de computación cuántica y computación tradicional en un solo programa. Luego, a partir de 2023, IBM planea ofrecer a sus clientes bibliotecas de algoritmos cuánticos preconstruidos que los programadores pueden usar a través de una API simple basada en la nube . Esto permitirá desarrollar software de computación cuántica en lenguajes de programación ya conocidos por los desarrolladores sin necesidad de aprender un nuevo lenguaje. IBM dijo que quiere que los programadores corporativos "puedan explorar modelos de computación cuántica por sí mismos sin tener que pensar en la física cuántica". Y para 2025, según IBM, podrá ofrecer herramientas para la computación cuántica, con las cuales los programadores ya no tendrán que pensar en qué computadora cuántica (porque algunas usan superconductores , otras usan fotones y otras están construidas sobre trampas). .para iones ) el código se ejecutará o incluso qué parte del programa se ejecutará en un sistema cuántico, y no en un servidor tradicional [9] .

Ejemplo de código QCL

QCL, el lenguaje de computación cuántica  es una de las primeras implementaciones del lenguaje de programación cuántica. Cercano al lenguaje C y tipos de datos clásicos. Le permite mezclar código clásico y cuántico en un archivo fuente.

El tipo de datos cuánticos base es qureg (registro cuántico). Se puede representar como una matriz de qubits (bits cuánticos).

qregx1[2]; // registro cuántico de dos qubits x1 qregx2[2]; // registro cuántico de dos qubits x2 H(x1); // Operación de Hadamard en x1 H(x2[1]); // Operación de Hadamard en el primer qubit del registro x2

Dado que el intérprete qcl utiliza la biblioteca de simulación qlib, es posible observar el estado interno de una computadora cuántica durante la ejecución:

qcl>volcado  : ESTADO: 4/32 qubits asignados, 28/32 qubits libres 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>

Notas

  1. Peter Selinger. Estructuras Matemáticas en Informática . - 2004 Cambridge University Press, 2004. - V. 14, no. 4.- S. 527-586.
  2. Peter Selinger. Hacia un lenguaje de programación cuántico . Consultado el 16 de marzo de 2019. Archivado desde el original el 30 de abril de 2016.
  3. Bernhard Omer. El lenguaje de programación QCL . Consultado el 16 de marzo de 2019. Archivado desde el original el 8 de octubre de 2003.
  4. QCL: un lenguaje de programación para computadoras cuánticas . tuwien.ac.at . Consultado el 20 de julio de 2017. Archivado desde el original el 8 de octubre de 2003.
  5. QML: un lenguaje de programación cuántico funcional . Consultado: 26 de septiembre de 2007.
  6. Quipper: un lenguaje de programación cuántico escalable Archivado el 15 de enero de 2018 en Wayback Machine /PLDI '13 Actas de la 34.ª Conferencia ACM SIGPLAN sobre diseño e implementación de lenguajes de programación Páginas 333-342
  7. Copia archivada . Consultado el 14 de enero de 2018. Archivado desde el original el 14 de enero de 2018.
  8. ↑ 1 2 3 Lenguaje de programación cuántica . Quantiki (6 de diciembre de 2015). Consultado el 14 de enero de 2018. Archivado desde el original el 22 de julio de 2018.
  9. IBM presentó un plan para simplificar el desarrollo de software para computación cuántica  (ruso)  ? . ServerNews.ru (8 de febrero de 2021). Consultado el 11 de enero de 2022. Archivado desde el original el 22 de enero de 2022.

Enlaces