É um resultado bem conhecido que a Transformada Discreta de Fourier (DFT) de tem complexidade com o algoritmo mais conhecido , enquanto executa a transformação de Fourier das amplitudes de um estado quântico, com o algoritmo QFT clássico , requer apenas portas elementares .O ( n 2 )
Existe alguma razão conhecida para que esse seja o caso? Com isso, quero dizer se existem características conhecidas da DFT que tornam possível implementar uma "versão quântica" eficiente dela.
Com efeito, um DFT mais de vectores de dimensão pode ser pensada como a operação linear
A "versão quântica" deste problema é a tarefa de, dado um estado quântico , obtendo o estado de saída modo que | \ boldsymbol y \ rangle = \ nome do operador {DFT} | \ boldsymbol x \ rangle = \ nome do operador {QFT} | \ boldsymbol x \ rangle.
- Uma primeira simplificação parece vir do fato de que, devido à linearidade de QM, podemos nos concentrar nos estados de base , com a evolução de vetores gerais e será disponibilizado gratuitamente.
- Se , pode-se expressar na base dois, tendo .
- No algoritmo QFT padrão, um explora o fato de que a transformação pode ser escrita como
que pode ser implementado como um circuito quântico na formaque é implementado com portas elementares.
Suponha que temos agora alguma transformação unitária e queremos encontrar um circuito implementando eficientemente a transformação quântica equivalente
Existem critérios conhecidos para que isso seja verdade? Ou, em outras palavras, é possível definir com precisão quais são as características da DFT que possibilitam implementar eficientemente a transformação quântica associada?
Respostas:
Introdução à transformação Clássica Discreta de Fourier:
A DFT transforma uma sequência de números complexos em outra sequência de números complexos que é definido por Podemos multiplicar por constantes de normalização adequadas conforme necessário. Além disso, a escolha do sinal de mais ou menos na fórmula depende da convenção escolhida.{ x n } : = x 0 , x 1 , x 2 , . . . , X N - 1 { X k } : = X 0 , X 1 , X 2 , . . . X k = N - 1 ∑ n = 0 x n . e ± 2 π i kN { xn} : = x0 0, x1, x2,...,xN−1 {Xk}:=X0,X1,X2,...
Suponha, dado que e .x = ( 1 2 - i - i - 1 + 2 i )N=4 x=⎛⎝⎜⎜⎜12−i−i- 1+2i⎞⎠⎟⎟⎟
Precisamos encontrar o vetor da coluna . O método geral já é mostrado na página da Wikipedia . Mas vamos desenvolver uma notação matricial para o mesmo. pode ser facilmente obtido multiplicando previamente pela matriz:X xX X x
onde é . Cada elemento da matriz é basicamente . é simplesmente uma constante de normalização.e - 2 π iW wiJ1e- 2πEuN Weu j 1N√
Por fim, acaba sendo: .1X 12⎛⎝⎜⎜⎜2- 2 - 2 i- 2 i4 + 4 i⎞⎠⎟⎟⎟
Agora, sente-se um pouco e observe algumas propriedades importantes:
Pode-se notar muito simplesmente que a DFT clássica tem uma complexidade de tempo . Isso ocorre porque, para obter todas as linhas de , operações precisam ser executadas. E há linhas em .X N N XO ( N2) X N N X
A transformação Fourier rápida:
Agora, vejamos a transformação rápida de Fourier. A transformação rápida de Fourier usa a simetria da transformação de Fourier para reduzir o tempo de computação. Simplificando, reescrevemos a transformação de Fourier do tamanho como duas transformadas de Fourier do tamanho N / 2 - os termos ímpares e pares. Repetimos isso repetidamente para reduzir exponencialmente o tempo. Para ver como isso funciona em detalhes, nos voltamos para a matriz da transformação de Fourier. Enquanto analisamos isso, pode ser útil ter o DFT 8 na sua frente para dar uma olhada. Observe que os expoentes foram escritos no módulo 8 , pois w 8 = 1 .N N/ 2 DFT8 8 W8= 1
Observe como a linha é muito semelhante à linha j + 4 . Observe também como a coluna j é muito semelhante à coluna j + 4 . Motivados por isso, vamos dividir a transformação de Fourier em suas colunas pares e ímpares.j j + 4 j j + 4
No primeiro quadro, temos representado toda a transformada de Fourier da matriz por descrever o th fileira e k ésima coluna: w j k . No próximo quadro, separamos as colunas ímpares e pares e, da mesma forma, o vetor que deve ser transformado. Você deve se convencer de que a primeira igualdade é realmente uma igualdade. No terceiro quadro, adicionamos um pouco de simetria ao notar que w j + N / 2 = - w j (desde que w n / 2 = - 1 ).j k Wj k Wj+N/2=−wj wn/2=−1
Observe que o lado ímpar e o lado par contêm o termo . Mas se w é a raiz Nth primitiva da unidade, em seguida, w 2 é a primitiva N / 2 nd raiz da unidade. Portanto, as matrizes cuja entrada j , k é w 2 j k são realmente apenas DFT ( N / 2 ) ! Agora podemos escrever DFT N de uma nova maneira: Agora, suponha que estamos calculando a transformação de Fourier da função f ( x )w2jk w w2 N/2 j k w2jk DFT(N/2) DFTN f(x) . Podemos escrever as manipulações acima como uma equação que calcula o termo jth f ( j ) .f^(j)
Nota: QFT na imagem significa apenas DFT neste contexto. Além disso, M se refere ao que estamos chamando de N.
Isso transforma nosso cálculo de em duas aplicações de DFT ( N / 2 ) . Podemos transformar isso em quatro aplicações de DFT ( N / 4 ) e assim por diante. Enquanto N = 2 n para alguns n , podemos decompor nosso cálculo de DFT N em N cálculos de DFT 1 = 1 . Isso simplifica bastante nosso cálculo.DFTN DFT(N/2) DFT(N/4) N=2n n DFTN N DFT1=1
No caso da transformação Fourier rápida, a complexidade do tempo reduz para (tente provar isso sozinho). Esta é uma grande melhoria em relação ao DFT clássico e praticamente o algoritmo de última geração usado nos sistemas de música modernos como o seu iPod!O(Nlog(N))
A transformada quântica de Fourier com portas quânticas:
A força da FFT é que somos capazes de usar a simetria da transformada discreta de Fourier para nossa vantagem. A aplicação de circuito do QFT usa o mesmo princípio, mas devido ao poder da superposição, o QFT é ainda mais rápido.
A QFT é motivada pela FFT, portanto, seguiremos os mesmos passos, mas como este é um algoritmo quântico, a implementação das etapas será diferente. Ou seja, primeiro tomamos a transformada de Fourier das partes ímpares e pares e, em seguida, multiplicamos os termos ímpares pela fase .wj
Em um algoritmo quântico, o primeiro passo é bastante simples. Os termos ímpares e pares estão juntos em superposição: os termos ímpares são aqueles cujo bit menos significativo é e o par com 0 . Portanto, podemos aplicar QFT ( N / 2 ) aos termos pares e ímpares juntos. Para fazer isso, aplicamos: simplesmente aplicaremos QFT ( N / 2 ) aos bits n - 1 mais significativos e recombinaremos o ímpar e o mesmo apropriadamente, aplicando o Hadamard ao bit menos significativo.1 0 QFT(N/2) QFT(N/2) n−1
Agora, para realizar a multiplicação de fases, precisamos multiplicar cada termo ímpar pela fase w j . Mas lembre-se, um número ímpar em binário termina com 1 enquanto um par termina com 0 . Assim, podemos usar o deslocamento de fase controlado, onde o bit menos significativo é o controle, para multiplicar apenas os termos ímpares pela fase sem fazer nada nos termos pares. Lembre-se de que a mudança de fase controlada é semelhante à porta CNOT, na medida em que apenas aplica uma fase ao destino se o bit de controle for um.j wj 1 0 0
Nota: Na imagem M refere-se ao que estamos chamando de N.
A fase associada a cada mudança de fase controlada deve ser igual a onde j está associado ao k -ésimo bit por j = 2 k . Portanto, aplique a mudança de fase controlada a cada um dos primeiros n - 1 qubits, com o bit menos significativo que o controle. Com a mudança de fase controlada e a transformação Hadamard, o QFT N foi reduzido para QFT ( N / 2 ) .Wj j k j = 2 k n - 1 QFTN QFT( N/ 2)
Nota: Na imagem, M se refere ao que estamos chamando de N.
Exemplo:
Vamos construir . Seguindo o algoritmo, transformaremos o QFT 3 em QFT 2 e em algumas portas quânticas. Continuando assim, transformamos o QFT 2 em QFT 1 (que é apenas um portão Hadamard) e mais alguns portões. As portas de fase controlada serão representadas por R ϕ . Em seguida, execute outra iteração para se livrar do QFT 2 . Agora você deve conseguir visualizar o circuito para QFT em mais qubits facilmente. Além disso, você pode ver que o número de portas necessárias para a realização QFT N é preciso é exatamente logQFT3 QFT3 QFT2 QFT2 QFT1 Rϕ QFT2 QFT QFTN
Fontes:
https://en.wikipedia.org/wiki/Discrete_Fourier_transform
https://en.wikipedia.org/wiki/Quantum_Fourier_transform
Mecânica Quântica e Computação Quântica MOOC (UC BerkeleyX) - Notas de aula: Capítulo 5
PS: Esta resposta está em sua versão preliminar. Como o @DaftWillie menciona nos comentários, ele não entra muito em " qualquer insight que possa dar alguma orientação em relação a outros possíveis algoritmos ". Encorajo respostas alternativas à pergunta original. Pessoalmente, preciso ler um pouco e procurar recursos para poder responder a esse aspecto da pergunta.
fonte
Uma resposta possível para entender por que a QFT é eficiente é a estrutura de seus coeficientes. Para ser preciso, podemos representá-lo facilmente como uma expansão de forma quadrática , que é uma soma de caminhos que possuem fases dadas por uma função quadrática:
Existem condições mais gerais que poderíamos descrever para quando uma expansão de forma quadrática dá origem a um circuito realizável, ao longo de linhas semelhantes. O descrito acima descreve um dos casos mais simples, nos quais não há índices na soma, exceto aqueles para a base padrão dos estados de entrada e saída (nesse caso, os coeficientes da unidade unitária associada todos têm a mesma magnitude).
fonte
Isso está se desviando um pouco da pergunta original, mas espero fornecer um pouco mais de insight que possa ser relevante para outros problemas.
Alguém pode perguntar "O que é a descoberta de pedidos que se presta a uma implementação eficiente em um computador quântico?". A descoberta de pedidos é o principal componente dos algoritmos de fatoração e inclui a transformação de Fourier como parte dela.
O interessante é que você pode colocar coisas como a busca de pedidos e o problema de Simon, em um contexto geral chamado "Problema de subgrupo oculto" .
Mais alguns detalhes
fonte
Uma das muitas construções possíveis que dão uma idéia dessa questão, pelo menos para mim, é a seguinte. Usando o CSD (decomposição cosseno-seno), você pode expandir qualquer operador unitário em um produto de portas eficientes V que se encaixam perfeitamente em um padrão de árvore binária. No caso da QFT, essa árvore binária é recolhida em um único ramo da árvore, todos os V que não estão no ramo são 1.
Ref: Quantum Fast Fourier Transform, visto por mim mesmo como um caso especial de aplicação recursiva de decomposição cosseno-seno .
fonte