Transformada Quântica de Fourier

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Na computação quântica, a transformada de Fourier quântica (abreviadamente: QFT) é uma transformação linear em bits quânticos e é o análogo quântico da transformada discreta inversa de Fourier . A transformada de Fourier quântica é uma parte de muitos algoritmos quânticos, notavelmente o algoritmo de Shor para fatorar e calcular o logaritmo discreto, o algoritmo de estimativa de fase quântica para estimar os valores próprios de um operador unitário e algoritmos para o problema do subgrupo oculto . A transformada quântica de Fourier foi inventada por Don Coppersmith .[1]

A transformada quântica de Fourier pode ser realizada de forma eficiente em um computador quântico, com uma decomposição particular em um produto de matrizes unitárias mais simples. Usando uma decomposição simples, a transformada discreta de Fourier em 2n amplitudes podem ser implementadas como um circuito quântico consistindo apenas em O(n2) Portões Hadamard e portões de mudança de fase controlada, onde n é o número de qubits.[2] Isso pode ser comparado com a transformada discreta de Fourier clássica, que leva O(n2n) portões (onde n é o número de bits), que é exponencialmente maior que O(n2) . No entanto, a transformada de Fourier quântica atua em um estado quântico, enquanto a transformada de Fourier clássica atua em um vetor, portanto, nem toda tarefa que usa a transformada de Fourier clássica pode tirar vantagem dessa aceleração exponencial. 

Os melhores algoritmos de transformada quântica de Fourier conhecidos (no final de 2000) exigem apenas O(nlogn) portas para conseguir uma aproximação eficiente.[3]

Definição

A transformada de Fourier quântica é a transformada de Fourier discreta clássica aplicada ao vetor de amplitudes de um estado quântico, onde geralmente consideramos vetores de comprimento N=2n .

A transformada de Fourier clássica atua em um vetor (x0,x1,,xN1)N e mapeia para o vetor (y0,y1,,yN1)N de acordo com a fórmula:

yk=1Nn=0N1xnωNkn,k=0,1,2,,N1,

Onde ωN=e2πiN e ωNn é um N th raiz da unidade .

Da mesma forma, a transformada quântica de Fourier atua em um estado quântico |x=i=0N1xi|i e mapeia para um estado quântico i=0N1yi|i de acordo com a fórmula:

yk=1Nn=0N1xnωNnk,k=0,1,2,,N1,

(As convenções para o sinal do expoente do fator de fase variam; aqui usamos a convenção de que a transformada de Fourier quântica tem o mesmo efeito que a transformada de Fourier discreta inversa e vice-versa. )

Desde a ωNn é uma rotação, a transformada quântica inversa de Fourier age de forma semelhante, mas com:

xn=1Nk=0N1ykωNnk,n=0,1,2,,N1,

Em caso de |x é um estado básico, a transformada quântica de Fourier também pode ser expressa como o mapa

QFT:|x1Nk=0N1ωNxk|k.

Equivalentemente, a transformada de Fourier quântica pode ser vista como uma matriz unitária (ou uma porta quântica, semelhante a uma porta lógica booleana para computadores clássicos) agindo em vetores de estado quântico, onde a matriz unitária FN É dado por

FN=1N[111111ωω2ω3ωN11ω2ω4ω6ω2(N1)1ω3ω6ω9ω3(N1)1ωN1ω2(N1)ω3(N1)ω(N1)(N1)]

Onde ω=ωN . Obtemos, por exemplo, no caso de N=4=22 e fase ω=i a matriz de transformação

F4=12[11111i1i11111i1i]

Propriedades

Unidade

A maioria das propriedades da transformada de Fourier quântica resulta do fato de ser uma transformação unitária . Isso pode ser verificado executando a multiplicação da matriz e garantindo que a relação FF=FF=I detém onde F é o anexo hermitiano de F . Alternativamente, pode-se verificar se os vetores ortogonais da norma 1 são mapeados para vetores ortogonais da norma 1.

Da propriedade unitária segue-se que o inverso da transformada quântica de Fourier é o adjunto Hermitiano da matriz de Fourier, assim F1=F . Uma vez que existe um circuito quântico eficiente implementando a transformada quântica de Fourier, o circuito pode ser executado no sentido inverso para realizar a transformada quântica inversa de Fourier. Assim, ambas as transformações podem ser executadas com eficiência em um computador quântico.

