Como usar o visualizador de dispositivos de átomos neutros

O Microsoft Quantum Development Kit (QDK) oferece vários simuladores quânticos e um visualizador para computadores quânticos de átomos neutros. O visualizador de dispositivos de átomos neutros produz um diagrama interativo que permite acompanhar como os qubits se movem e são processados quando o seu programa corre num dispositivo básico de átomos neutros. Este artigo explica como aceder e usar o visualizador em Jupyter Notebook.

Para instruções sobre como instalar os simuladores e o visualizador, veja Como instalar e executar os QDK simuladores quânticos.

Como criar um diagrama de qubits de átomo neutro

Para criar um diagrama de qubits com o visualizador de átomos neutros, siga estes passos:

  1. No VS Code, abra o menu Exibir e escolha Paleta de comandos.

  2. Insira e selecione Criar: Novo Jupyter Notebook. Abre uma nova aba com um ficheiro vazio Jupyter Notebook.

  3. Importa os pacotes e objetos necessários. Na primeira célula, introduza e execute o seguinte código:

    from qdk.openqasm import compile
    from qdk.simulation import NeutralAtomDevice
    
  4. Escreve o teu circuito OpenQASM e compila o circuito para QIR. Por exemplo, o seguinte circuito entrelaça dois qubits:

    qasm_src = """
    include "stdgates.inc";
    qubit[2] qs;
    bit[2] r;
    
    h qs[0];
    cx qs[0], qs[1];
    r = measure qs;
    """
    
    qir = compile(qasm_src)
    
  5. Crie um objeto simulador usando NeutralAtomDevice.

    simulator = NeutralAtomDevice()
    
  6. Para aceder ao visualizador, chama o show_trace método e passa o QIR do teu programa.

    simulator.show_trace(qir)
    

    O visualizador renderiza na célula de saída.

Note

O visualizador não inclui perda de qubits nem outros tipos de ruído.

Como interagir com o visualizador

O visualizador tem elementos interativos que permitem explorar uma simulação de como os qubits se comportam enquanto o seu programa corre num computador quântico básico de átomos neutros. O diagrama do dispositivo é uma grelha 2D com linhas e colunas rotuladas. Cada ponto numa posição da grelha representa um qubit atómico neutro no dispositivo.

O diagrama contém três zonas:

Zona Description
Zona de armazenamento Esta zona está rotulada como Registo 1. Os qubits começam na zona de armazenamento e mantêm-se lá até estarem prontos para processamento ou medição. Os qubits regressam sempre à zona de armazenamento após operações e medições.
Zona de interação Esta zona é onde as portas quânticas são aplicadas aos qubits para o processamento.
Zona de medição Esta zona é onde os qubits são medidos.

Captura de ecrã que mostra as três zonas no visualizador do dispositivo de átomos neutros

Elementos interativos no visualizador

Para interagir com o visualizador, use os elementos no topo do diagrama. O diagrama contém os seguintes elementos:

  1. Botão de jogar: Selecione este botão para reproduzir uma animação da execução do seu programa. A animação percorre cada etapa do programa até ao fim do programa. Durante a animação, selecione novamente este botão para pausar a animação no passo atual. Quando a animação terminar, selecione novamente este botão para iniciar a animação do início.
  2. Botões para avançar e recuar: Seleciona estes botões para avançar pelo programa passo a passo sem reproduzir a animação completa.
  3. Deslizador de progresso: Este elemento mostra a etapa atual do programa. Mova o slider para seguir o programa e escolha um passo específico. Em cada passo, passe o cursor sobre um qubit para ver de onde o qubit se moveu no passo anterior.
  4. Botões de redimensionamento: Selecione o botão de seta para cima para aumentar o tamanho do diagrama e selecione o botão de seta para baixo para diminuir o tamanho do diagrama.
  5. Ícone de informação: Passe o rato sobre este ícone para ver uma lista de atalhos de teclado que lhe permitem interagir com o diagrama. O atalho de teclado F acelera a animação e S abranda a animação quando selecionar o botão Play.

Captura de ecrã com elementos de interface rotulados do visualizador do dispositivo de átomos neutros.