¿Qué son Q# y Azure Quantum Development Kit?

Azure Quantum Development Kit (QDK moderno) es el SDK necesario para interactuar con el servicio Azure Quantum. Quantum Development KitCon , puede compilar programas cuánticos que se ejecutan en hardware cuántico en Azure Quantum.

Nota

Microsoft Quantum Development Kit (QDK clásico) ya no se admitirá después del 30 de junio de 2024. Si es un desarrollador de QDK existente, se recomienda realizar la transición al nuevo Azure Quantum Development Kit (QDK moderno) para seguir desarrollando soluciones cuánticas. Para obtener más información, consulte Migración Q# del código al QDK moderno.

El QDK moderno es el único kit de desarrollo listo para Fault-Tolerant Computación cuántica (FTQC). Con el QDK moderno, puede:

  • Depurar el código: Ofrece un depurador de computación cuántica que puede recorrer el código clásico y cuántico. Emparejado con su simulador disperso en memoria, proporciona una simulación rápida de hasta miles de cúbits lógicos.

  • Elija su plataforma: El QDK moderno se ejecuta en el explorador web sin necesidad de instalación y con su extensión de VS Code en el equipo PC, Mac o Linux.

  • Escriba el código más rápido: Resaltado de sintaxis y finalización inteligente de código con IntelliSense y escritura de bloques completos de código asistido con Copilot.

  • Ejecute en su elección de hardware: El QDK se integra perfectamente con Azure Quantum para ejecutar los algoritmos en una amplia gama de equipos cuánticos y simuladores.

  • Diseño para FTQC: Emparejado con el estimador de recursos de Azure Quantum de última generación, proporciona un lenguaje diseñado específicamente para la computación cuántica, Q#, lo que le libera de pensar en arquitecturas de cúbits, abstraer el hardware y le permite mezclar el cálculo clásico y cuántico realizado por la máquina cuántica que está targetingando.

Sugerencia

Si desea acelerar el recorrido de la computación cuántica, consulte Código con Azure Quantum, una característica única del sitio web de Azure Quantum. Aquí puede ejecutar ejemplos integrados Q# o sus propios Q# programas, generar código nuevo Q# a partir de las indicaciones, abrir y ejecutar el código en VS Code para la Web con un solo clic y hacer preguntas a Copilot sobre la computación cuántica.

El lenguaje de programación cuántica Q#

El QDK moderno incluye el lenguaje de programación cuántica , un lenguaje Q#de programación de código abierto de alto nivel que le permite centrar su trabajo en el nivel de algoritmo para crear programas cuánticos.

Q# es un lenguaje de programación de alto nivel y de código abierto para desarrollar y ejecutar algoritmos cuánticos. Forma parte de Quantum Development Kit (QDK) y está diseñado para ser independiente del hardware, escalar a toda la gama de aplicaciones cuánticas y optimizar la ejecución.

Como lenguaje de programación, Q# dibuja elementos conocidos de Python, C# y F#, y admite un modelo de procedimientos básico para escribir programas con bucles, instrucciones if/then y tipos de datos comunes. También presenta nuevas operaciones y estructuras de datos específicas de quantum, como repetición hasta el éxito, que permiten la integración de cálculos cuánticos y clásicos. Por ejemplo, el control de flujo de un programa clásico se puede basar en el resultado de una medida cuántica.

Al escribir algoritmos, un lenguaje de programación cuántico debe cumplir los siguientes requisitos para el lenguaje, el compilador y el tiempo de ejecución:

  • Cúbits abstractos. Los algoritmos cuánticos usan cúbits que no están vinculados a hardware o diseño específicos. El compilador y el tiempo de ejecución controlan la asignación de cúbits de programa a cúbits físicos.
  • Computación cuántica y clásica. La capacidad de realizar cálculos clásicos y cuánticos es esencial en un equipo cuántico universal.
  • Respeta las leyes de la física. Los algoritmos cuánticos siguen las reglas de la física cuántica. Por ejemplo, no pueden copiar o acceder al estado de cúbit directamente.

Para obtener más información, consulte la guía del usuario del Q# lenguaje de programación cuántica.

Introducción a Azure Quantum Development Kit

Hay más de una manera de empezar a trabajar con la programación cuántica. Puede elegir la opción que mejor se adapte a sus necesidades.

Sugerencia

La primera vez que los usuarios obtienen automáticamente 500 USD (USD)créditos de Azure Quantum para su uso con cada proveedor de hardware cuántico participante. Si ha consumido todos los créditos y necesita más, puede solicitar participar en el programa Créditos de Azure Quantum.

Sitio web de Azure Quantum

El sitio web de Azure Quantum es la manera más fácil de empezar a trabajar con la programación cuántica. Con el editor de código en línea en el sitio web de Azure Quantum, puede ejecutar Q# código en el explorador sin que sea necesario configurarlo y pedir ayuda a Copilot. Con un clic en el editor de código en línea, puede abrir el código en VS Code en la Web y seguir trabajando en un entorno cuántico preconfigurado de forma gratuita.

Nota

