De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

La programación cuántica es el proceso de ensamblar secuencias de instrucciones, llamadas programas cuánticos , que pueden ejecutarse en una computadora cuántica . Los lenguajes de programación cuántica ayudan a expresar algoritmos cuánticos mediante construcciones de alto nivel. [1]

Conjuntos de instrucciones cuánticas [ editar ]

Los conjuntos de instrucciones cuánticas se utilizan para convertir algoritmos de nivel superior en instrucciones físicas que se pueden ejecutar en procesadores cuánticos. A veces, estas instrucciones son específicas de una plataforma de hardware determinada, por ejemplo, trampas de iones o qubits superconductores .

cQASM [ editar ]

cQASM, [2] también conocido como QASM común, es un QASM independiente del hardware que garantiza la interoperabilidad entre todas las herramientas de simulación y compilación cuántica. Fue presentado por QCA Lab en TUDelft .

Quil [ editar ]

Quil es una arquitectura de conjunto de instrucciones para la computación cuántica que introdujo por primera vez un modelo de memoria clásica / cuántica compartida. Fue presentado por Robert Smith, Michael Curtis y William Zeng en A Practical Quantum Instruction Set Architecture . [3] Muchos algoritmos cuánticos (incluida la teletransportación cuántica , la corrección de errores cuánticos , la simulación, [4] [5] y los algoritmos de optimización [6] ) requieren una arquitectura de memoria compartida.

OpenQASM [ editar ]

OpenQASM [7] es la representación intermedia introducida por IBM para su uso con Qiskit y IBM Q Experience .

Mirlo [ editar ]

Blackbird [8] [9] es un conjunto de instrucciones cuánticas y una representación intermedia utilizada por Xanadu Quantum Technologies y Strawberry Fields. Está diseñado para representar programas cuánticos de variable continua que pueden ejecutarse en hardware cuántico fotónico.

Kits de desarrollo de software cuántico [ editar ]

Los kits de desarrollo de software cuántico proporcionan colecciones de herramientas para crear y manipular programas cuánticos. [10] También proporcionan los medios para simular los programas cuánticos o prepararlos para su ejecución utilizando dispositivos cuánticos basados ​​en la nube .

SDK con acceso a procesadores cuánticos [ editar ]

Los siguientes kits de desarrollo de software se pueden utilizar para ejecutar circuitos cuánticos en prototipos de dispositivos cuánticos, así como en simuladores.

Oceano

Un conjunto de herramientas de código abierto desarrollado por D-Wave. Escrito principalmente en el lenguaje de programación Python, permite a los usuarios formular problemas en los formatos Ising Model y Quadratic Unconstrained Binary Optimization (QUBO). Los resultados se pueden obtener enviándolos a una computadora cuántica en línea en Leap, el entorno de aplicaciones cuánticas en tiempo real de D-Wave, máquinas propiedad del cliente o muestreadores clásicos.

Un código de muestra usando projectq con Python

ProjectQ [ editar ]

Un proyecto de código abierto desarrollado en el Instituto de Física Teórica de ETH , que utiliza el lenguaje de programación Python para crear y manipular circuitos cuánticos. [11] Los resultados se obtienen utilizando un simulador o enviando trabajos a dispositivos cuánticos de IBM.

Qiskit [ editar ]

Un proyecto de código abierto desarrollado por IBM . [12] Los circuitos cuánticos se crean y manipulan con Python . Los resultados se obtienen utilizando simuladores que se ejecutan en el propio dispositivo del usuario, simuladores proporcionados por IBM o prototipos de dispositivos cuánticos proporcionados por IBM. Además de la capacidad de crear programas utilizando operaciones cuánticas básicas, se encuentran disponibles herramientas de alto nivel para algoritmos y evaluaciones comparativas dentro de paquetes especializados. [13] Qiskit se basa en el estándar OpenQASM para representar circuitos cuánticos. También admite el control de nivel de pulso de sistemas cuánticos a través del estándar QiskitPulse. [14]

Bosque [ editar ]