Implementação de circuito

As portas quânticas usadas no circuito são a porta de Hadamard e a porta de fase controlada Rm, aqui em termos de

H=12(1111)andRm=(100e2πi2m)

com e2πi2m=ωm=ω(2m) o primitivo 2m -ésima raiz da unidade. O circuito é composto por H portões e a versão controlada de Rm

Circuito quântico para Quantum-Fourier-Transform com n qubits (sem reorganizar a ordem dos estados de saída). Ele usa a notação de fração binária apresentada a seguir.

Todas as operações quânticas devem ser lineares, portanto, basta descrever a função em cada um dos estados básicos e deixar que os estados mistos sejam definidos pela linearidade. Isso é diferente de como as transformadas de Fourier são geralmente descritas. Normalmente descrevemos as transformadas de Fourier em termos de como os componentes dos resultados são calculados em uma entrada arbitrária. É assim que você calcularia a integral do caminho ou mostraria que o BQP está em PP . Mas é muito mais simples aqui (e em muitos casos) apenas explicar o que acontece a um estado de base arbitrário específico, e o resultado total pode ser encontrado por linearidade.

A transformada quântica de Fourier pode ser aproximadamente implementada para qualquer N ; entretanto, a implementação para o caso em que N é uma potência de 2 é muito mais simples. Como já foi dito, assumimos N=2n . Temos a base ortonormal que consiste nos vetores

|0,,|2n1.

Os estados básicos enumeram todos os estados possíveis dos qubits:

|x=|x1x2xn=|x1|x2|xn

onde, com notação de produto tensorial , |xj indica que qubit j está no estado xj, com xj 0 ou 1. Por convenção, o índice de estado básico x ordena os possíveis estados dos qubits lexicograficamente, ou seja, convertendo de binário para decimal desta forma:

x=x12n1+x22n2++xn20.

Também é útil emprestar a notação binária fracionária:

[0.x1xm]=k=1mxk2k.

Por exemplo, [0.x1]=x12 e [0.x1x2]=x12+x222.

Com esta notação, a ação da transformada de Fourier quântica pode ser expressa de forma compacta:

QFT(|x1x2xn)=1N (|0+e2πi[0.xn]|1)(|0+e2πi[0.xn1xn]|1)(|0+e2πi[0.x1x2xn]|1)
QFT(|x1x2xn)=1N (|0+ω1'[xn]|1)(|0+ω2'[xn1xn]|1)(|0+ωn'[x1...xn1xn]|1).

onde usamos:

[0.x1x2...xm]=[x1x2...xn]/2m e ωm=ω(2m)=e2πi/2m.

Isso pode ser visto reescrevendo a fórmula para a transformada de Fourier na expansão binária:

QFT(|x)=1Nk=02n1ωNxk|k=1Nk1{0,1}k2{0,1}kn{0,1}ωNxj=1nkj2nj|k1k2kn

=1Nk1{0,1}k2{0,1}kn{0,1}j=1nωNxkj2nj|kj=1Nk1{0,1}k2{0,1}kn{0,1}ωNxk12n1|k1j=2nωNxkj2nj|kj

=1N(k1{0,1}ωNxk12n1|k1)k2{0,1}kn{0,1}ωNxk22n2|k2j=3nωNxkj2nj|kj

=1N(k1{0,1}ωNxk12n1|k1)(k2{0,1}ωNxk22n2|k2)k3{0,1}kn{0,1}ωNxk32n3|k3j=4nωNxkj2nj|kj=

=1Nj=1nkj{0,1}ωNxkj2nj|kj=1Nj=1n(|0+ωNx2nj|1).

Agora:

ωNx2nj=e2πi2nx2nj=e2πi(x2j)          (2) .

Deixei f(j)=x2j=2jr=1nxr2nr=r=1nxr2njr=r=1njxr2njr+r=nj+1nxr2njr=a(j)+b(j);

então a(j) ϵ 0, Porque 2njr0, para  njr0, e b(j)=0.xnj+1xnj+2xn, Então, o (2) torna-se:

e2πif(j)=e2πi(a(j)+b(j))=e2πia(j)e2πib(j)=e2πi[0.xnj+1xnj+2xn],

Desde a e2πia(j)=(e2πi)a(j)=1 para todos j .

Então podemos escrever:

QFT(|x1x2xn)=1Nj=1n(|0+ωNx2nj|1)=1Nj=1n(|0+e2πi[0.xnj+1xnj+2xn]|1)

=1N(|0+e2πi[0.xn]|1)(|0+e2πi[0.xn1xn]|1)(|0+e2πi[0.x1x2xn]|1).

Para obter esse estado do circuito descrito acima, uma operação de troca dos qubits deve ser realizada para inverter sua ordem. No máximo n/2 são necessárias trocas, cada uma sendo realizada usando três portas NOT (C-NOT) controladas.[2]

Após a reversão, o n- ésimo qubit de saída estará em um estado de superposição de |0 e e2πi[0.x1...xn]|1, e da mesma forma os outros qubits antes disso (dê uma segunda olhada no esboço do circuito acima).

Em outras palavras, a transformada discreta de Fourier, uma operação em n qubits, pode ser fatorada no produto tensorial de n operações de um único qubit, sugerindo que ela é facilmente representada como um circuito quântico (até uma inversão de ordem da saída). Na verdade, cada uma dessas operações de qubit único pode ser implementada de forma eficiente usando uma porta Hadamard e portas de fase controladas . O primeiro termo requer um portão Hadamard e (n1) portas de fase controlada, a próxima requer uma porta Hadamard e (n2) porta de fase controlada, e cada termo seguinte requer uma porta de fase controlada a menos. Somando o número de portas, excluindo as necessárias para a reversão da saída, dá n+(n1)++1=n(n+1)/2=O(n2) gates, que é polinomial quadrático no número de qubits.

Exemplo

Considere a transformada de Fourier quântica em 3 qubits. É a seguinte transformação:

QFT:|x123k=0231ω3'xk|k,

Onde ω3=ω(23) é uma oitava raiz primitiva de unidade que satisfaz ω3'8=(e2πi23)8=1 (Desde a N=23=8 )

Resumindo, configuração ω=ω3=ω8, a representação matricial desta transformação em 3 qubits é:

F23=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω6ω8ω10ω12ω141ω3ω6ω9ω12ω15ω18ω211ω4ω8ω12ω16ω20ω24ω281ω5ω10ω15ω20ω25ω30ω351ω6ω12ω18ω24ω30ω36ω421ω7ω14ω21ω28ω35ω42ω49]=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω61ω2ω4ω61ω3ω6ωω4ω7ω2ω51ω41ω41ω41ω41ω5ω2ω7ω4ωω6ω31ω6ω4ω21ω6ω4ω21ω7ω6ω5ω4ω3ω2ω].

Isso poderia ser simplificado ainda mais usando ω4=1, ω2=i e ω6=i

e então ainda mais dado que ω5=ω, ω3=iω e ω7=iω .

A transformada de Fourier quântica de 3 qubit pode ser reescrita como:

QFT(|x1,x2,x3)=123 (|0+e2πi[0.x3]|1)(|0+e2πi[0.x2x3]|1)(|0+e2πi[0.x1x2x3]|1)
QFT(|x1,x2,x3)=123 (|0+ω1'[x3]|1)(|0+ω2'[x2x3]|1)(|0+ω3'[x1x2x3]|1).

No caso de utilizarmos o circuito obtemos a fatoração em ordem inversa, nomeadamente

|x1,x2,x3123 (|0+ω3'[x1x2x3]|1)(|0+ω2'[x2x3]|1)(|0+ω1'[x3]|1).

Aqui usamos notações como:

[0.x1x2x3]=[x1x2x3]/23 e ωm=ω(2m)=e2πi/2m.

No esboço a seguir, temos o respectivo circuito para n=3 (com ordem errada de qubits de saída em relação ao QFT adequado):

QFT para 3 Qubits (sem reorganizar a ordem dos qubits de saída)

Conforme calculado acima, o número de portas usadas é n(n+1)/2 que é igual a 6, para n=3 .

Referências

  • KR Parthasarathy, Lectures on Quantum Computation and Quantum Error Correcting Codes (Indian Statistical Institute, Delhi Centre, junho de 2001)
  • John Preskill, Lecture Notes for Physics 229: Quantum Information and Computation (CIT, setembro de 1998)

Ligações externas