Uma Introdução à Computação Quântica com o Open Source Cirq Framework

Como o título sugere o que estamos prestes a começar a discutir, este artigo é um esforço para entender até que ponto chegamos na Computação Quântica e onde estamos indo a campo para acelerar a pesquisa científica e tecnológica, através de uma perspectiva de Open Source com Cirq.

Primeiro, vamos apresentá-lo ao mundo da computação quântica. Vamos tentar o nosso melhor para explicar a idéia básica por trás do mesmo antes de olharmos como Cirq estaria desempenhando um papel significativo no futuro da Computação Quântica. O Cirq, como você deve ter ouvido recentemente, vem dando notícias no campo e neste artigo do Open Science, vamos tentar descobrir o porquê.

Antes de começarmos com o que é a Computação Quântica, é essencial conhecer o termo Quantum, isto é, uma partícula subatômica referente à menor entidade conhecida. A palavra Quantum é baseada na palavra latina Quantus, que significa “quão pouco”, conforme descrito neste pequeno vídeo:

Será mais fácil entender a Computação Quântica comparando-a primeiro com a Computação Clássica. Computação clássica refere-se a como os computadores convencionais de hoje são projetados para funcionar. O dispositivo com o qual você está lendo este artigo agora também pode ser chamado de Dispositivo de Computação Clássica.

Computação Clássica

A computação clássica é apenas outra maneira de descrever como um computador convencional funciona. Eles funcionam através de um sistema binário, isto é, a informação é armazenada usando 1 ou 0. Nossos computadores Clássicos não podem entender qualquer outra forma.

Em termos literais, dentro do computador, um transistor pode estar em (1) ou desligado (0). Seja qual for a informação que fornecemos, é traduzida em 0s e 1s, para que o computador possa entender e armazenar essas informações. Tudo é representado apenas com a ajuda de uma combinação de 0s e 1s.

Computação quântica

A Computação Quântica, por outro lado, não segue um modelo “ligado ou desligado” como a Computação Clássica. Em vez disso, ele pode lidar simultaneamente com vários estados de informação com a ajuda de dois fenômenos chamados superposição e emaranhamento, acelerando assim a computação a um ritmo muito mais rápido e também facilitando uma maior produtividade no armazenamento de informações.

Por favor, note que superposição e emaranhamento não são os mesmos fenômenos.

Então, se temos bits na Computação Clássica, então no caso da Computação Quântica, teríamos qubits (ou bits Quantum). Para saber mais sobre a grande diferença entre os dois, verifique esta página de onde a foto acima foi obtida para explicação.

A Quantum Computers não vai substituir nossos computadores clássicos. Mas, há certas tarefas gigantescas que nossos Computadores Clássicos nunca serão capazes de realizar, e é quando a Quantum Computers provaria ser extremamente engenhosa. O vídeo a seguir descreve o mesmo em detalhes ao mesmo tempo em que descreve como os computadores da Quantum funcionam:

Um vídeo abrangente sobre o progresso da computação quântica até agora:

Quantum de escala intermediária barulhenta

De acordo com o artigo de pesquisa recentemente atualizado (31 de julho de 2018), o termo "Noisy" refere-se à imprecisão por causa da produção de um valor incorreto causado pelo controle imperfeito dos qubits. Esta imprecisão é porque haverá sérias limitações sobre o que os dispositivos Quantum podem alcançar no curto prazo.

“Escala Intermediária” refere-se ao tamanho dos Computadores Quânticos que estarão disponíveis nos próximos anos, onde o número de qubits pode variar de 50 a algumas centenas. 50 qubits é um marco significativo porque está além do que pode ser simulado pela força bruta usando os mais poderosos supercomputadores digitais existentes. Leia mais no artigo aqui.

Com o advento do Cirq, muito está prestes a mudar.

O que é o Cirq?

O Cirq é um framework python para criar, editar e invocar circuitos Noisy Intermediate Scale Quantum (NISQ) sobre os quais acabamos de falar. Em outras palavras, a Cirq pode enfrentar desafios para melhorar a precisão e reduzir o ruído na computação quântica.

Cirq não requer necessariamente um computador quântico real para execução. O Cirq também pode usar uma interface semelhante a um simulador para realizar simulações de circuitos quânticos.

O Cirq está gradualmente ganhando muito ritmo, com um de seus primeiros usuários sendo Zapata, formado no ano passado por um grupo de cientistas da Universidade de Harvard, focado em Computação Quântica.

Introdução ao Cirq no Linux

Os desenvolvedores da biblioteca Open Source Cirq recomendam a instalação em um ambiente virtual python como virtualenv. O guia de instalação dos desenvolvedores para Linux pode ser encontrado aqui.

No entanto, instalamos e testamos com sucesso o Cirq diretamente para o Python3 em um sistema Ubuntu 16.04 através das seguintes etapas:

Instalando o Cirq no Ubuntu

Primeiro, precisaríamos de pip ou pip3 para instalar o Cirq. Pip é uma ferramenta recomendada para instalar e gerenciar pacotes Python.

Para as versões do Python 3.x, o Pip pode ser instalado com:

sudo apt-get install python3-pip 

Pacotes Python3 podem ser instalados via:

 pip3 install 

Nós fomos em frente e instalamos a biblioteca Cirq com o Pip3 para Python3:

 pip3 install cirq 

Habilitando geração de Plot e PDF (opcional)

