Trabajo de grado - Pregrado
Lenguajes de Programación Cuánticos (LPC)
Fecha
2018Autor
Prieto Idarraga, Brandon Nicolai
Resumen
El siguiente documento abarca una investigación sobre lenguajes de programación cuánticos, empezando desde lenguajes de programación cuánticos de bajo nivel, donde se usan compuertas cuánticas básicas para programar el algoritmo cuántico de Deutsch, luego se trasplanta al la computadora cuántica de IBM accesible en la nube, donde se explica su funcionamiento a nivel de software, y las librerías que la implementan, y se experimente implementado el algoritmo de Deutsch y verificando su funcionamiento, después se hace un avance a lenguajes de programación cuánticos imperativos, en este caso Q y QCL, los cuales están implementados en C y C++ respectivamente, lo cual quiere decir que solamente permiten la emulación de una computadora cuántica, se toma como base de nuevo el algoritmo de Deutsch, y se implemente en ambos lenguajes. Y como punto final se realiza la explicación del compilador de lenguaje ensamblador cuántico construido usando javacc para el proyecto el cual traduce de un lenguaje ensamblador preestablecido y explicado en el documento a java. The following document covers research on quantum programming languages, starting from low-level quantum programming languages, where basic quantum gates are used to program Deutsch's quantum algorithm, then transplanted into the IBM quantum computer accessible in the cloud, where its operation at the software level is explained, and the libraries that implement it, and the implemented algorithm of Deutsch is tested and verifying its operation, then an advance is made to imperative quantum programming languages, in this case Q and QCL, the which are implemented in C and C ++ respectively, which means that they only allow the emulation of a quantum computer, the Deutsch algorithm is used as a base, and it is implemented in both languages. And as a final point the explanation of the quantum assembler language compiler constructed using javacc for the project is done which translates from a pre-established assembly language and explained in the document to java.