Un proyecto de código abierto desarrollado por Rigetti , que utiliza el lenguaje de programación Python para crear y manipular circuitos cuánticos. Los resultados se obtienen utilizando simuladores o prototipos de dispositivos cuánticos proporcionados por Rigetti. Además de la capacidad de crear programas utilizando operaciones cuánticas básicas, el paquete Grove dispone de algoritmos de nivel superior. [15] Forest se basa en el conjunto de instrucciones de Quil .

t | ket> [ editar ]

Un entorno de programación cuántica y un compilador de optimización desarrollado por Cambridge Quantum Computing que apunta a simuladores y varios back-end de hardware cuántico, lanzado en diciembre de 2018. [16]

Strawberry Fields [ editar ]

Una biblioteca de Python de código abierto desarrollada por Xanadu Quantum Technologies para diseñar, simular y optimizar circuitos ópticos cuánticos de variable continua (CV) . [17] [18] Se proporcionan tres simuladores: uno en la base de Fock , otro que usa la formulación gaussiana de la óptica cuántica, [19] y otro que usa la biblioteca de aprendizaje automático TensorFlow . Strawberry Fields es también la biblioteca para ejecutar programas en el hardware fotónico cuántico de Xanadu. [20] [21]

PennyLane [ editar ]

Una biblioteca Python de código abierto desarrollada por Xanadu Quantum Technologies para la programación diferenciable de computadoras cuánticas [22] [23] [24] [25] . PennyLane brinda a los usuarios la capacidad de crear modelos usando TensorFlow , NumPy o PyTorch , y conectarlos con backends de computadora cuántica disponibles en IBMQ , Google Quantum , Rigetti , Honeywell y Alpine Quantum Technologies. [26]

SDK basados ​​en simuladores [ editar ]

El acceso público a los dispositivos cuánticos está previsto actualmente para los siguientes SDK, pero aún no se ha implementado.

Kit de desarrollo cuántico [ editar ]

Un proyecto desarrollado por Microsoft [27] como parte de .NET Framework . Los programas Quantum se pueden escribir y ejecutar dentro de Visual Studio y VSCode .

Cirq [ editar ]

Un proyecto de código abierto desarrollado por Google , que utiliza el lenguaje de programación Python para crear y manipular circuitos cuánticos. Los resultados se obtienen mediante simuladores que se ejecutan en el propio dispositivo del usuario.

Lenguajes de programación cuántica [ editar ]

Hay dos grupos principales de lenguajes de programación cuántica: lenguajes de programación cuántica imperativos y lenguajes de programación cuántica funcionales.

Idiomas imperativos [ editar ]

Los representantes más destacados de los lenguajes imperativos son QCL, [28] LanQ [29] y Q | SI>. [30]

QCL [ editar ]

El lenguaje de computación cuántica (QCL) es uno de los primeros lenguajes de programación cuántica implementados . [31] La característica más importante de QCL es la compatibilidad con operadores y funciones definidos por el usuario. Su sintaxis se asemeja a la sintaxis del lenguaje de programación C y sus tipos de datos clásicos son similares a los tipos de datos primitivos en C. Se puede combinar código clásico y código cuántico en el mismo programa.

Seudocódigo cuántico [ editar ]

El pseudocódigo cuántico propuesto por E. Knill es el primer lenguaje formalizado para la descripción de algoritmos cuánticos . Se introdujo y, además, se conectó estrechamente con un modelo de máquina cuántica llamada Quantum Random Access Machine (QRAM).

Q # [ editar ]

Un lenguaje desarrollado por Microsoft para ser utilizado con Quantum Development Kit . [32]

Q | SI> [ editar ]

Q | SI> es una plataforma integrada en el lenguaje .Net que admite la programación cuántica en una extensión cuántica de while-language. [30] [33] Esta plataforma incluye un compilador del mientras-lenguaje cuántico [34] y una cadena de herramientas para la simulación de computación cuántica, optimización de circuitos cuánticos, análisis de terminación de programas cuánticos, [35] y verificación cuántica. programas. [36] [37]

Q idioma [ editar ]

