O que são Q# e o Azure Quantum Development Kit?

O Azure Quantum Development Kit (QDK Moderno) é o SDK necessário para a interface com o serviço do Azure Quantum. Com o Quantum Development Kit, você pode criar programas quânticos executados em hardware quântico no Azure Quantum.

Observação

A Microsoft Quantum Development Kit (QDK Clássico) não terá mais suporte após 30 de junho de 2024. Se você for um desenvolvedor de QDK existente, recomendamos que faça a transição para o novo Azure Quantum Development Kit (QDK Moderno) para continuar desenvolvendo soluções quânticas. Para obter mais informações, consulte Migrar seu Q# código para o QDK moderno.

O QDK Moderno é o único kit de desenvolvimento pronto para Fault-Tolerant FTQC (Computação Quântica). Com o QDK moderno, você pode:

  • Depure seu código: Ele oferece um depurador de computação quântica que pode percorrer o código clássico e quântico. Emparelhado com seu simulador esparso na memória, ele fornece simulação rápida de até milhares de qubits lógicos.

  • Escolha sua plataforma: O QDK Moderno é executado no navegador da Web sem a necessidade de instalação e com a extensão do VS Code no computador, Mac ou Linux.

  • Escreva seu código mais rapidamente: Realce de sintaxe e preenchimento inteligente de código com o IntelliSense e grava blocos inteiros de código assistidos com Copilot.

  • Execute em sua escolha de hardware: O QDK integra-se perfeitamente ao Azure Quantum para executar seus algoritmos em uma ampla variedade de computadores quânticos e simuladores.

  • Design para o FTQC: Emparelhado com o estimador de recursos do Azure Quantum de última geração, ele fornece uma linguagem projetada especificamente para computação quântica, Q#, liberando você de pensar em arquiteturas de qubit, abstraindo o hardware e permitindo que você misture a computação clássica e quântica executada pela máquina quântica que você está targetfazendo.

Dica

Se você quiser acelerar sua jornada de computação quântica, marcar código com o Azure Quantum, um recurso exclusivo do site do Azure Quantum. Aqui, você pode executar exemplos internos Q# ou seus próprios Q# programas, gerar um novo Q# código de seus prompts, abrir e executar seu código no VS Code para a Web com um clique e fazer perguntas ao Copilot sobre computação quântica.

A linguagem de programação quantum Q#

O QDK moderno inclui a linguagem Q#de programação quântica , uma linguagem de programação de código aberto de alto nível que permite que você concentre seu trabalho no nível do algoritmo para criar programas quânticos.

Q# é uma linguagem de programação de software livre, de alto nível, para desenvolver e executar algoritmos quânticos. Ele faz parte do Quantum Development Kit (QDK) e foi projetado para ser independente de hardware, dimensionar para toda a gama de aplicativos quânticos e otimizar a execução.

Como linguagem de programação, Q# extrai elementos conhecidos de Python, C# e F# e dá suporte a um modelo de procedimento básico para escrever programas com loops, instruções if/then e tipos de dados comuns. Ele também apresenta novas estruturas e operações de dados específicas do quantum, como repetição até o sucesso, que permitem a integração de cálculos quânticos e clássicos. Por exemplo, o controle de fluxo de um programa clássico pode ser baseado no resultado de uma medida quantum.

Ao escrever algoritmos, uma linguagem de programação quântica deve atender aos seguintes requisitos para a linguagem, o compilador e o runtime:

  • Qubits abstratos. Os algoritmos quânticos usam qubits que não estão vinculados a um hardware ou layout específico. O compilador e o runtime lidam com o mapeamento de qubits de programa para qubits físicos.
  • Computação quântica e clássica. A capacidade de executar cálculos clássicos e quânticos é essencial em um computador quântico universal.
  • Respeitar as leis da física. Os algoritmos quânticos seguem as regras da física quântica. Por exemplo, eles não podem copiar ou acessar o estado do qubit diretamente.

Para obter mais informações, consulte o guia do usuário da Q# linguagem de programação quântica.

Introdução ao Azure Quantum Development Kit

Há mais de uma maneira de começar a usar a programação quântica. Você pode escolher a opção que melhor atenda às suas necessidades.

Dica

Os usuários iniciantes recebem automaticamente US$ 500 (USD)de créditos do Azure Quantum para uso com cada provedor de hardware quântico participante. Se você tiver consumido todos os créditos e precisar de mais, poderá se inscrever no programa de créditos do Azure Quantum.

Site do Azure Quantum

O site do Azure Quantum é a maneira mais fácil de começar a usar a programação quântica. Com o editor de código online no site do Azure Quantum, você pode executar Q# o código no navegador sem a necessidade de configuração e solicitar ajuda ao Copilot. Com um clique no editor de código online, você pode abrir seu código no VS Code na Web e continuar trabalhando em um ambiente quântico pré-configurado gratuitamente.

