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 .
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] .
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 x2Dado 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>informatica cuantica | |||||||||
---|---|---|---|---|---|---|---|---|---|
Conceptos generales |
| ||||||||
comunicaciones cuánticas |
| ||||||||
Algoritmos cuánticos |
| ||||||||
Teoría de la complejidad cuántica |
| ||||||||
Modelos de computación cuántica |
| ||||||||
Prevención de decoherencia |
| ||||||||
Implementaciones físicas |
|