Dependências opcionais do sistema não instaláveis ​​com o pip podem ser instaladas com:

 sudo apt-get install python3-tk texlive-latex-base latexmk 
  • O python3-tk é uma biblioteca gráfica do próprio Python que permite a funcionalidade de plotagem.
  • texlive-latex-base e latexmk permitem funcionalidade de escrita em PDF.

Mais tarde, testamos com sucesso o Cirq com o seguinte comando e código:

 python3 -c 'import cirq; print(cirq.google.Foxtail)' 

Nós temos a saída resultante como:

Configurando o Pycharm IDE para Cirq

Também configuramos um Python IDE PyCharm no Ubuntu para testar os mesmos resultados:

Desde que instalamos o Cirq for Python3 em nosso sistema Linux, definimos o caminho para o interpretador do projeto nas configurações do IDE como:

 /usr/bin/python3 

Na saída acima, você pode observar que o caminho para o interpretador de projeto que acabamos de definir é mostrado junto com o caminho para o arquivo do programa de teste (test.py). Um código de saída 0 mostra que o programa terminou a execução com sucesso sem erros.

Então, esse é um ambiente IDE pronto para usar, no qual você pode importar a biblioteca Cirq para iniciar a programação com Python e simular circuitos Quantum.

Comece com o Cirq

Um bom lugar para começar são os exemplos que foram disponibilizados na página do Github da Cirq.

Os desenvolvedores incluíram este tutorial no GitHub para começar a aprender o Cirq. Se você é sério sobre aprender Computação Quântica, eles recomendam um excelente livro chamado "Computação Quântica e Informação Quântica" por Nielsen e Chuang.

OpenFermion-Cirq

OpenFermion é uma biblioteca de código aberto para obter e manipular representações de sistemas fermiônicos (incluindo Química Quântica) para simulação em Computadores Quânticos. Os sistemas fermiônicos estão relacionados à geração de férmions, que segundo a física de partículas, seguem a estatística de Fermi-Dirac.

OpenFermion tem sido aclamado como uma ferramenta de grande prática para químicos e pesquisadores envolvidos com Química Quântica. O foco principal da Química Quântica é a aplicação da Mecânica Quântica em modelos físicos e experimentos de sistemas químicos. Química Quântica também é conhecida como Mecânica Quântica Molecular.

O advento do Cirq agora tornou possível para o OpenFermion estender sua funcionalidade fornecendo rotinas e ferramentas para usar o Cirq para compilar e compor circuitos para algoritmos de simulação Quantum.

Google Bristlecone

Em 5 de março de 2018, o Google apresentou o Bristlecone, seu novo processador Quantum, na reunião anual da American Physical Society em Los Angeles. O sistema supercondutor baseado em gate fornece uma plataforma de teste para pesquisas sobre taxas de erro do sistema e escalabilidade da tecnologia de qubits do Google, além de aplicativos em simulação, otimização e aprendizado de máquina da Quantum.

No futuro próximo, o Google quer disponibilizar sua nuvem de processador de 72 qubits Bristlecone Quantum. Bristlecone gradualmente se tornará capaz de executar uma tarefa que um supercomputador clássico não seria capaz de completar em um período de tempo razoável.

O Cirq tornaria mais fácil para os pesquisadores escrever programas diretamente para o Bristlecone na nuvem, servindo como uma interface muito conveniente para a programação e testes em tempo real da Quantum.

Cirq nos permitirá:

  • Controle de sintonia fina sobre circuitos quânticos,
  • Especifique o comportamento do gate usando portas nativas,
  • Coloque os portões adequadamente no dispositivo e
  • Programe o tempo desses portões.

A perspectiva da ciência aberta na Cirq

Como todos sabemos, Cirq é Open Source no GitHub, sua inclusão nas Comunidades Científicas de Código Aberto, especialmente aquelas voltadas à Quantum Research, agora podem colaborar de forma eficiente para resolver os desafios atuais da Quantum Computing hoje, desenvolvendo novas maneiras de reduzir as taxas de erro e melhorar a precisão nos modelos Quantum existentes.

Se a Cirq não tivesse seguido um modelo de código aberto, as coisas teriam sido definitivamente muito mais desafiadoras. Uma grande iniciativa teria ficado de fora e não estaríamos nem um passo mais perto no campo da computação quântica.

Resumo

Para resumir, no final, nós primeiro apresentamos o conceito de Computação Quântica, comparando-o com as técnicas existentes de Computação Clássica, seguido por um vídeo muito importante sobre atualizações recentes de desenvolvimento em Computação Quântica desde o ano passado. Em seguida, discutimos brevemente o Noisy Intermediate Scale Quantum, para o qual o Cirq é especificamente construído.

Vimos como podemos instalar e testar o Cirq em um sistema Ubuntu. Também testamos a instalação para usabilidade em um ambiente IDE com alguns recursos para começar a aprender o conceito.

Finalmente, também vimos dois exemplos de como o Cirq seria uma vantagem essencial no desenvolvimento de pesquisas em Computação Quântica, a saber, OpenFermion e Bristlecone. Concluímos a discussão destacando alguns pensamentos sobre Cirq com uma perspectiva Open Science.

Esperamos poder apresentá-lo à Quantum Computing com a Cirq de maneira fácil de entender. Se você tiver algum comentário relacionado ao mesmo, informe-nos na seção de comentários. Obrigado por ler e estamos ansiosos para vê-lo em nosso próximo artigo do Open Science.

Recomendado

Qalculate! - A melhor aplicação de calculadora em todo o universo
2019
Conheça Nitrux: A Distribuição Linux Mais Bonita de Sempre?
2019
Coisas para fazer depois de instalar o openSUSE Leap 15
2019