Q Language es el segundo lenguaje de programación cuántica imperativo implementado. [38] Q Language se implementó como una extensión del lenguaje de programación C ++. Proporciona clases para operaciones cuánticas básicas como QHadamard, QFourier, QNot y QSwap, que se derivan de la clase base Qop. Se pueden definir nuevos operadores utilizando el mecanismo de clase C ++.

La memoria cuántica está representada por la clase Qreg.

Qreg  x1 ;  // Registro cuántico de 1 qubit con valor inicial 0 Qreg  x2 ( 2 , 0 );  // Registro cuántico de 2 qubit con valor inicial 0

El proceso de cálculo se ejecuta utilizando un simulador proporcionado. Los entornos ruidosos se pueden simular utilizando los parámetros del simulador.

qGCL [ editar ]

El lenguaje de comandos guardado cuántico (qGCL) fue definido por P. Zuliani en su tesis doctoral. Se basa en el lenguaje de comandos guardado creado por Edsger Dijkstra .

Puede describirse como un lenguaje de especificación de programas cuánticos.

QMASM [ editar ]

Quantum Macro Assembler (QMASM) es un lenguaje de bajo nivel específico para templadores cuánticos como D-Wave. [39]

Andamio [ editar ]

Scaffold es un lenguaje similar a C, que se compila en QASM y OpenQASM. Está construido sobre la infraestructura del compilador LLVM para realizar optimizaciones en el código de Scaffold antes de generar un conjunto de instrucciones específico. [40] [41]

Silq [ editar ]

Silq es un lenguaje de programación de alto nivel para computación cuántica con un fuerte sistema de tipo estático, desarrollado en ETH Zürich . [42] [43]

Lenguajes funcionales [ editar ]

Se están realizando esfuerzos para desarrollar lenguajes de programación funcionales para la computación cuántica . Los lenguajes de programación funcionales son adecuados para razonar sobre programas. Los ejemplos incluyen QPL de Selinger, [44] y el lenguaje QML similar a Haskell de Altenkirch y Grattage. [45] [46] Los lenguajes de programación cuántica de orden superior, basados ​​en el cálculo lambda , han sido propuestos por van Tonder, [47] Selinger y Valiron [48] y por Arrighi y Dowek. [49]

QFC y QPL [ editar ]

QFC y QPL son dos lenguajes de programación cuántica estrechamente relacionados definidos por Peter Selinger. Se diferencian solo en su sintaxis: QFC usa una sintaxis de diagrama de flujo, mientras que QPL usa una sintaxis textual. Estos lenguajes tienen un flujo de control clásico, pero pueden operar con datos cuánticos o clásicos. Selinger da una semántica denotacional para estos lenguajes en una categoría de superoperadores .

QML [ editar ]

QML es un lenguaje de programación cuántica similar a Haskell de Altenkirch y Grattage. [50] [45] A diferencia del QPL de Selinger, este lenguaje toma la duplicación, en lugar de descartar, la información cuántica como una operación primitiva. Duplicación en este contexto se entiende que es la operación que se asigna a , y es que no debe confundirse con la operación imposible de clonación ; los autores afirman que es similar a cómo se modela el intercambio en los lenguajes clásicos. QML también introduce operadores de control tanto clásicos como cuánticos, mientras que la mayoría de los otros lenguajes se basan en el control clásico.

Una semántica operacional para QML se da en términos de circuitos cuánticos , mientras que una semántica denotacional se presenta en términos de superoperadores , y se muestra que estos coinciden. Tanto la semántica operacional como la denotacional se han implementado (clásicamente) en Haskell. [51]

LIQUi |> [ editar ]

LIQUi |> (pronunciado líquido ) es una extensión de simulación cuántica en el lenguaje de programación F # . [52] Actualmente está siendo desarrollado por Quantum Architectures and Computation Group (QuArC) [53] como parte de los esfuerzos de StationQ en Microsoft Research. LIQUi |> busca permitir a los teóricos experimentar con el diseño de algoritmos cuánticos antes de que las computadoras cuánticas físicas estén disponibles para su uso. [54]

