Deixe-me tentar dar uma resposta não convencional a esta pergunta:
As a non-mathematician/software programmer I'm trying to grasp
how QFT (Quantum Fourier Transformation) works.
Suponha que tenhamos um computador quântico capaz de manipular qubits. on estado quântico de um computador quântico descreve precisamente o estado atual desse computador quântico. É bem sabido que podemos expressar esse estado quântico como um vetor de números complexos. Vamos tentar visualizar esses números complexos de maneira compacta.2n
Para esse fim, considere uma linha horizontal, na qual pontos são representados. Eles são rotulados de acordo com a respectiva posição na linha, ou seja, o primeiro ponto é rotulado com | 0 ⟩ , e os últimos pontos é rotulado por | 2 n -2n| 0⟩| 2n- 1 ⟩
Agora, tente imaginar que em todos os pontos, descritos acima, essa linha perfura um círculo de raio no meio. Ou seja, existem 212n
nn×11
×
33
3| 0⟩1| 0⟩
A questão agora é o que acontece com o estado quântico quando aplicamos a Transformada quântica de Fourier. Acontece que, quando a Transformada quântica de Fourier é aplicada ao estado mostrado acima, o estado resultante do sistema quântico se torna:
1 / 8-√ .
| 1⟩
Agora, se aplicarmos a Transformada quântica de Fourier, o estado resultante se tornará:
Podemos ver que o estado resultante se torna algum tipo de formato de hélice. Além disso, observe que, se adicionarmos um círculo extra à direita do estado mais à direita, a hélice concluirá exatamente uma revolução.
| j⟩j| 3⟩
3
j| j⟩ , que é o sentido oposto a partir do mapeamento foi considerado antes.
É essa idéia que é o componente crucial no algoritmo de Shor. A idéia central é pegar a sequência de números que você descreve:
7, 4, 13, 1, 7, 4, 13, 1, 7, 4, 13, 1 (etc)
| 4⟩ , isto é, o período desta sequência.
NOTA 1: Há muitos detalhes que pulei no parágrafo final. Porém, esta resposta já contém muitas informações, as quais acho que precisam ser aprofundadas antes que se possa tentar adicionar esses detalhes à imagem. Se alguém quiser que eu adicione esses detalhes, talvez eu o faça posteriormente.
2n
No seu exemplo, o padrão é feito por uma função de multiplicação modular ou circuito f (x) = ax (mod N) Esse padrão e circuito quântico também é fornecido no manual IBM Q do IBM Q Experience .
Então, em um loop com entrada inicial x = 1
x = 1 f (x) = 7 * 1 (mod 15) = 7
x = 7 f (x) = 7 * 7 (mod 15) = 4
x = 4 => 13
x = 13 => 1
O padrão 1 7 4 13 1 é repetido a cada quarta vez. Portanto, o circuito é fixo para um dado a e mod 15 e sempre retorna r = 4. Se você deseja r = 2, precisa de outra função multiplicadora
fonte