Construindo um computador quântico em simulação


13

Se alguém deseja começar a construir um computador quântico do zero em simulações (como as pessoas constroem um computador clássico do zero no curso Nand2Tetris ), é possível?

Se sim, quais seriam algumas abordagens possíveis?

Além disso, quais serão os limites de uma máquina assim simulada, dada uma quantidade específica de poder computacional clássico? Por exemplo, se escolhermos seu desktop / laptop médio, qual será o limite? Se pegarmos um supercomputador (como o Titan), qual seria o limite?


Respostas:


5

A primeira parte da sua pergunta parece uma duplicata de um post existente no QC SE: existem emuladores para computadores quânticos? .

Não sei ao certo o que você quer dizer com construir um computador quântico do zero em simulações . No entanto, sim, você pode fazer simulações de software de um computador quântico usando o seu laptop / desktop comum. O "limite" exato dependerá das especificações do computador.

Como um computador quântico não viola a tese de Church-Turing , em teoria é definitivamente possível simular um computador quântico usando uma máquina de Turing ideal . A abordagem óbvia para simular esse sistema requer tempo exponencial em um computador clássico e a complexidade do espaço é uma função exponencial do número de bits quânticos simulados. Digamos, que simule um computador quântico de bits, você precisará armazenar cerca de 2 n bits de informação em seu computador clássico a cada instante. Além disso, a implementação de portões quânticos exigirá novamente uma enorme quantidade de recursos em termos de complexidade de tempo e espaço. Uma implementação de uma porta quântica operando em n- qubits teria que armazenar cerca den2nn (porque você pode representar todas as operações do portão quântico como uma matriz de tamanho 2 n × 2 n ) bits de informação.4n2n×2n

1registro4(8×1012)2120n


Você pode simular um pouco mais de qubits se usar apenas portas de 1 e 2 qubit para decompor sua grande unidade e agir em estado puro. Com 8 GB de RAM, você pode facilmente fazer 25 qubits em dupla precisão.
Vsoftco 27/07/19

4

Atualmente, estou trabalhando em um simulador de um computador quântico. A idéia básica da computação quântica, é claro, são portas representadas por matrizes aplicadas a qubits representados por vetores. Usando o pacote numpy do Python, isso não é tão difícil de programar no sentido mais básico.

A partir daí, é possível expandir, é claro, a interface. Pode-se também considerar tentar torná-lo um simulador de um computador quântico não ideal, isto é, levando em consideração os tempos de decoerência e a correção de erros.

Então, você entra em território fortemente desconhecido. Como você constrói o conjunto de instruções para um computador quântico? Quem sabe. Você terá que descobrir. Você também terá que descobrir sua versão do assembly e até sua versão das linguagens de programação de nível superior.

Então, limitações de um computador clássico nisso? Bem, essa é uma pergunta realmente complicada (e vale a pena perguntar em separado, imho), mas aqui está um breve resumo:

  • não sabemos se os computadores quânticos são realmente melhores que os computadores clássicos; os algoritmos para computadores clássicos ainda não eram bons o suficiente (supremacia quântica)
  • digamos, como parece decentemente provável, que computadores quânticos são melhores que computadores clássicos. essa melhoria dependerá muito do problema - os computadores quânticos podem ver, por exemplo, uma melhoria na velocidade muito maior na busca de fatorações primárias do que na verificação de e-mails. (veja também este P.SE q / a.)
  • O(e649(registroN)13(registroregistroN)23)O((registroN)2(registroregistroN)(registroregistroregistroN))
  • |0 0|1

4

Eu sinto que essa resposta repousa principalmente em um mal-entendido subjacente sobre o que significa "simular" algo.

De um modo geral, "simular" um sistema complexo significa reproduzir certos recursos desse sistema com uma plataforma que é mais fácil de controlar (geralmente, mas nem sempre, um computador clássico).

Portanto, a questão de se "alguém pode simular um computador quântico em um computador clássico" é um tanto mal colocada. Se você quer dizer que deseja replicar todos os aspectos possíveis de um "computador quântico", isso nunca acontecerá, assim como você nunca será capaz de simular todos os aspectos de qualquer sistema clássico (a menos que você use o mesmo idêntico sistema, é claro).

Por outro lado, você certamente pode simular muitos aspectos de um dispositivo complexo como um "computador quântico". Por exemplo, pode-se querer simular a evolução de um estado dentro de um circuito quântico. De fato, isso pode ser extremamente fácil de fazer! Por exemplo, se você tem python no seu computador, basta executar o seguinte

import numpy as np
identity_2d = np.diag([1, 1])
pauliX_gate = np.array([[0, 1], [1, 0]])
hadamard_gate = np.array([[1, 1], [1, -1]]) / np.sqrt(2)

cnot_gate = np.kron(identity_2d, pauliX_gate)
H1_gate = np.kron(hadamard_gate, identity_2d)

awesome_entangling_gate = np.dot(cnot_gate, H1_gate)

initial_state = np.array([1, 0, 0, 0])
final_state = np.dot(awesome_entangling_gate, initial_state)
print(final_state)

Parabéns, você acabou de "simular" a evolução de um estado separável de dois qubit para um estado de Bell!

n2n(1)(2)

Outras respostas já foram abordadas em vários aspectos dessa dureza, e as respostas para essa outra pergunta já mencionam muitas plataformas disponíveis para simular / emular vários aspectos dos algoritmos quânticos, por isso não irei lá.


(1) Um exemplo interessante disso é o problema de simular um dispositivo de amostragem de bósons (este não é um algoritmo quântico no sentido de um estado evoluindo através de uma série de portas, mas é, no entanto, um exemplo de dispositivo quântico não trivial). BosonSampling é um problema de amostragem , no qual um é encarregado do problema de amostragema partir de uma distribuição de probabilidade específica, e isso foi mostrado (sob suposições prováveis) como impossível de ser feito com eficiência com um dispositivo clássico. Embora nunca tenha sido demonstrado ser um aspecto fundamental dessa dureza, uma questão certamente não trivial associada à simulação de um dispositivo de amostragem de bósons foi a necessidade de calcular um número exponencialmente grande de probabilidades a partir das quais a amostra deve ser amostrada. No entanto, recentemente foi demonstrado que, de fato, não é necessário calcular todo o conjunto de probabilidades para amostrá- las ( 1705.00686 e 1706.01260) Isso não está longe, em princípio, de simular a evolução de muitos qubits em um circuito quântico sem precisar armazenar todo o estado do sistema em um determinado ponto. Em relação aos circuitos quânticos mais diretamente, exemplos de avanço recente nos recursos de simulação são 1704.01127 e 1710.05867 (também um super-recente, ainda não publicado, é 1802.06952 ).

(2) De fato, foi demonstrado (ou melhor, fortes evidências foram fornecidas para o fato) que não é possível simular com eficiência a maioria dos circuitos quânticos, ver 1504.07999 .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.