Explicação simplificada da transformação Shor / QFT como tachinha

9

Como programador não-matemático / software, estou tentando entender como o QFT (Quantum Fourier Transformation) funciona.

Após este vídeo do YouTube: https://www.youtube.com/watch?v=wUwZZaI5u0c

E este post do blog: https://www.scottaaronson.com/blog/?p=208

Eu tenho um entendimento básico de como você pode calcular / construir o período usando interferência. Mas, ao tentar explicar isso a um colega, tive um problema. Eu usei os exemplos a seguir, N = 15, a = 7, então o período que preciso encontrar é r = 4.

O padrão é: 7, 4, 13, 1, 7, 4, 13, 1, 7, 4, 13, 1 (etc)

Se eu imaginar a roda (como no vídeo do YouTube) ou um relógio (como o post do blog), posso ver que o círculo com 4 pontos / relógio com 4 horas cria um padrão construtivo e os outros não.

Mas o que acontece com um círculo com 2 pontos ou um relógio com 2 horas, eles terão a mesma magnitude / padrão construtivo que 4? Loops duas vezes mais rápido, mas fora isso, o mesmo resultado?

Como o QFT lida com isso?

(Bônus: você pode explicar em termos leigos, sem muita matemática complicada?)

Roy van Rijn
fonte

Respostas:

7

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 0|2n-1

insira a descrição da imagem aqui

Agora, tente imaginar que em todos os pontos, descritos acima, essa linha perfura um círculo de raio no meio. Ou seja, existem 212n

insira a descrição da imagem aqui

nn×11

insira a descrição da imagem aqui

×

33

3|0 01|0 0

insira a descrição da imagem aqui

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:

insira a descrição da imagem aqui

1/8 .

|1

insira a descrição da imagem aqui

Agora, se aplicarmos a Transformada quântica de Fourier, o estado resultante se tornará:

insira a descrição da imagem aqui

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.

|jj|3

insira a descrição da imagem aqui

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

Arriopolis
fonte
Obrigado pela resposta, eu entendo o que você está dizendo, isso é consistente com o que eu sabia sobre as transformações de Fourier (e o inverso). Acho que as histórias sobre relógios e magnutídeos me confundiram mais do que deveria. Vou adotar essa abordagem diferente para explicar Shor!
Roy van Rijn
2

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 .

insira a descrição da imagem aqui

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

Bram
fonte