Incluye un lenguaje de programación, algoritmos de optimización y programación y simuladores cuánticos. LIQUi |> se puede utilizar para traducir un algoritmo cuántico escrito en forma de programa de alto nivel en las instrucciones de máquina de bajo nivel para un dispositivo cuántico. [55]

Cálculos cuánticos lambda [ editar ]

Los cálculos lambda cuánticos son extensiones del cálculo lambda clásico introducido por Alonzo Church y Stephen Cole Kleene en la década de 1930. El propósito de los cálculos lambda cuánticos es extender los lenguajes de programación cuántica con una teoría de funciones de orden superior .

El primer intento de definir un cálculo lambda cuántico fue realizado por Philip Maymin en 1996. [56] Su cálculo lambda-q es lo suficientemente poderoso como para expresar cualquier cálculo cuántico. Sin embargo, este lenguaje puede resolver de manera eficiente problemas NP-completos y, por lo tanto, parece ser estrictamente más fuerte que los modelos computacionales cuánticos estándar (como la máquina cuántica de Turing o el modelo de circuito cuántico ). Por lo tanto, el cálculo lambda-q de Maymin probablemente no se pueda implementar en un dispositivo físico [ cita requerida ] .

En 2003, André van Tonder definió una extensión del cálculo lambda adecuada para demostrar la corrección de los programas cuánticos. También proporcionó una implementación en el lenguaje de programación Scheme . [57]

En 2004, Selinger y Valiron definieron un cálculo lambda fuertemente tipado para el cálculo cuántico con un sistema de tipos basado en lógica lineal . [58]

Quipper [ editar ]

Quipper se publicó en 2013. [59] [60] Se implementa como un lenguaje integrado, utilizando Haskell como idioma anfitrión. [61] Por esta razón, los programas cuánticos escritos en Quipper se escriben en Haskell utilizando las bibliotecas proporcionadas. Por ejemplo, el siguiente código implementa la preparación de una superposición

importar  QuipperSPOS  ::  Bool  ->  Circ  Qubit SPOS  b  =  do  q  <-  qinit  b  r  <-  Hadamard  q  retorno  r

