Icono del sitio Blog de Programación y Desarrollo – Nube Colectiva

Conceptos iniciales de Microsoft Q# (Q-sharp, Quantum Katas) Lenguaje de Computación Cuántica

Con el paso de los años la computación cuántica se potencia más, en la actualidad los cálculos cuánticos ayudan a resolver problemas complejos en tan solo segundos, en otras épocas resolver problemas complejos tomaban años y eso significaba un atraso para la humanidad, los ámbitos como la medicina, ingeniería, transportes, medio ambiente, ciencia, etc. están trabajando con la computación cuántica y se esta dando un gran avance en dichas áreas, en este artículo hablaremos de Microsoft Q# el entorno de desarrollo de aplicaciones cuánticas que Microsoft lanzó hace unos meses.

imagen: techpowerup.com

Introduccion a Q# (Q-sharp)

Q# es un lenguaje de programación exclusivo para escribir algoritmos cuánticos, estos algoritmos cuánticos componen un sub-programa con fines específicos, este programa se ejecutará en un procesador cuántico en una computadora ‘host’ que soporte cálculos cuánticos

Un modelo natural de definir a la computación cuántica es tratarlo como un co-procesador informático utilizado en GPU, FPGA, etc. Cuando se ejecuta una acción en el procesador, este trabaja con una lógica principal y se ejecuta de manera normal o clásica ‘host’ y cuando esta lógica necesita procesar datos cuánticamente, utilizará un sub-programa cuántico en otro plano para obtener resultados de manera rápida, luego el ‘host’ obtiene estos resultados del sub-programa para ser mostrados en pantalla.

En este modelo hay 3 niveles de computación:

Instalación Q#

Microsoft nos ofrece la posibilidad de trabajar con un Kit de Desarrollo Cuántico para Visual Studio y para instalarlo debes de tener instalado NET Framework y porsupuesto Microsoft Visual Studio, puedes descargar la versión Visual Studio Community que es gratuita.

  1. Descarga Microsoft Visual Studio y paso seguido procede a instalarlo.
  2. Descarga el Kit de Desarrollo Cuántico para Visual Studio que esta en el Marketplace y tambien instálalo.
  3. Si no tienes instalado Net Framework descarga la versión Runtime (Obligatorio para trabajar con Visual Studio).
imagen: marketplace.visualstudio.com

Con esto ya tenemos instalado las herramientas necesarias para empezar a crear algoritmos cuánticos.

Escribiendo tu primer Programa Cuántico

Abre Visual Studio y Crea un Nuevo Proyecto, luego en la parte izquierda en las plantillas  selecciona Instalados y por ultimo dale click en Aplicación Q# y le ponemos de nombre Operación.

imagen: stackoverflow.com

Se nos Crea un archivo llamado Operacion.qs y le agregamos


En el código anterior la operación Set realizará bucles en las interacciones en el count, luego se setea un valor initial en un qubit y medirá M los resultados. Juntará estadísticas en ceros y unos y las mostrará al usuario que hizo el pedido. Luego restablece el qubit al estado Zero.

Todas las operaciones mencionadas se definen como operaciones cuánticas primitivas que están definidas en el namespace Microsoft.Quantum.Primitive.

Ahora vamos a crear un archivo llamado Operador.cs en donde colocaremos el siguiente código que esta en lenguaje C#


Ahora para ver los resultados, presionamos F5 en Visual Studio y obtenemos lo siguiente:


Con esto tenemos nuestros primero resultados creados con algoritmos cuánticos, si intentas crear cálculos más complejos, tenlo por seguro que se procesarán a un velocidad increíble, esa es quizás la principal característica de la computación cuántica, resultados de problemas grandes en tiempos inimaginables.

Repositorio Github

Microsoft puso a disposición un repositorio con plantillas y ejemplos para trabajar con menos complicaciones con Q#, para acceder al repositorio puedes acceder haciendo click en este enlace, en el repositorio encontrarás documentación de como implementarlo y despegarlo adecuadamente para trabajar con Q# o directamente puedes clonarlo abriendo tu consola de comando Gitbash:

Notas

 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.

Salir de la versión móvil