Compartilhar via


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

O Azure Quantum Development Kit (QDK moderno) é o SDK necessário para fazer interface com o serviço Azure Quantum. Com o , você pode criar programas quânticos que são executados em hardware quântico Quantum Development Kitno Azure Quantum.

Observação

O Microsoft Quantum Development Kit (QDK clássico) não terá mais suporte após 30 de junho de 2024. Se você for um desenvolvedor QDK existente, recomendamos que você 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 Computação Quântica Tolerante a Falhas (FTQC). Com o QDK Moderno, você pode:

  • Depurar seu código: Ele oferece um depurador de computação quântica que pode transitar entre o código clássico e quântico. Emparelhado com seu simulador de memória esparso, 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 Windows, Mac ou Linux.

  • Escreva seu código rapidamente: Tenha destaque de sintaxe e preenchimento inteligente de código com o IntelliSense e escreva blocos inteiros de código assistidos com Copilot.

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

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

Dica

Se você quiser acelerar sua jornada de computação quântica, confira Code with Azure Quantum, um recurso exclusivo do site do Azure Quantum. Aqui, você pode executar amostras internas Q# ou seus próprios Q# programas, gerar novo Q# código a partir de seus prompts, abrir e executar seu código no VS Code for the 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 alto nível e código aberto que permite que você concentre seu trabalho no nível do algoritmo para criar programas quânticos.

Q# é uma linguagem de programação de código aberto e 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, escalar para toda a gama de aplicações quânticas 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 introduz novas estruturas e operações de dados específicas do quântico, como a 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, compilador e tempo de execução:

  • Qubits abstratos. Os algoritmos quânticos usam qubits que não estão ligados a hardware ou layout específicos. O compilador e o runtime se encarregam de mapear os 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.
  • Respeite as leis da física. Os algoritmos quânticos seguem as regras da física quântica. Por exemplo, não podem copiar nem 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 com a programação quântica. Você pode escolher a opção que melhor se adapta às suas necessidades.

Dica

Os usuários iniciantes recebem automaticamente USD500 Créditos Quânticos gratuitosdo Azure para uso com cada provedor de hardware quântico participante. Se você tiver consumido todos os créditos e precisar de mais, inscreva-se 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# código em seu navegador sem necessidade de configuração e pedir 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 Quantum do Azure

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 Blocos de Anotações Jupyter 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 você preferir um ambiente de desenvolvimento local, você pode instalar a extensão QDK moderno para 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 usar a extensão QDK moderna, consulte o seguinte tutorial.

Dica

O QDK moderno inclui um conjunto de amostras integradas Q# que você pode usar para aprender mais sobre Q# computação quântica. Para exibir os exemplos, abra um novo Q# arquivo e digite sample, em seguida, selecione o exemplo que 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 à implementação completa no Azure Quantum e as ferramentas oferecidas para cada estágio.

Diagrama mostrando o fluxo de trabalho do desenvolvimento da 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 Quântico, os Blocos de Anotações Jupyter hospedados disponíveis em seu espaço de trabalho do Azure Quantum no portal do Azure ou 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 tutoriais e explorar conceitos quânticos Q# como superposição, emaranhamento, algoritmo quântico de Grover e outros fenômenos quânticos.

Integração com Python

O QDK permite integrar Q# programas com 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 Azure Quantum Resource Estimator permite avaliar decisões arquitetônicas, comparar tecnologias 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 Azure Quantum Resources Estimator é 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 preferido, local 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 diversificados disponíveis atualmente pelos 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 baseadotarget em nuvem está disponível sem uma conta do Azure. Para enviar um trabalho para o restante dos provedores do Azure Quantum, você precisa de uma conta do Azure e um espaço de trabalho quântico. Se você não tiver um espaço de trabalho quântico, consulte Criar um espaço de trabalho quântico do Azure.

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

Diagrama mostrando o fluxo de trabalho após o envio de um trabalho para o 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.