Referencias [ editar ]

  1. ^ Jarosław Adam Miszczak (2012). Estructuras de alto nivel en Computación Cuántica . ISBN 9781608458516.
  2. ^ Bertels, K .; Almudever, CG; Hogaboam, JW; Ashraf, I .; Guerreschi, GG; Khammassi, N. (24 de mayo de 2018). "cQASM v1.0: hacia un lenguaje ensamblador cuántico común". arXiv : 1805.09607v1 [ quant-ph ].
  3. ^ Smith, Robert S .; Curtis, Michael J .; Zeng, William J. (2016). "Una arquitectura práctica de conjunto de instrucciones cuánticas". arXiv : 1608.03355 [ quant-ph ].
  4. ^ McClean, Jarrod R .; Romero, Jonathan; Babbush, Ryan; Aspuru-Guzik, Alán (4 de febrero de 2016). "La teoría de los algoritmos clásicos cuánticos híbridos variacionales". Nueva Revista de Física . 18 (2): 023023. arXiv : 1509.04279 . Código bibliográfico : 2016NJPh ... 18b3023M . doi : 10.1088 / 1367-2630 / 18/2/023023 . ISSN 1367-2630 . S2CID 92988541 .  
  5. ^ Rubin, Nicholas C .; Curtis, Michael J .; Zeng, William J. (2016). "Un enfoque híbrido clásico / cuántico para estudios a gran escala de sistemas cuánticos con teoría de incrustación de matriz de densidad". arXiv : 1610.06910 [ quant-ph ].
  6. ^ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica". arXiv : 1411,4028 [ quant-ph ].
  7. ^ qiskit-openqasm: especificación OpenQASM , International Business Machines, 4 de julio de 2017 , consultado el 6 de julio de 2017
  8. ^ "Blackbird Quantum Assembly Language - documentación de Blackbird 0.2.0" . quantum-blackbird.readthedocs.io . Consultado el 24 de junio de 2019 .
  9. ^ Weedbrook, Christian; Amy, Matthew; Bergholm, Ville; Quesada, Nicolás; Izaac, Josh; Killoran, Nathan (11 de marzo de 2019). "Strawberry Fields: una plataforma de software para la computación cuántica fotónica". Quantum . 3 : 129. arXiv : 1804.03159 . doi : 10.22331 / q-2019-03-11-129 . S2CID 54763305 . 
  10. ^ Häner, Thomas; Steiger, Damian S .; Svore, Krysta; Troyer, Matthias (2018). "Una metodología de software para la compilación de programas cuánticos". Ciencia y tecnología cuántica . 3 (2): 020501. arXiv : 1604.01401 . Bibcode : 2018QS & T .... 3b0501H . doi : 10.1088 / 2058-9565 / aaa5cc . ISSN 2058-9565 . S2CID 1922315 .  
  11. ^ "Página de inicio de ProjectQ" .
  12. ^ "Página de inicio de Qiskit" .
  13. ^ "Descripción general de Qiskit" . Consultado el 10 de febrero de 2021 .
  14. ^ McKay, David C .; Alexander, Thomas; Bello, Luciano; Biercuk, Michael J .; Obispo, Lev; Chen, Jiayin; Chow, Jerry M .; Córcoles, Antonio D .; Egger, Daniel; Filipp, Stefan; Gómez, Juan; Silencio, Michael; Javadi-Abhari, Ali; Moreda, Diego; Nación, Paul; Paulovicks, Brent; Winston, Erick; Wood, Christopher J .; Wootton, James; Gambetta, Jay M. (2018). "Especificaciones de backend de Qiskit para experimentos OpenQASM y OpenPulse". arXiv : 1809.03452 [ quant-ph ].
  15. ^ "Documentación de Grove" .
  16. ^ "pytket" .
  17. ^ "Strawberry Fields - documentación de Strawberry Fields 0.8.0" . strawberryfields.readthedocs.io . Consultado el 25 de septiembre de 2018 .
  18. ^ Killoran, Nathan; Izaac, Josh; Quesada, Nicolás; Bergholm, Ville; Amy, Matthew; Weedbrook, Christian (2019). "Strawberry Fields: una plataforma de software para la computación cuántica fotónica". Quantum . 3 : 129. arXiv : 1804.03159 . doi : 10.22331 / q-2019-03-11-129 . S2CID 54763305 . 
  19. ^ Weedbrook, Christian; Pirandola, Stefano; García-Patrón, Raúl; Cerf, Nicolas J .; Ralph, Timothy C .; Shapiro, Jeffrey H .; Lloyd, Seth (1 de mayo de 2012). "Información cuántica gaussiana". Reseñas de Física Moderna . 84 (2): 621–669. arXiv : 1110.3234 . Código Bibliográfico : 2012RvMP ... 84..621W . doi : 10.1103 / RevModPhys.84.621 . S2CID 119250535 . 
  20. ^ "Hardware - Strawberry Fields" . strawberryfields.ai . Consultado el 26 de marzo de 2021 .
  21. ^ "En la carrera hacia cientos de qubits, los fotones pueden tener una" ventaja cuántica " " . IEEE Spectrum: Noticias de tecnología, ingeniería y ciencia . Consultado el 26 de marzo de 2021 .
  22. ^ "Documentación de PennyLane - documentación de PennyLane 0.14.1" . pennylane.readthedocs.io . Consultado el 26 de marzo de 2021 .
  23. ^ "AWS se une a PennyLane, un marco de código abierto que combina el aprendizaje automático con la computación cuántica" . SiliconANGLE . 2021-02-17 . Consultado el 26 de marzo de 2021 .
  24. ^ "Proyecto de código abierto de SD Times de la semana: PennyLane" . Tiempos SD . 2021-02-26 . Consultado el 26 de marzo de 2021 .
  25. Salamone, Salvatore (13 de diciembre de 2020). "Resumen de noticias de análisis en tiempo real para la semana que finaliza el 12 de diciembre" . RTInsights . Consultado el 26 de marzo de 2021 .
  26. ^ "Complementos y ecosistema - PennyLane" . pennylane.ai . Consultado el 26 de marzo de 2021 .
  27. ^ "Documentación de QDK" .
  28. ^ Bernhard Omer. "El lenguaje de programación QCL" .
  29. ^ Hynek Mlnařík. "LanQ - un lenguaje de programación imperativo cuántico" .
  30. ^ a b Liu, Shusen; Zhou, li; Guan, Ji; Él, Yang; Duan, Runyao; Ying, Mingsheng (9 de mayo de 2017). "Q | SI>: Un lenguaje de programación cuántica". Información de Scientia Sinica . 47 (10): 1300. arXiv : 1710.09500 . doi : 10.1360 / N112017-00095 . S2CID 9163705 . 
  31. ^ "QCL - un lenguaje de programación para computadoras cuánticas" . tuwien.ac.at . Consultado el 20 de julio de 2017 .
  32. ^ "Documentación Q #" .
  33. ^ Ying, Mingsheng (enero de 2012). "Lógica de Floyd-hoare para programas cuánticos". ACM Trans. Programa. Lang. Syst . 33 (6): 19: 1–19: 49. doi : 10.1145 / 2049706.2049708 . ISSN 0164-0925 . S2CID 416960 .  
  34. ^ Ying, Mingsheng; Feng, Yuan (2010). "Un lenguaje de diagrama de flujo para la programación cuántica" . Transacciones IEEE sobre ingeniería de software . 37 (4): 466–485. doi : 10.1109 / TSE.2010.94 . ISSN 0098-5589 . S2CID 5879273 .  
  35. ^ Ying, Mingsheng; Yu, Nengkun; Feng, Yuan; Duan, Runyao (2013). "Verificación de programas cuánticos". Ciencia de la Programación de Computadores . 78 (9): 1679-1700. arXiv : 1106.4063 . doi : 10.1016 / j.scico.2013.03.016 . S2CID 18913620 . 
  36. ^ Ying, Mingsheng; Ying, Shenggang; Wu, Xiaodi (2017). Invariantes de programas cuánticos: caracterizaciones y generación . Actas del 44º Simposio ACM SIGPLAN sobre principios de lenguajes de programación . POPL 2017. 52 . Nueva York, NY, EE.UU .: ACM. págs. 818–832. doi : 10.1145 / 3093333.3009840 . hdl : 10453/127333 . ISBN 9781450346603.
  37. ^ Liu, Tao; Li, Yangjia; Wang, Shuling; Ying, Mingsheng; Zhan, Naijun (2016). "Un demostrador de teoremas de la lógica cuántica de Hoare y sus aplicaciones". arXiv : 1601.03835 [ cs.LO ].
  38. ^ "Software para el lenguaje Q" . 2001-11-23. Archivado desde el original el 20 de junio de 2009 . Consultado el 20 de julio de 2017 .
  39. ^ Scott Pakin, "Un ensamblador de macro cuántico" , Actas de la 20a Conferencia anual de computación extrema de alto rendimiento IEEE 2016
  40. Javadi-Abhari, Ali. "Andamio: lenguaje de programación cuántica" . Universidad de Princeton-Departamento de Ciencias de la Computación . Universidad de Princeton . Consultado el 22 de septiembre de 2020 .
  41. ^ Litteken, Andrew (28 de mayo de 2020). "Un compilador de investigación cuántica basado en LLVM actualizado con soporte adicional de OpenQASM" . IOPScience: ciencia y tecnología cuánticas . 5 (3). doi : 10.1088 / 2058-9565 / ab8c2c . Consultado el 22 de septiembre de 2020 .
  42. ^ "¿Qué es Silq?" . silq.ethz.ch . Consultado el 21 de junio de 2020 .
  43. ^ Bichsel, Benjamin; Baader, Maximiliano; Gehr, Timon; Vechev, Martin (11 de junio de 2020). "Silq: un lenguaje cuántico de alto nivel con incomputación segura y semántica intuitiva". Actas de la 41ª Conferencia ACM SIGPLAN sobre diseño e implementación de lenguajes de programación . Londres, Reino Unido: ACM: 286–300. doi : 10.1145 / 3385412.3386007 . ISBN 978-1-4503-7613-6. S2CID  219397029 .
  44. ^ Peter Selinger, "Hacia un lenguaje de programación cuántica" , Estructuras matemáticas en informática 14 (4): 527-586, 2004.
  45. ^ a b Jonathan Grattage: QML Research (sitio web)
  46. ^ T. Altenkirch, V. Belavkin, J. Grattage, A. Green, A. Sabry, JK Vizzotto, QML: A Functional Quantum Programming Language Archivado el 10 de julio de 2006en Wayback Machine (sitio web)
  47. ^ Andre van Tonder, "Un cálculo Lambda para la computación cuántica" , SIAM J. Comput., 33 (5), 1109-1135. (27 páginas), 2004. También disponible en arXiv: quant-ph / 0307150
  48. ^ Peter Selinger y Benoît Valiron, "Un cálculo lambda para el cálculo cuántico con control clásico" , Estructuras matemáticas en informática 16 (3): 527-552, 2006.
  49. ^ Pablo Arrighi, Gilles Dowek, "Cálculo lambda lineal-algebraico: orden superior, codificaciones y confluencia" , 2006
  50. ^ "QML: un lenguaje de programación cuántica funcional" . 2007-09-26. Archivado desde el original el 26 de septiembre de 2007.
  51. Jonathan Grattage, QML: A Functional Quantum Programming Language (compilador) Archivado el 5 de marzo de 2016 en Wayback Machine , 2005-2008
  52. ^ "El simulador de operaciones cuánticas de lenguaje integrado" . github.io . Consultado el 20 de julio de 2017 .
  53. ^ Grupo de Computación y Arquitecturas Cuánticas (QuArC), https://www.microsoft.com/en-us/research/group/quantum-architectures-and-computation-group-quarc/ , 2011
  54. ^ "StationQ" . microsoft.com . Consultado el 20 de julio de 2017 .
  55. ^ "Operaciones cuánticas integradas en el lenguaje: LIQUi |>" . 2016.
  56. ^ Philip Maymin, "Ampliación del cálculo Lambda para expresar algoritmos aleatorios y cuantificados" , 1996
  57. ^ André van Tonder. "Un cálculo lambda para la computación cuántica (sitio web)" .
  58. ^ Peter Selinger, Benoˆıt Valiron, "Cálculo cuántico de Lambda"
  59. ^ "El lenguaje de Quipper" .
  60. ^ Alexander S. Green; Peter LeFanu Lumsdaine; Neil J. Ross; Peter Selinger; Benoît Valiron. "The Quipper Language (sitio web)" .
  61. ^ Alexander S. Green; Peter LeFanu Lumsdaine; Neil J. Ross; Peter Selinger; Benoît Valiron (2013). Introducción a la programación cuántica en Quipper . Apuntes de conferencias en Ciencias de la Computación. 7948 . págs. 110-124. arXiv : 1304.5485 . doi : 10.1007 / 978-3-642-38986-3_10 . ISBN 978-3-642-38985-6. S2CID  9135905 .

Lectura adicional [ editar ]

  • Mingsheng, Ying (2016). Fundamentos de la programación cuántica . Cambridge, MA. ISBN 978-0128025468. OCLC  945735387 .

Enlaces externos [ editar ]

  • Bibliografía sobre lenguajes de programación cuántica (actualizada en mayo de 2007)
  • V Taller Internacional de Física y Lógica Cuántica
  • IV Taller Internacional de Lenguajes de Programación Cuánticos
  • 3er Taller Internacional de Lenguajes de Programación Cuánticos
  • 2do Taller Internacional de Lenguajes de Programación Cuánticos
  • Lenguaje de programación cuántica en Quantiki
  • Documentación QMASM
  • Documentación de pyQuil que incluye Introducción a la Computación Cuántica
  • Fuente de andamio
  • Lista seleccionada de todos los proyectos de software cuántico de código abierto