El sitio web de Azure Quantum es gratuito y no requiere una cuenta de Azure.

Ejemplos en El Portal de Azure Quantum

Si quiere empezar a practicar y escribir sus programas de Q# sin instalar software adicional, puede usar los cuadernos de Jupyter Notebook hospedados disponibles en el área de trabajo de Azure Quantum en el Azure Portal. La galería de ejemplos contiene una colección de ejemplos de cuadernos anotados: seleccione el ejemplo que desea explorar y ejecútelo en simuladores basados en la nube o en equipos cuánticos reales.

Nota

Para usar los cuadernos de Jupyter Notebook hospedados, necesita una cuenta de Azure. Si no tiene una cuenta de Azure, puede crear una cuenta gratuita.

Entorno de desarrollo locales

Si prefiere un entorno de desarrollo local, puede instalar la extensión QDK moderna para Visual Studio Code. La extensión QDK moderna proporciona un entorno de desarrollo completo para Q#, incluido el resaltado de sintaxis, los comentarios de codificación en tiempo real y la depuración.

Para empezar a trabajar con la extensión QDK moderna, consulte el siguiente tutorial.

Sugerencia

El QDK moderno incluye un conjunto de ejemplos integrados Q# que puede usar para obtener más información sobre Q# la computación cuántica y . Para ver los ejemplos, abra un nuevo Q# archivo y escriba sampley, a continuación, seleccione el ejemplo que desea ver en la lista de opciones.

Flujo de trabajo de desarrollo cuántico

En el diagrama siguiente se muestran las fases a través de las cuales un programa cuántico va de idea a completar la implementación en Azure Quantum y las herramientas que se ofrecen para cada fase.

Diagrama que muestra el flujo de trabajo del desarrollo de programación cuántica.

Elección del entorno de desarrollo

Ejecute los programas cuánticos en su entorno de desarrollo preferido. Puede usar el editor de código en línea en el sitio web de Azure Quantum, los cuadernos de Jupyter Notebook hospedados disponibles en el área de trabajo de Azure Quantum en el Azure Portal o su propio entorno de desarrollo local.

Escritura del programa cuántico

El QDK ofrece compatibilidad con Q#, pero también para los lenguajes Qiskit y Cirq para la computación cuántica.

Para empezar, puede seguir los Q# tutoriales y explorar conceptos cuánticos como superposición, entrelazamiento, algoritmo cuántico de Grover y otros fenómenos cuánticos.

Integración con Python

El QDK permite integrar Q# programas con Python. Puede usar un programa de Python para llamar Q# a operaciones.

Estimación de recursos

Antes de ejecutar su programa en hardware cuántico, deberá averiguar si se puede ejecutar en el hardware existente, y cuántos recursos consumirá.

El estimador de recursos de Azure Quantum permite evaluar decisiones arquitectónicas, comparar tecnologías de cúbits y determinar los recursos necesarios para ejecutar un algoritmo cuántico determinado. Puede elegir entre protocolos predefinidos de tolerancia a errores y especificar suposiciones del modelo de cúbit físico subyacente.

Para más información, consulte Ejecución de la primera estimación de recursos.

Nota

El estimador de recursos de Azure Quantum es gratuito y no requiere una cuenta de Azure.

Ejecución del programa en el simulador

Al compilar y ejecutar un programa cuántico, el QDK crea una instancia del simulador cuántico y le pasa el Q# código. El simulador utiliza el código de Q# para crear cúbits (simulaciones de partículas cuánticas) y aplicar transformaciones para modificar su estado. Después, los resultados de las operaciones cuánticas del simulador se devuelven al programa. Al aislar el código de Q# en el simulador, se garantiza que los algoritmos sigan las leyes de la física cuántica y que se puedan ejecutar correctamente en los equipos cuánticos.

Envío de trabajos a servicio Azure Quantum

Puede enviar los Q# programas (también conocidos como trabajos) a Azure Quantum a través de su entorno de desarrollo preferido, tanto local como en línea. Para obtener más información, consulte cómo enviar trabajos de Q#. También puede ejecutar y enviar circuitos cuánticos escritos en los lenguajes Qiskit y Cirq.

Azure Quantum ofrece algunos de los hardware cuánticos más atractivos y diversos disponibles hoy en día desde los líderes del sector. Vea Proveedores de computación cuántica para obtener la lista actual de proveedores de hardware compatibles.

Nota

El emulador target de la serie H de Quantinuum basado en la nube está disponible sin una cuenta de Azure. Para enviar un trabajo al resto de los proveedores de Azure Quantum, necesita una cuenta de Azure y un área de trabajo cuántica. Si no tiene un área de trabajo cuántica, consulte Creación de un área de trabajo de Azure Quantum.

En este diagrama, se muestra el flujo de trabajo básico después de enviar el trabajo:

Diagrama que muestra el flujo de trabajo después de un envío de trabajo a Azure Quantum.

Si quiere saber más, Quantum Katas ofrece una buena introducción a los conceptos de la computación cuántica, como las operaciones cuánticas comunes y cómo manipular los cúbits.