Por que a Transformada Discreta de Fourier pode ser implementada eficientemente como um circuito quântico?


17

É 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 .N=2nO ( n 2 )O(n2n)O(n2)

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 N

y=DFTx,DFTjk1Nexp(2πiNjk).

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.|xk=1Nxk|k|yk=1Nyk|k

|y=DFT|x=QFT|x.
  1. Uma primeira simplificação parece vir do fato de que, devido à linearidade de QM, podemos nos concentrar nos estados de base |j,j=1,...,N , com a evolução de vetores gerais |x e será disponibilizado gratuitamente.
  2. Se N=2n , pode-se expressar |j na base dois, tendo |j=|j1,...,jn .
  3. No algoritmo QFT padrão, um explora o fato de que a transformação pode ser escrita como
    |j1,...,jn2n/2l=1n[|0+exp(2πi(0.jnl+1jn))|1],
    que pode ser implementado como um circuito quântico na forma
    QFT|j1,...,jn=(k=1nUk)|j1,...,jn,
    que Uk é implementado com O(n) portas elementares.

Suponha que temos agora alguma transformação unitária A e queremos encontrar um circuito implementando eficientemente a transformação quântica equivalente

|y=A|x.
Os dois primeiros truques mencionados acima sempre podem ser aplicados, mas não é trivial quando e como o outro ponto pode ser usado para obter resultados de eficiência, como temos na QFT.

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?


1
A estrutura recursiva do QFT com número de qubits parece contribuir para essa eficiência.
AHusain

Respostas:


12

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,x1,x2,...,xN1{Xk}:=X0,X1,X2,...

Xk=n=0 0N-1xn.e±2πEuknN

Suponha, dado que e .x = ( 1 2 - i - i - 1 + 2 i )N=4x=(12-Eu-Eu-1+2Eu)

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 xXXx

M=1N(11111WW2W31W2W4W61W3W6W9)

onde é . Cada elemento da matriz é basicamente . é simplesmente uma constante de normalização.e - 2 π iW wiJ1e-2πEuNWEuj1N

Por fim, acaba sendo: .1X12(2-2-2Eu-2Eu4+4Eu)

Agora, sente-se um pouco e observe algumas propriedades importantes:

  • Todas as colunas da matriz são ortogonais entre si.M
  • Todas as colunas de têm magnitude .1M1
  • Se você postar multiplicar com um vetor de coluna com muitos zeros (propagação grande), você terminará com um vetor de coluna com apenas alguns zeros (propagação estreita). O inverso também se aplica. (Verifica!)M

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)XNNX


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 .NN/2DFT88W8=1

insira a descrição da imagem aqui

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.jj+4jj+4

insira a descrição da imagem aqui

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 ).jkWjkWj+N/2=-WjWn/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 )W2jkww2N/2jkw2jkDFT(N/2)DFTNf(x). Podemos escrever as manipulações acima como uma equação que calcula o termo jth f ( j ) .f^(j)

insira a descrição da imagem aqui

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.DFTNDFT(N/2)DFT(N/4)N=2nnDFTNNDFT1=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.10QFT(N/2)QFT(N/2)n1

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.jwj10

insira a descrição da imagem aqui

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 ) .wjjkj=2kn1QFTNQFT(N/2)

insira a descrição da imagem aqui

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 logQFT3QFT3QFT2QFT2QFT1RϕQFT2QFTQFTN

i=1log(N)i=log(N)(log(N)+1)/2=O(log2N)

Fontes:

  1. https://en.wikipedia.org/wiki/Discrete_Fourier_transform

  2. https://en.wikipedia.org/wiki/Quantum_Fourier_transform

  3. 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.


Em relação à estrutura recursiva: pode-se considerar isso mais ou menos por definição. Se você quiser falar sobre o dimensionamento de um algoritmo, precisará de uma família de circuitos para entradas de tamanhos diferentes. A maneira como isso é feito normalmente é construir o circuito para o tamanho n + 1 fora do circuito para o tamanho n. alegação de que é uma coisa fácil de fazer)
DaftWullie

@DaftWullie "O que eu realmente não estou vendo aqui é um insight que possa dar alguma orientação em relação a outros possíveis algoritmos (não que eu afirme que seja uma coisa fácil de fazer)" Bem, sim! Eu também tenho pensado nisso. Esta é mais uma resposta preliminar. Acrescentarei mais quando aprender um pouco mais (e quando tiver mais tempo livre). Eu ficaria muito feliz em ver respostas alternativas para esta pergunta. :-)
Sanchayan Dutta

Só porque você tem uma sequência de problemas, não significa que se dê o algoritmo para o próximo (e muito menos). É típico porque normalmente pensamos em funções agradáveis. Ser recursivo de maneira tão simples é propriedade de uma sequência de problemas. Aqui o que eu quero dizer é que existe uma fatoração . Usando esta pergunta para diagnosticar se uma sequência U tem as mesmas propriedades de eficácia. Un=Un1xU
AHusain

Oi, no QFT é assumido implicitamente que um vetor de entrada x_classical, digamos 8 x 1, é amplitude codificada com 3 qubits? Então as operações QFT são feitas nos qubits codificados? Além disso, você pode elaborar "... e recombinar o ímpar e o par adequadamente aplicando o Hadamard no bit menos significativo".
Abdullah Ash- Saki

10

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:

F2n=12nk,x{0,1}nexp(iQ(k,x))|kx|,
Q(z)=1jk2nθj,kzjzk2n
θj,k={π/22njk,if 1jn<k2nj+10,otherwise.
  1. f:{1,2,...,n}{n+1,n+2,...,2n}θj,k=π1jnf(j)=2n-j+1
  2. 1h,jnθh,f(j)0 0θj,f(h)=0 0

z=(k,x){0,1}2nf(1,2,,n)(f(1),f(2),,f(n))exp(iθj,k)f serve para garantir que esses portões de fase controlada possam receber uma ordem de tempo bem definida.

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).


Não tenho certeza se entendi completamente. Você está dizendo que qualquer evolução representada como uma expansão de forma quadrática com uma forma quadrática que satisfaça essas duas condições pode ser implementada com eficiência? Muito interessante
glS

@gIS: sim, e além disso a estrutura é essencialmente a mesma do circuito Coppersmith QFT (ou melhor, o fato de o QFT ter essa forma é o motivo pelo qual a estrutura do circuito Coppersmith é suficiente para realizar o QFT).
Niel de Beaudrap

8

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" .

Ggf(g)KGkgGkKf(g)=f(gk)KGnK{0,s}

log|G|G{0,1}n,s


Mais alguns detalhes

|0 0|0 0

1|G|gG|g|0 0,
1|G|g|g|f(g)=1|G|gKkK|gk|f(g),
KKGKf(g)
1|K|gKk,kK|gkgk|.
G
|K||G|gK|gg|.
|gK|K|/|G|KK

3

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 .


interessante, obrigado. Você poderia incluir um esboço do argumento na resposta, se possível?
glS 21/05/19

1
O que eu apresentei já é a minha versão de um "esboço". Se você quiser mergulhar mais profundamente, com equações e imagens, é melhor ir para o ref arXiv dada no final
rrtucci
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.