Observação

O site do Azure Quantum é gratuito e não requer uma conta do Azure.

Exemplos no portal do Azure Quantum

Para começar a praticar e escrever programas em Q# sem instalar software adicional, use os Jupyter Notebooks hospedados disponíveis em seu workspace do Azure Quantum no portal do Azure. A galeria de exemplos contém uma coleção de exemplos de notebook anotados – selecione o exemplo que deseja explorar e execute-o em simuladores baseados em nuvem ou em computadores quânticos reais.

Observação

Para usar os Jupyter Notebooks hospedados, você precisa de uma conta do Azure. Se você não tiver uma conta do Azure, poderá criar uma conta gratuitamente.

Ambiente de desenvolvimento local

Se preferir um ambiente de desenvolvimento local, você poderá instalar a extensão QDK Moderna para Visual Studio Code. A extensão QDK moderna fornece um ambiente de desenvolvimento completo para Q#, incluindo realce de sintaxe, comentários de codificação em tempo real e depuração.

Para começar a usar a extensão do QDK moderno, confira o tutorial a seguir.

Dica

O QDK moderno inclui um conjunto de exemplos internos Q# que você pode usar para saber mais sobre Q# e computação quântica. Para exibir os exemplos, abra um novo Q# arquivo e digite samplee selecione o exemplo que você deseja exibir na lista de opções.

Fluxo de trabalho de desenvolvimento quântico

O diagrama a seguir mostra os estágios pelos quais um programa quântico passa da ideia para a implementação completa no Azure Quantum e as ferramentas oferecidas para cada estágio.

Diagrama mostrando o fluxo de trabalho do desenvolvimento de programação quântica.

Escolher o ambiente de desenvolvimento

Execute seus programas quânticos em seu ambiente de desenvolvimento preferido. Você pode usar o editor de código online no site do Azure Quantum, os Jupyter Notebooks hospedados disponíveis em seu workspace do Azure Quantum no portal do Azure ou em seu próprio ambiente de desenvolvimento local.

Escrever seu programa quântico

O QDK oferece suporte para Q#, mas também para qiskit e linguagens Cirq para computação quântica.

Para começar, você pode seguir os Q# tutoriais e explorar conceitos quânticos, como superposição, emaranhamento, algoritmo quântico de Grover e outros fenômenos quânticos.

Integrar com o Python

O QDK permite integrar Q# programas ao Python. Você pode usar um programa Python para chamar Q# operações.

Estimar recursos

Antes de iniciar a execução em hardware quântico, você precisará descobrir se o programa pode ser executado em um hardware existente e quantos recursos ele consumirá.

O Avaliador de Recursos do Azure Quantum permite avaliar decisões arquitetônicas, comparar tecnologias de qubit e determinar os recursos necessários para executar um determinado algoritmo quântico. Você pode escolher entre protocolos tolerantes a falhas predefinidos e especificar suposições do modelo de qubit físico subjacente.

Para obter mais informações, consulte Executar sua primeira estimativa de recursos.

Observação

O Avaliador de Recursos do Azure Quantum é gratuito e não requer uma conta do Azure.

Executar programa no simulador

Quando você compila e executa um programa quântico, o QDK cria uma instância do simulador quântico e passa o Q# código para ele. O simulador usa o código Q# para criar qubits (simulações de partículas quânticas) e aplicar transformações para modificar o estado deles. Os resultados das operações quânticas no simulador são retornados para o programa. O isolamento do código Q# no simulador garante que os algoritmos sigam as leis da física quântica e possam ser executados corretamente em computadores quânticos.

Enviar trabalhos para o serviço Azure Quantum

Você pode enviar seus Q# programas (também conhecidos como trabalhos) para o Azure Quantum por meio de seu ambiente de desenvolvimento preferencial, localmente e online. Para obter mais informações, confira como enviar trabalhos Q#. Você também pode executar e enviar circuitos quânticos escritos nas linguagens Qiskit e Cirq.

O Azure Quantum oferece alguns dos hardwares quânticos mais atraentes e diversos disponíveis atualmente por líderes do setor. Confira Provedores de computação quântica para a lista atual de provedores de hardware com suporte.

Observação

O Emulador Quantinuum H-Series baseado em nuvem está disponível sem uma conta do Azure.target Para enviar um trabalho para o restante dos provedores do Azure Quantum, você precisa de uma conta do Azure e um workspace quântico. Se você não tiver um workspace quântico, consulte Criar um workspace do Azure Quantum.

Este diagrama mostra o fluxo de trabalho básico após o envio do trabalho:

Diagrama mostrando o fluxo de trabalho após um envio de trabalho ao Azure Quantum.

Se quiser saber mais, o Quantum Katas oferece uma boa introdução sobre conceitos de computação quântica, como operações quânticas comuns e como manipular qubits.