Como programador no matemático / software, estoy tratando de comprender cómo funciona QFT (Quantum Fourier Transformation).
Siguiendo este video de YouTube: https://www.youtube.com/watch?v=wUwZZaI5u0c
Y este blog: https://www.scottaaronson.com/blog/?p=208
Tengo una comprensión básica de cómo puedes calcular / construir el período usando interferencia. Pero al tratar de explicarle esto a un colega me encontré con un problema. Usé los siguientes ejemplos, N = 15, a = 7, por lo que el período que necesitaré para encontrar es r = 4.
El patrón es:
7, 4, 13, 1, 7, 4, 13, 1, 7, 4, 13, 1 (etc)
Si imagino la rueda (como en el video de YouTube) o un reloj (como el blog), puedo ver que el círculo con 4 puntos / reloj con 4 horas crea un patrón constructivo y los otros no.
Pero, ¿qué sucede con un círculo con 2 puntos, o un reloj con 2 horas, esos tendrán la misma magnitud / patrón constructivo que 4? Se repite dos veces más rápido, pero aparte de eso, ¿el mismo resultado?
¿Cómo hace frente QFT a esto?
(Bonificación: ¿Puedes explicar en términos simples sin demasiadas matemáticas complicadas?)
fuente
En su ejemplo, el patrón está hecho por una función de multiplicación modular o circuito f (x) = ax (mod N) Este circuito cuántico y patrón también se proporciona en el manual de IBM Q de IBM Q Experience .
Entonces en un bucle con entrada de inicio 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
El patrón 1 7 4 13 1 se repite cada 4ta vez. Por lo tanto, el circuito se fija para un dado a y mod 15 y siempre devuelve r = 4. Si desea r = 2, necesita otra función multiplicadora
fuente