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

O Azure Quantum Development Kit (QDK Moderno) é o SDK necessário para interagir com o serviço Azure Quantum. Com o Quantum Development Kit, pode criar programas quânticos que são executados em hardware quântico no Azure Quantum.

Nota

O Microsoft Quantum Development Kit (QDK Clássico) deixará de ser suportado após 30 de junho de 2024. Se for um programador de QDK existente, recomendamos que faça a transição para o novo Azure Quantum Development Kit (QDK Moderno) para continuar a desenvolver soluções quânticas. Para obter mais informações, veja Migrar o código Q# para o QDK Moderno.

O QDK Moderno é o único kit de desenvolvimento pronto para Fault-Tolerant Quantum Computing (FTQC). Com o QDK Moderno, pode:

  • Depurar o código: Oferece um depurador de computação quântica que pode passar pelo código clássico e quântico. Emparelhado com o seu simulador de memória disperso, fornece uma simulação rápida de até milhares de qubits lógicos.

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

  • Escreva o código mais rapidamente: Realce de sintaxe e conclusão inteligente de código com o IntelliSense e escreva blocos inteiros de código assistido com Copilot.

  • Execute a sua escolha de hardware: O QDK integra-se perfeitamente com o Azure Quantum para executar os algoritmos numa vasta gama de computadores quânticos e simuladores.

  • Estrutura para o FTQC: Emparelhado com o avaliador de recursos do Azure Quantum de última geração, fornece uma linguagem concebida especificamente para computação quântica, Q#libertando-o de pensar em arquiteturas de qubits, abstraindo o hardware e permitindo-lhe misturar a computação clássica e quântica, tudo efetuado pelo computador quântico que está targeta utilizar.

Dica

Se quiser acelerar o seu percurso de computação quântica, consulte Código com o Azure Quantum, uma funcionalidade exclusiva do site do Azure Quantum. Aqui, pode executar exemplos incorporados Q# ou os seus próprios Q# programas, gerar novo Q# código a partir das suas instruções, abrir e executar o código no VS Code para a Web com um clique e fazer perguntas sobre computação quântica ao Copilot.

A linguagem de programação quântica Q#

O QDK Moderno inclui a linguagem Q#de programação quântica , uma linguagem de programação open source de alto nível que lhe permite concentrar o seu trabalho ao nível do algoritmo para criar programas quânticos.

Q# é uma linguagem de programação open source, de alto nível, para desenvolver e executar algoritmos quânticos. Faz parte do Quantum Development Kit (QDK) e foi concebido para ser agnóstico de hardware, dimensionar para toda a gama de aplicações quânticas e otimizar a execução.

Como linguagem de programação, Q# desenha elementos familiares de Python, C#e F#, e suporta um modelo processual básico para escrever programas com ciclos, instruções if/then e tipos de dados comuns. Também introduz novas operações e estruturas de dados específicas da quântica, como repetição-até-sucesso, que permitem a integração de cálculos quânticos e clássicos. Por exemplo, o controlo de fluxo de um programa clássico pode basear-se no resultado de uma medição quântica.

Ao escrever algoritmos, uma linguagem de programação quântica deve cumprir os seguintes requisitos para o idioma, compilador e runtime:

  • Qubits abstratos. Os algoritmos quânticos utilizam qubits que não estão ligados a hardware ou esquema específico. O compilador e o runtime processam o mapeamento de qubits de programas para qubits físicos.
  • Computação quântica e clássica. A capacidade de realizar cálculos clássicos e quânticos é essencial num computador quântico universal.
  • Respeita as leis da física. Os algoritmos quânticos seguem as regras da física quântica. Por exemplo, não podem copiar ou aceder diretamente ao estado do qubit.

Para obter mais informações, veja o guia do utilizador da Q# linguagem de programação quântica.

Introdução ao Azure Quantum Development Kit

Existem mais do que uma forma de começar a utilizar a programação quântica. Pode escolher a opção que melhor se adequa às suas necessidades.

Dica

Os utilizadores pela primeira vez recebem automaticamente 500 $ (USD)Créditos Quânticos do Azure gratuitos para utilização com cada fornecedor de hardware quântico participante. Se tiver consumido todos os créditos e precisar de mais, pode aplicar-se ao programa Créditos Quânticos do Azure.

Site do Azure Quantum

O site do Azure Quantum é a forma mais fácil de começar a utilizar a programação quântica. Com o editor de código online no site do Azure Quantum, pode executar Q# código no browser sem necessidade de configuração e pedir ajuda ao Copilot. Com um clique no editor de código online, pode abrir o código no VS Code na Web e continuar a trabalhar num ambiente quântico pré-configurado gratuitamente.

