Existem emuladores para computadores quânticos?

64

Existe alguma maneira de emular um computador quântico no meu computador normal, para que eu possa testar e experimentar linguagens de programação quântica (como Q # )? Quero dizer algo que realmente posso testar minha hipótese e obter os resultados mais precisos.

Atualização: não estou realmente procurando simular um computador quântico, mas não sei se é possível emular com eficiência um em um PC normal não-quântico.

Michel Gokan
fonte
4
Posteriormente,

Respostas:

39

Sim, é possível (mas lento). Existem alguns emuladores existentes (esta é apenas uma lista parcial):

  • QDD: uma biblioteca de emulação de computador quântico

    O QDD é uma biblioteca C ++ que fornece um conjunto relativamente intuitivo de construções de computação quântica no contexto do ambiente de programação C ++. O QDD é único, pois a emulação da computação quântica se baseia em uma representação do estado quântico no diagrama de decisão binária (BDD).

  • jQuantum

    jQuantum é um programa que simula um computador quântico. Você pode projetar circuitos quânticos com ele e deixá-los rodar. O estado atual do registro quântico é ilustrado.

  • QCE

    O QCE é uma ferramenta de software que emula vários projetos de hardware da Quantum Computers. O QCE simula os processos físicos que governam a operação de um processador quântico de hardware, estritamente de acordo com as leis da mecânica quântica. O QCE também fornece um ambiente para depurar e executar algoritmos quânticos em condições experimentais realistas.

(Além disso, o Q # funciona apenas com o QDK da MS , obrigado @Pavel)

A desvantagem de tudo isso é simples: eles ainda funcionam em circuitos binários (não quânticos). Que eu saiba, não há computador quântico facilmente acessível para executar essas coisas. E como são necessários vários bits binários para expressar um único qubit, a quantidade de energia computacional necessária para simular um programa quântico aumenta muito rapidamente.

Vou citar um artigo sobre o assunto ( J. Allcock, 2010 ):

Nossa avaliação mostra que nossas implementações são muito precisas, mas ao mesmo tempo usamos uma quantidade significativa de memória adicional para conseguir isso. Reduzir nossos objetivos de precisão nos permitiria diminuir o tamanho da representação e, portanto, emular mais qubits com a mesma quantidade de memória.

p 89, seção 5.1

À medida que nossas implementações ficam mais precisas, elas também ficam mais lentas.

TL; DR: é possível, e existem alguns emuladores, mas nenhum é muito eficiente para grandes quantidades de qubits.

Riker
fonte
Observe que nenhum desses emuladores pode (atualmente) ser usado pelo Q #, que funciona apenas com o QDK da Microsoft.
Pavel
3
Além do que você disse: Existem maneiras programáticas de executar código no IBM Quantum Experience, que fornece computadores quânticos reais - não o código Q #, mas o QASM. QISKit é o caminho a percorrer aqui. github.com/QISKit
blalasaadri 13/03
O que você disse faz sentido porque a simulação é executada em um computador. Mas é possível atingir a mesma velocidade se vários computadores forem usados?
Calendário iOS patchthecode.com
26

Sim, é possível simular um computador quântico em um computador normal - mas você provavelmente precisará sacrificar a eficiência.

2nn


Recursos

Você pode estar interessado em Q # como outras respostas mencionadas. Mais alguns emuladores:

  • Parque de computação quântica

    O Quantum Computing Playground é um experimento WebGL Chrome baseado em navegador. Ele possui um computador quântico acelerado por GPU com uma interface IDE simples e sua própria linguagem de script com recursos de depuração e visualização em estado quântico 3D. O Quantum Computing Playground pode simular com eficiência registros quânticos de até 22 qubits, executar os algoritmos de Grover e Shor e possui uma variedade de portas quânticas embutidas na própria linguagem de script.

  • QX Simulator

    O QX Simulator é um simulador de computador quântico universal desenvolvido na QuTech por Nader Khammassi. O QX permite que os projetistas de algoritmos quânticos simulem a execução de seus circuitos quânticos em um computador quântico. O simulador define uma linguagem de montagem quântica de baixo nível, chamada Quantum Code, que permite aos usuários descrever seus circuitos em um arquivo de código-fonte textual simples. O arquivo de código-fonte é então usado como entrada do simulador que executa seu conteúdo.

  • Quantum ++

    Quantum ++ é uma moderna biblioteca de computação quântica para fins gerais C ++ 11, composta exclusivamente por arquivos de cabeçalho de modelo. O Quantum ++ é escrito no C ++ 11 padrão e possui dependências externas muito baixas, usando apenas a biblioteca de modelos de cabeçalho somente de álgebra linear Eigen 3 e, se disponível, a biblioteca de multiprocessamento OpenMP.

  • Linguagem Quântica de Computadores

    Apesar de muitos conceitos comuns da ciência clássica da computação, a computação quântica ainda é amplamente considerada como uma disciplina especial dentro do amplo campo da física teórica. [...] O QCL (Quantum Computation Language) tenta preencher esta lacuna: o QCL é uma linguagem de programação independente de arquitetura de alto nível para computadores quânticos, com uma sintaxe derivada de linguagens processuais clássicas como C ou Pascal. Isso permite a implementação e simulação completas de algoritmos quânticos (incluindo componentes clássicos) em um formalismo consistente.

  • Emuladores mais relevantes podem ser encontrados no Quantiki

Mr. Xcoder
fonte
21

Sim, é possível simular cálculos quânticos em um computador clássico. Mas o custo das simulações aumenta exponencialmente com a contagem de qubit e / ou a profundidade do circuito e / ou contagens de operações específicas.

Para tentar ideias rapidamente, meu simulador Quirk é ótimo. É um simulador de circuito quântico de arrastar e soltar de código aberto que roda em seu navegador. Você pode acessar uma versão ao vivo em algassert.com/quirk .

Aqui está uma captura de tela do exemplo do circuito Grover de Quirk, que é instrumentado com exibições de estado intermediário para rastrear o estado "oculto" se tornando mais provável:

Captura de tela do Quirk

Craig Gidney
fonte
16

Se você está olhando especificamente para o Q #, é super fácil de usar com um emulador - na verdade, não é possível ter o Q #, mas não o emulador, eles estão agrupados.

Para começar, primeiro você precisa baixar o .NET Core no site da Microsoft .

Quando você baixa o Quantum Development Kit da dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"Microsoft pelo site da Microsoft, ele baixa o idioma e o emulador da Microsoft juntos.

A criação de um novo projeto de Q # ( dotnet new console -lang Q#) o configurará automaticamente para usar o emulador; portanto, quando você digita algum Q # e executa o projeto, "simplesmente funciona".

Pavel
fonte
3

Sim. Se você mesmo o construiu, encontre um computador de terceiros com as mesmas especificações da série BullSequana M9600 ou obtenha € 100K + e compre um sistema da Atos.

Observe a semelhança entre a série BullSequana M9600 e a Atos QLM . Atis QLM vs. M9600

Mesma caixa (e provavelmente componentes internos) com software diferente (mas você queria usar o seu próprio, Q #). Atos afirma: "O simulador quântico de melhor desempenho do mundo". Não tenho certeza disso, mas as especificações para a versão de 30 qubit são acessíveis, apenas duas CPUs Intel e 1 TB de memória.

Folheto Atos QLM .PDF .

Existe alguma maneira de emular um computador quântico no meu computador normal , para que eu possa testar e experimentar linguagens de programação quântica (como Q #)?

Se você usar apenas 256GB de memória e 1-24TB de movimentação Trocar será lenta mas vai trabalhar.

Quero dizer algo em que realmente posso testar minha hipótese e obter os resultados mais precisos .

Citação do folheto:

"A Atos Quantum Learning Machine calcula a execução exata de um programa quântico, com precisão de dois dígitos. Simula as leis da física , que estão no cerne da computação quântica. Isso é muito diferente dos processadores quânticos existentes, que sofrem de quântica. ruído, descoerência quântica e tendências de fabricação, bem como gargalos de desempenho. A simulação na Atos Quantum Learning Machine permite que os desenvolvedores se concentrem em seus aplicativos e algoritmos, sem ter que esperar pela disponibilidade de máquinas quânticas ".

Eles alegam alta precisão, já que é um simulador e não está sujeito a ruídos - nem será tão rápido ou caro. Em teoria, você pode adicionar memória, unidades e software ao seu computador ...

Roubar
fonte
3

Eu acho que uma boa "visão geral" sobre o assunto pode ser encontrada em: Quantiki

Eles têm uma lista de simuladores de computador quânticos em várias línguas, alguns dos simuladores já foram citados aqui antes. No entanto, eles mantêm uma lista que atualizam para informar (ou tentar informar) do status do projeto. Existem algumas "bibliotecas" como:

Haskell

qchas (qchas: uma biblioteca para implementar algoritmos quânticos) - uma biblioteca útil para implementar algoritmos quânticos. Ele contém definições de Quantum Gates, Qubits.

Pitão

qubiter : O projeto Qubiter visa fornecer eventualmente um conjunto completo de ferramentas, escritas principalmente em Python, para projetar e simular circuitos quânticos em computadores clássicos.

Javascript

jsqis : o jsqis, em sua essência, é um simulador quântico de computador escrito em Javascript. Permite a inicialização de registros quânticos e sua manipulação por meio de portas quânticas.

Gustavo Banegas
fonte