A resposta curta
Os computadores quânticos são capazes de executar sub-rotinas de um algoritmo para fatoração, exponencialmente mais rápido que qualquer equivalente clássico conhecido. Isso não significa que os computadores clássicos NÃO PODEM fazê-lo rápido também, mas atualmente não sabemos como os algoritmos clássicos funcionam tão eficientemente quanto os algoritmos quânticos
A resposta longa
Os computadores quânticos são bons em transformações discretas de Fourier. Há muita coisa em jogo aqui que não é capturada apenas por " é paralelo " ou " é rápido ", então vamos entrar no sangue da besta.
O problema de fatoração é o seguinte: Dado um número onde p , q são primos, como você recupera p e q ? Uma abordagem é observar o seguinte:N=pqp,qpq
Se eu olhar para um número , então x compartilha um fator comum com N ou não.xmodNxN
Se compartilha um fator comum e não é um múltiplo de N , então podemos facilmente perguntar quais são os fatores comuns de x e N (através do algoritmo euclidiano para obter os maiores fatores comuns).xNxN
Agora, um fato não tão óbvio: o conjunto de todos os que não compartilham um fator comum com N forma um grupo multiplicativo N mod . O que isso significa? Você pode olhar para a definição de um grupo na Wikipedia aqui . Seja a operação do grupo multiplicação para preencher os detalhes, mas tudo o que realmente importa aqui é a seguinte consequência dessa teoria que é: a sequênciaxNmodN
x0modN,x1modN,x2modN,...
é periódico, quando não compartilham fatores comuns (tente x = 2 , N = 5 ) para vê-lo em primeira mão como:x,Nx=2N=5
1mod5=1,4mod5=4,8mod5=3,16mod5=1.
Agora, quantos números naturais menos que N não compartilham nenhum fator comum com N ? Isso é respondido pela função totiente de Euler , é ( p - 1 ) ( q - 1 )xNN(p−1)(q−1) .
Por fim, tocando no assunto da teoria de grupos, o comprimento das cadeias repetidas
x0modN,x1modN,x2modN,...
divide esse número . Então, se você conhece o período de sequências de potências de x(p−1)(q−1) então você pode começar a adivinhar o que é ( p - 1 ) ( q - 1 ) . Além disso, se você sabe o que ( p - 1 ) ( q - 1 ) é e o que p q é (isso é N, não esqueça!), Então você tem 2 equações com 2 incógnitas, que podem ser resolvidas através da álgebra elementar para: separado p , q .xNmod5(p−1)(q−1)(p−1)(q−1)pqp,q
Onde os computadores quânticos entram? A descoberta do período. Existe uma operação chamada transformação de Fourier, que assume uma função escrita como uma soma das funções periódicas a 1 e 1 + a 2 e 2 . . . onde um i são números, um e i são funções periódicas período p i e mapeia para uma nova função f tal que f ( P i ) = um i .ga1e1+a2e2...aieipif^f^(pi)=ai
A computação da transformação de Fourier é geralmente introduzida como uma integral, mas quando você deseja aplicá-la a uma matriz de dados (o i- ésimo elemento da matriz é ), você pode usar esta ferramenta chamada Transformação Discreta de Fourier, que equivale a multiplicar sua "matriz" como se fosse um vetor, por uma matriz unitária muito grande.f(I)
Ênfase na palavra unitário: é uma propriedade realmente arbitrária descrita aqui . Mas o principal argumento é o seguinte:
No mundo da física, todos os operadores obedecem ao mesmo princípio matemático geral: unitariedade .
Então isso significa que não é razoável replicar essa operação da matriz DFT como um operador quântico.
Agora, aqui é onde fica mais profundo um Qubit Array pode representar 2 n possíveis elementos do array (consulte qualquer lugar on-line para obter uma explicação sobre isso ou solte um comentário).n2n
Da mesma forma, um operador quântico Qubit pode atuar em todo esse espaço quântico de 2 n e produzir uma resposta que possamos interpretar.n2n
Veja este artigo da Wikipedia para mais detalhes.
Se pudermos fazer essa transformação de Fourier em um conjunto de dados exponencialmente grande, usando apenas Qubits, poderemos encontrar o período muito rapidamente.n
Se conseguirmos encontrar o período muito rapidamente, podemos montar rapidamente uma estimativa para (p−1)(q−1)
Se pudermos fazer isso rápido, dado o nosso conhecimento de , podemos dar uma facada na verificação de p , q .N=pqp,q
É o que está acontecendo aqui, em um nível muito alto.