Nota

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

Exemplos no portal do Azure Quantum

Se quiser começar a praticar e escrever os seus Q# programas sem instalar software adicional, pode utilizar os Jupyter Notebooks alojados disponíveis na sua área de trabalho do Azure Quantum no portal do Azure. A galeria de exemplo contém uma coleção de exemplos de blocos de notas anotados - selecione o exemplo que pretende explorar e executá-lo em simuladores baseados na cloud ou em computadores quânticos reais.

Nota

Para utilizar os Jupyter Notebooks alojados, precisa de uma conta do Azure. Se não tiver uma conta do Azure, pode criar uma conta gratuitamente.

Ambiente de desenvolvimento local

Se preferir um ambiente de desenvolvimento local, pode instalar a extensão QDK Moderna do Visual Studio Code. A extensão QDK Moderna fornece um ambiente de desenvolvimento completo para Q#, incluindo realce de sintaxe, feedback de codificação em tempo real e depuração.

Para começar a utilizar a extensão QDK Moderna, veja o tutorial seguinte.

Dica

O QDK Moderno inclui um conjunto de exemplos incorporados Q# que pode utilizar para saber mais e Q# computação quântica. Para ver os exemplos, abra um novo Q# ficheiro e escreva samplee, em seguida, selecione o exemplo que pretende ver na lista de opções.

Fluxo de trabalho de desenvolvimento quântico

O diagrama seguinte mostra as fases através das quais um programa quântico passa da ideia para a implementação completa no Azure Quantum e as ferramentas oferecidas para cada fase.

Diagrama a mostrar o fluxo de trabalho do desenvolvimento da programação quântica.

Escolha o ambiente de desenvolvimento

Execute os seus programas quânticos no seu ambiente de desenvolvimento preferencial. Pode utilizar o editor de código online no site do Azure Quantum, os Jupyter Notebooks alojados disponíveis na sua área de trabalho do Azure Quantum no portal do Azure ou no seu próprio ambiente de desenvolvimento local.

Escrever o seu programa quântico

O QDK oferece suporte para Q#as linguagens Qiskit e Cirq para computação quântica.

Para começar, pode seguir os Q# tutoriais e explorar conceitos quânticos como sobreposição, entrelaçamento, algoritmo quântico de Grover e outros fenómenos quânticos.

Integrar no Python

O QDK permite-lhe integrar Q# programas com Python. Pode utilizar um programa Python para chamar Q# operações.

Estimar recursos

Antes de executar o hardware quântico, terá de descobrir se o seu programa pode ser executado em hardware existente e quantos recursos irá consumir.

O Avaliador de Recursos do Azure Quantum permite-lhe avaliar decisões de arquitetura, comparar tecnologias de qubit e determinar os recursos necessários para executar um determinado algoritmo quântico. Pode escolher entre protocolos tolerantes a falhas predefinidos e especificar pressupostos do modelo de qubit físico subjacente.

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

Nota

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

Executar programa no simulador

Quando compila e executa um programa quântico, o QDK cria uma instância do simulador quântico e transmite-lhe o Q# código. O simulador utiliza o código Q# para criar qubits (simulações de partículas quânticas) e aplica as transformações para modificar o estado dos mesmos. Os resultados das operações quânticas no simulador são, depois, devolvidos ao programa. Isolar o código Q# no simulador garante que os algoritmos seguem as leis da física quântica e que podem ser executados corretamente em computadores quânticos.

Submeter tarefas para o serviço Azure Quantum

Pode submeter os seus Q# programas (também conhecidos como tarefas) para o Azure Quantum através do seu ambiente de desenvolvimento preferencial, tanto local como online. Para obter mais informações, veja como submeter Q# tarefas. Também pode executar e submeter circuitos quânticos escritos em linguagens Qiskit e Cirq.

O Azure Quantum oferece alguns dos hardwares quânticos mais apelativos e diversos disponíveis atualmente por parte dos líderes do setor. Veja Fornecedores de computação quântica para obter a lista atual de fornecedores de hardware suportados.

Nota

O Emulador targetda Série H do Quantinuum baseado na cloud está disponível sem uma conta do Azure. Para submeter uma tarefa aos restantes fornecedores do Azure Quantum, precisa de uma conta do Azure e de uma área de trabalho quântica. Se não tiver uma área de trabalho quântica, veja Criar uma área de trabalho do Azure Quantum.

O diagrama seguinte mostra o fluxo de trabalho básico depois de submeter a sua tarefa:

Diagrama a mostrar o fluxo de trabalho após a submissão de uma tarefa para o Azure Quantum.

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