Pular para o conteúdo principal
Este projeto está em fase beta. Encontrou um bug? Abra uma issue no GitHub. Tem uma pergunta ou ideia? Pergunte no Discussions — adoraríamos receber seu feedback!
Como está a qualidade da tradução nesta página?

Procedimento de estimação de fase

A seguir, vamos discutir o procedimento de estimação de fase, que é um algoritmo quântico para resolver o problema de estimação de fase.

Começaremos com um aquecimento de baixa precisão, que explica a intuição básica por trás do método. Em seguida, falaremos sobre a transformada quântica de Fourier, que é uma operação quântica importante usada no procedimento de estimação de fase, bem como sua implementação em circuito quântico. Com a transformada quântica de Fourier em mãos, descreveremos o procedimento de estimação de fase em sua generalidade completa e analisaremos seu desempenho.

Aquecimento: aproximando fases com baixa precisão​

Começaremos com algumas versões simples do procedimento de estimação de fase que fornecem soluções de baixa precisão para o problema de estimação de fase. Isso é útil para explicar a intuição por trás do procedimento geral que veremos um pouco mais adiante na lição.

Usando o phase kickback​

Uma abordagem simples para o problema de estimativa de fase, que nos permite aprender algo sobre o valor θ\theta que buscamos, é baseada no fenômeno de phase kick-back. Como veremos, essa é essencialmente uma versão de um único qubit do procedimento geral de estimativa de fase a ser discutido mais adiante na lição.

Como parte da entrada para o problema de estimativa de fase, temos um circuito quântico unitário para a operação UU. Podemos usar a descrição desse circuito para criar um circuito para uma operação controlada-UU, que pode ser representada como esta figura sugere (com a operação UU, vista como uma porta quântica, à esquerda e uma operação controlada-UU à direita).

Uncontrolled and controlled versions of a unitary operation

Podemos criar um circuito quântico para uma operação controlada-UU primeiro adicionando um qubit de controle ao circuito de UU e, em seguida, substituindo cada porta no circuito de UU por uma versão controlada dessa porta — de modo que nosso novo qubit de controle efetivamente controla cada porta no circuito de UU. Isso requer que tenhamos uma versão controlada de cada porta em nosso circuito, mas sempre podemos construir circuitos para essas operações controladas caso não estejam incluídas em nosso conjunto de portas.

Agora considere o circuito a seguir, onde o estado de entrada ∣ψ⟩\vert\psi\rangle de todos os qubits, exceto o de cima, é um vetor de estado quântico que é autovetor de UU.

A single-qubit circuit for phase-estimation

As probabilidades dos resultados de medição desse circuito dependem do autovalor de UU correspondente ao autovetor ∣ψ⟩\vert\psi\rangle. Vamos analisar o circuito em detalhes para determinar exatamente como.

States of a single-qubit circuit for phase-estimation

O estado inicial do circuito é

∣π0⟩=∣ψ⟩∣0⟩\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

e a primeira porta Hadamard transforma esse estado em

∣π1⟩=∣ψ⟩∣+⟩=12∣ψ⟩∣0⟩+12∣ψ⟩∣1⟩.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

Em seguida, a operação controlada-UU é realizada, o que resulta no estado

∣π2⟩=12∣ψ⟩∣0⟩+12(U∣ψ⟩)∣1⟩.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

Usando a suposição de que ∣ψ⟩\vert\psi\rangle é um autovetor de UU com autovalor λ=e2πiθ\lambda = e^{2\pi i\theta}, podemos alternativamente expressar esse estado da seguinte forma.

∣π2⟩=12∣ψ⟩∣0⟩+e2πiθ2∣ψ⟩∣1⟩=∣ψ⟩⊗(12∣0⟩+e2πiθ2∣1⟩)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

Aqui observamos o fenômeno do phase kickback. É um pouco diferente desta vez do que foi para o algoritmo de Deutsch e o algoritmo de Deutsch-Jozsa porque não estamos trabalhando com uma porta de consulta — mas a ideia é semelhante.

Finalmente, a segunda porta Hadamard é realizada. Após uma pequena simplificação, obtemos esta expressão para esse estado.

∣π3⟩=∣ψ⟩⊗(1+e2πiθ2∣0⟩+1−e2πiθ2∣1⟩)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

A medição, portanto, produz os resultados 00 e 11 com estas probabilidades:

p0=∣1+e2πiθ2∣2=cos⁡2(πθ)p1=∣1−e2πiθ2∣2=sin⁡2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

Aqui está um gráfico das probabilidades para os dois possíveis resultados, 00 e 11, como funções de θ\theta.

Probabilidades de resultado do phase kickback

Naturalmente, as duas probabilidades sempre somam 11. Observe que quando θ=0\theta = 0, o resultado da medição é sempre 00, e quando θ=1/2\theta = 1/2, o resultado da medição é sempre 11. Portanto, embora o resultado da medição não revele exatamente qual é θ\theta, ele nos fornece alguma informação sobre ele — e se nos fosse prometido que ou θ=0\theta = 0 ou θ=1/2\theta = 1/2, poderíamos descobrir pelo circuito qual é o correto sem erro.

Intuitivamente falando, podemos pensar no resultado da medição do circuito como uma estimativa para θ\theta com "um bit de precisão." Em outras palavras, se escrevêssemos θ\theta em notação binária e o arredondássemos para um bit, teríamos um número assim:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

O resultado da medição pode ser visto como uma estimativa para o bit aa. Quando θ\theta não é nem 00 nem 1/21/2, há uma probabilidade não nula de que a estimativa esteja errada — mas a probabilidade de cometer um erro fica cada vez menor conforme nos aproximamos de 00 ou 1/21/2.

É natural perguntar qual papel as duas portas Hadamard desempenham neste procedimento:

  • A primeira porta Hadamard coloca o qubit de controle em uma superposição uniforme de ∣0⟩\vert 0\rangle e ∣1⟩\vert 1\rangle, de modo que quando o phase kickback ocorre, ele acontece para o estado ∣1⟩\vert 1\rangle e não para o ∣0⟩\vert 0\rangle, criando uma diferença de fase relativa que afeta os resultados da medição. Se não fizéssemos isso e o phase kickback produzisse uma fase global, não teria nenhum efeito nas probabilidades de se obter diferentes resultados de medição.

  • A segunda porta Hadamard nos permite aprender algo sobre o número θ\theta através do fenômeno da interferência. Antes da segunda porta Hadamard, o estado do qubit do topo é

    12∣0⟩+e2πiθ2∣1⟩,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    e se fôssemos medir esse estado, obteríamos 00 e 11 cada um com probabilidade 1/21/2, sem aprender nada sobre θ\theta. Ao aplicar a segunda porta Hadamard, porém, fazemos com que o número θ\theta afete as probabilidades de saída.

Dobrando a fase​

O circuito acima usa o fenômeno do phase kickback para aproximar θ\theta com um único bit de precisão. Um bit de precisão pode ser tudo que precisamos em algumas situações — mas para a fatoração vamos precisar de muito mais precisão do que isso. Uma pergunta natural é: como podemos aprender mais sobre θ?\theta?

Uma coisa muito simples que podemos fazer é substituir a operação controlada-UU em nosso circuito por duas cópias dessa operação, como neste circuito:

Estimação de fase de um único bit duplicada

Duas cópias de uma operação controlada-UU são equivalentes a uma operação controlada-U2U^2. Se ∣ψ⟩\vert\psi\rangle é um autovetor de UU com autovalor λ=e2πiθ\lambda = e^{2\pi i \theta}, então esse estado também é um autovetor de U2U^2, desta vez com autovalor λ2=e2πi(2θ)\lambda^2 = e^{2\pi i (2\theta)}.

Portanto, se executarmos esta versão do circuito, estamos efetivamente realizando o mesmo cálculo de antes, exceto que o número θ\theta é substituído por 2θ2\theta. Aqui está um gráfico ilustrando as probabilidades de saída conforme θ\theta varia de 00 a 11.

Probabilidades de resultado do phase kickback duplo

Fazer isso pode de fato nos fornecer informações adicionais sobre θ\theta. Se a representação binária de θ\theta for

θ=0.a1a2a3⋯\theta = 0.a_1 a_2 a_3\cdots

então dobrar θ\theta efetivamente desloca a vírgula binária uma posição para a direita:

2θ=a1.a2a3⋯2\theta = a_1. a_2 a_3\cdots

E como estamos equiparando θ=1\theta = 1 com θ=0\theta = 0 ao percorrer o círculo unitário, vemos que o bit a1a_1 não influencia nossas probabilidades, e estamos efetivamente obtendo uma estimativa para o segundo bit após a vírgula binária se arredondarmos θ\theta para dois bits. Por exemplo, se soubéssemos de antemão que θ\theta era 00 ou 1/41/4, poderíamos confiar totalmente no resultado da medição para nos dizer qual é.

Não é imediatamente claro, porém, como essa estimativa deve ser conciliada com o que aprendemos do circuito original de phase kickback (não dobrado) para nos dar as informações mais precisas possíveis sobre θ\theta. Então, vamos dar um passo atrás e considerar como proceder.

Estimação de fase com dois qubits​

Em vez de considerar as duas opções descritas acima separadamente, vamos combiná-las em um único circuito, assim.

A configuração inicial para estimação de fase com dois qubits

As portas Hadamard após as operações controladas foram removidas e ainda não há medições aqui. Adicionaremos mais ao circuito conforme consideramos nossas opções para aprender o máximo possível sobre θ\theta.

Se executarmos este circuito quando ∣ψ⟩\vert\psi\rangle for um autovetor de UU, o estado dos qubits inferiores permanecerá ∣ψ⟩\vert\psi\rangle durante todo o circuito, e as fases serão "chutadas" para o estado dos dois qubits superiores. Vamos analisar o circuito cuidadosamente, por meio da figura a seguir.

Estados para estimação de fase com dois qubits

Podemos escrever o estado ∣π1⟩\vert\pi_1\rangle assim:

∣π1⟩=∣ψ⟩⊗12∑a0=01∑a1=01∣a1a0⟩.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

Quando a primeira operação controlada-UU é executada, o autovalor λ=e2πiθ\lambda = e^{2\pi i\theta} é kickeado para a fase quando a0a_0 (o qubit do topo) é igual a 11, mas não quando é 00. Assim, podemos expressar o estado resultante dessa forma:

∣π2⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πia0θ∣a1a0⟩.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

As segunda e terceira portas controladas-UU fazem algo semelhante, exceto para a1a_1 em vez de a0a_0, e com θ\theta substituído por 2θ2\theta. Podemos expressar o estado resultante assim:

∣π3⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πi(2a1+a0)θ∣a1a0⟩.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

Se pensarmos na string binária a1a0a_1 a_0 como representando um inteiro x∈{0,1,2,3}x \in \{0,1,2,3\} em notação binária, que é x=2a1+a0x = 2 a_1 + a_0, podemos expressar esse estado de forma alternativa como segue.

∣π3⟩=∣ψ⟩⊗12∑x=03e2πixθ∣x⟩\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

Nosso objetivo é extrair o máximo de informação possível sobre θ\theta a partir desse estado.

Neste ponto, vamos considerar um caso especial, em que nos é prometido que θ=y4\theta = \frac{y}{4} para algum inteiro y∈{0,1,2,3}.y\in\{0,1,2,3\}. Em outras palavras, temos θ∈{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, portanto podemos expressar esse número exatamente em notação binária com dois bits, como .00,00, .01,01, .10,10, ou .11.11. Em geral, θ\theta pode não ser um desses quatro valores, mas pensar nesse caso especial nos ajudará a descobrir como extrair informações sobre θ\theta da forma mais eficaz em geral.

Primeiro, vamos definir um vetor de estado de dois qubits para cada valor possível y∈{0,1,2,3}y \in \{0, 1, 2, 3\}.

∣ϕy⟩=12∑x=03e2πix(y4)∣x⟩=12∑x=03e2πixy4∣x⟩\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

Após simplificar as exponenciais, podemos escrever esses vetores da seguinte forma.

∣ϕ0⟩=12∣0⟩+12∣1⟩+12∣2⟩+12∣3⟩∣ϕ1⟩=12∣0⟩+i2∣1⟩−12∣2⟩−i2∣3⟩∣ϕ2⟩=12∣0⟩−12∣1⟩+12∣2⟩−12∣3⟩∣ϕ3⟩=12∣0⟩−i2∣1⟩−12∣2⟩+i2∣3⟩\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

Esses vetores são ortogonais: se escolhermos qualquer par deles e calcularmos o produto interno, obtemos 00. Cada um é também um vetor unitário, portanto {∣ϕ0⟩,∣ϕ1⟩,∣ϕ2⟩,∣ϕ3⟩}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} é uma base ortonormal. Portanto, sabemos imediatamente que existe uma medição capaz de discriminá-los perfeitamente — o que significa que, se nos for dado um deles sem saber qual, podemos descobrir qual é sem erro.

Para realizar essa discriminação com um circuito quântico, podemos primeiro definir uma operação unitária VV que transforma estados da base padrão nos quatro estados listados acima.

V∣00⟩=∣ϕ0⟩V∣01⟩=∣ϕ1⟩V∣10⟩=∣ϕ2⟩V∣11⟩=∣ϕ3⟩\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

Para escrever VV como uma matriz 4×44\times 4, basta tomar as colunas de VV como os estados ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle.

V=12(11111i−1−i1−11−11−i−1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Esta é uma matriz especial, e é provável que alguns leitores já a tenham encontrado antes: é a matriz associada à transformada discreta de Fourier de dimensão 44. Em vista desse fato, vamos chamá-la pelo nome QFT4\mathrm{QFT}_4 em vez de VV. O nome QFT\mathrm{QFT} é uma abreviação de quantum Fourier transform — que é essencialmente apenas a transformada discreta de Fourier, vista como uma operação unitária. Discutiremos a transformada quântica de Fourier com mais detalhes e generalidade em breve.

QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Podemos aplicar a inversa dessa operação para ir no sentido contrário, transformando os estados ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle de volta nos estados da base padrão ∣0⟩,…,∣3⟩\vert 0\rangle,\ldots,\vert 3\rangle. Se fizermos isso, podemos medir para descobrir qual valor y∈{0,1,2,3}y\in\{0,1,2,3\} descreve θ\theta como θ=y/4\theta = y/4. Aqui está o diagrama de um circuito quântico que faz isso.

Estimação de fase com dois qubits

Para resumir, se executarmos este circuito quando θ=y/4\theta = y/4 para y∈{0,1,2,3}y\in\{0,1,2,3\}, o estado imediatamente antes das medições ocorrerem será ∣ψ⟩∣y⟩\vert \psi\rangle \vert y\rangle (com yy codificado como uma string binária de dois bits), portanto as medições revelarão o valor yy sem erro.

Este circuito é motivado pelo caso especial em que θ∈{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — mas podemos executá-lo para qualquer escolha de UU e ∣ψ⟩\vert \psi\rangle, e portanto para qualquer valor de θ\theta, que desejarmos. Aqui está um gráfico das probabilidades de saída que o circuito produz para escolhas arbitrárias de θ\theta.

Probabilidades de resultado da estimação de fase com dois qubits

Esta é uma melhora clara em relação à variante de um único qubit descrita anteriormente na lição. Não é perfeita — pode nos dar a resposta errada — mas a resposta está fortemente inclinada para valores de yy para os quais y/4y/4 está próximo de θ\theta. Em particular, o resultado mais provável sempre corresponde ao valor de y/4y/4 mais próximo de θ\theta (equiparando θ=0\theta = 0 e θ=1\theta = 1 como antes), e pelo gráfico parece que esse valor mais próximo para xx sempre aparece com probabilidade um pouco acima de 40%40\%. Quando θ\theta está exatamente no meio entre dois desses valores, como θ=0.375\theta = 0.375 por exemplo, os dois valores de yy igualmente próximos são igualmente prováveis.

Preparando-se para generalizar para muitos qubits​

Dada a melhoria que acabamos de obter usando dois qubits de controle em vez de um, em conjunto com a inversa da transformada quântica de Fourier de dimensão 44, é natural considerar generalizá-la ainda mais — adicionando mais qubits de controle. Quando fazemos isso, obtemos o procedimento geral de estimação de fase. Veremos como isso funciona em breve, mas para descrevê-lo com precisão precisaremos discutir a transformada quântica de Fourier com maior generalidade, para ver como ela é definida em outras dimensões e como podemos implementá-la (ou sua inversa) com um circuito quântico.

Transformada Quântica de Fourier​

A transformada quântica de Fourier é uma operação unitária que pode ser definida para qualquer dimensão inteira positiva NN. Nesta seção, veremos como essa operação é definida e como ela pode ser implementada com um circuito quântico em mm qubits com custo O(m2)O(m^2) quando N=2mN = 2^m.

As matrizes que descrevem a transformada quântica de Fourier são derivadas de uma operação análoga em vetores de dimensão NN conhecida como transformada discreta de Fourier. Essa operação pode ser vista de diferentes ângulos. Por exemplo, podemos pensar na transformada discreta de Fourier em termos puramente abstratos e matemáticos, como um mapeamento linear. Ou podemos pensá-la em termos computacionais, onde recebemos um vetor de dimensão NN de números complexos (usando notação binária para codificar as partes real e imaginária das entradas, por exemplo) e o objetivo é calcular o vetor de dimensão NN obtido ao aplicar a transformada discreta de Fourier. Nosso foco será numa terceira abordagem: ver essa transformação como uma operação unitária que pode ser realizada em um sistema quântico.

Existe um algoritmo eficiente para calcular a transformada discreta de Fourier em um vetor de entrada dado, conhecido como transformada rápida de Fourier. Ela tem aplicações em processamento de sinais e em muitas outras áreas, sendo considerada por muitos como um dos algoritmos mais importantes já descobertos. Como veremos, a implementação da transformada quântica de Fourier quando NN é uma potência de 2 se baseia exatamente na mesma estrutura subjacente que torna a transformada rápida de Fourier possível.

Definição da transformada quântica de Fourier​

Para definir a transformada quântica de Fourier, vamos primeiro definir um número complexo ωN\omega_N, para cada inteiro positivo NN, da seguinte forma:

ωN=e2πiN=cos⁡(2πN)+isin⁡(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

Esse é o número no círculo unitário complexo que obtemos partindo de 11 e nos movendo no sentido anti-horário por um ângulo de 2π/N2\pi/N radianos, ou seja, uma fração de 1/N1/N da circunferência do círculo. Aqui estão alguns exemplos:

ω1=1ω2=−1ω3=−12+32iω4=iω8=1+i2ω16=2+22+2−22iω100≈0.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

Agora podemos definir a transformada quântica de Fourier de dimensão NN, descrita por uma matriz N×NN\times N cujas linhas e colunas estão associadas aos estados da base padrão ∣0⟩,…,∣N−1⟩\vert 0\rangle,\ldots,\vert N-1\rangle. Vamos precisar dessa operação apenas quando N=2mN = 2^m é uma potência de 22 para a estimação de fase, mas a operação pode ser definida para qualquer inteiro positivo NN.

QFTN=1N∑x=0N−1∑y=0N−1ωNxy∣x⟩⟨y∣\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

Como já foi dito, essa é a matriz associada à transformada discreta de Fourier de dimensão NN. Frequentemente o fator prefatorial de 1/N1/\sqrt{N} não é incluído na definição dessa matriz, mas precisamos incluí-lo para obter uma matriz unitária.

A seguir temos a transformada quântica de Fourier, escrita como matriz, para alguns valores pequenos de NN.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(111−1)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(1111−1+i32−1−i321−1−i32−1+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i−1+i2−1−1−i2−i1−i21i−1−i1i−1−i1−1+i2−i1+i2−11−i2i−1−i21−11−11−11−11−1−i2i1−i2−11+i2−i−1+i21−i−1i1−i−1i11−i2−i−1−i2−1−1+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

Observe, em particular, que QFT2\mathrm{QFT}_2 é outro nome para a operação de Hadamard.

Unitariedade​

Vamos verificar que QFTN\mathrm{QFT}_N é unitária para qualquer escolha de NN. Uma forma de fazer isso é mostrar que suas colunas formam uma base ortonormal. Podemos definir um vetor correspondente à coluna número yy, começando em y=0y = 0 e indo até y=N−1y = N-1, da seguinte forma:

∣ϕy⟩=1N∑x=0N−1ωNxy∣x⟩.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

Calculando o produto interno entre dois desses vetores quaisquer, obtemos a seguinte expressão:

⟨ϕz∣ϕy⟩=1N∑x=0N−1ωNx(y−z)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

Podemos avaliar somas como essa usando a seguinte fórmula para a soma dos primeiros NN termos de uma série geométrica.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Especificamente, podemos usar essa fórmula quando α=ωNy−z\alpha = \omega_N^{y-z}. Quando y=zy = z, temos α=1\alpha = 1, e aplicando a fórmula e dividindo por NN obtemos

⟨ϕy∣ϕy⟩=1.\langle \phi_y \vert \phi_y \rangle = 1.

Quando y≠zy\neq z, temos α≠1\alpha \neq 1, e a fórmula revela o seguinte:

⟨ϕz∣ϕy⟩=1NωNN(y−z)−1ωNy−z−1=1N1−1ωNy−z−1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

Isso ocorre porque ωNN=e2πi=1\omega_N^N = e^{2\pi i} = 1, logo ωNN(y−z)=1y−z=1\omega_N^{N(y-z)} = 1^{y-z} = 1, tornando o numerador zero, enquanto o denominador é não nulo pois ωNy−z≠1\omega_N^{y-z} \neq 1. Intuitivamente, o que estamos fazendo é somar um conjunto de pontos distribuídos ao longo do círculo unitário — e eles se cancelam, resultando em 00 quando somados.

Estabelecemos, portanto, que {∣ϕ0⟩,…,∣ϕN−1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} é um conjunto ortonormal,

⟨ϕz∣ϕy⟩={1y=z0y≠z,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

o que revela que QFTN\mathrm{QFT}_N é unitário.

Portas de fase controladas​

Para implementar a transformada quântica de Fourier com um circuito quântico, precisaremos usar as portas de fase controlada. Lembre-se de que uma operação de fase é uma operação unitária de um qubit da forma

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

para qualquer número real α\alpha. A versão controlada dessa porta tem a seguinte matriz:

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

Para essa porta controlada, não importa qual qubit é o controle e qual é o alvo, pois as duas possibilidades são equivalentes. Podemos usar qualquer um dos seguintes símbolos para representar essa porta em diagramas de circuito quântico.

Quantum circuit diagram representation for controlled-phase gates

Na terceira forma, o rótulo α\alpha às vezes também é colocado na lateral da linha de controle ou abaixo do controle inferior, quando isso for conveniente.

Para realizar a transformada quântica de Fourier quando N=2mN = 2^m e m≥2m\geq 2, vamos precisar de uma operação em mm qubits cuja ação sobre os estados da base padrão pode ser descrita como

∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

onde aa é um bit e y∈{0,…,2m−1−1}y \in \{0,\ldots,2^{m-1} - 1\} é um número codificado em notação binária como uma cadeia de m−1m-1 bits. Isso pode ser feito usando portas de fase controlada generalizando o exemplo a seguir, para o qual m=5m=5.

Quantum circuit diagram for phase injection

Em geral, para uma escolha arbitrária de m≥2m\geq 2, o qubit do topo, correspondente ao bit aa, pode ser visto como o controle, com as portas de fase PαP_{\alpha} variando de α=π/2m−1\alpha = \pi/2^{m-1} no qubit correspondente ao bit menos significativo de yy até α=π2\alpha = \frac{\pi}{2} no qubit correspondente ao bit mais significativo de yy. Essas portas de fase controlada comutam entre si e podem ser realizadas em qualquer ordem.

Implementação em circuito da QFT​

Agora veremos como implementar a transformada quântica de Fourier com um circuito quando a dimensão N=2mN = 2^m é uma potência de 22. Existem, na verdade, múltiplas formas de implementar a transformada quântica de Fourier, mas essa é indiscutivelmente o método mais simples conhecido. Uma vez que sabemos como implementar a transformada quântica de Fourier com um circuito quântico, implementar sua inversa é direto: basta substituir cada porta por sua inversa (ou, equivalentemente, sua transposta conjugada) e aplicar as portas na ordem inversa. Todo circuito quântico composto apenas de portas unitárias pode ser invertido dessa forma.

A implementação tem natureza recursiva, e por isso é mais natural descrevê-la dessa forma. O caso base é m=1m=1, em que a transformada quântica de Fourier é uma operação de Hadamard.

Para realizar a transformada quântica de Fourier em mm qubits quando m≥2m \geq 2, podemos executar os seguintes passos, cujas ações descreveremos para estados da base padrão da forma ∣x⟩∣a⟩\vert x \rangle \vert a\rangle, onde x∈{0,…,2m−1−1}x\in\{0,\ldots,2^{m-1} - 1\} é um inteiro codificado como m−1m-1 bits em notação binária e aa é um único bit.

  1. Primeiro aplique a transformada quântica de Fourier de dimensão 2m−12^{m-1} aos m−1m-1 qubits inferiores/da esquerda para obter este estado:

    (QFT2m−1∣x⟩)∣a⟩=12m−1∑y=02m−1−1ω2m−1xy∣y⟩∣a⟩.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    Isso é feito aplicando recursivamente o método descrito para um qubit a menos, usando a operação de Hadamard em um único qubit como caso base.

  2. Use o qubit superior/da direita como controle para injetar a fase ω2my\omega_{2^m}^y para cada estado da base padrão ∣y⟩\vert y\rangle dos m−1m-1 qubits restantes (conforme descrito acima) para obter este estado:

    12m−1∑y=02m−1−1ω2m−1xyω2may∣y⟩∣a⟩.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. Aplique uma porta de Hadamard no qubit superior/da direita para obter este estado:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣y⟩∣b⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. Permute a ordem dos qubits de forma que o bit menos significativo se torne o mais significativo, com todos os outros deslocados para cima/direita:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b⟩∣y⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

Por exemplo, aqui está o circuito que obtemos para N=32=25N = 32 = 2^5. Neste diagrama, os qubits recebem nomes que correspondem aos vetores da base padrão ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (para a entrada) e ∣b⟩∣y⟩\vert b\rangle \vert y\rangle (para a saída), para maior clareza.

Quantum circuit diagram for the 32-dimensional quantum Fourier transform

Análise​

A fórmula-chave que precisamos para verificar que o circuito descrito acima implementa a transformada quântica de Fourier de dimensão 2m2^m é a seguinte:

(−1)abω2m−1xyω2may=ω2m(2x+a)(2m−1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

Essa fórmula vale para qualquer escolha de inteiros a,a, b,b, x,x, e y,y, mas só vamos precisar dela para a,b∈{0,1}a,b\in\{0,1\} e x,y∈{0,…,2m−1−1}.x,y\in\{0,\ldots,2^{m-1}-1\}. Ela pode ser verificada expandindo o produto no expoente do lado direito:

ω2m(2x+a)(2m−1b+y)=ω2m2mxbω2m2xyω2m2m−1abω2may=(−1)abω2m−1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

onde a segunda igualdade usa a observação de que

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

A transformada quântica de Fourier de dimensão 2m2^m é definida da seguinte forma para todo u∈{0,…,2m−1}u\in\{0,\ldots,2^m - 1\}.

QFT2m∣u⟩=12m∑v=02m−1ω2muv∣v⟩\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

Se escrevermos uu e vv como

u=2x+av=2m−1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

para a,b∈{0,1}a,b\in\{0,1\} e x,y∈{0,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1} - 1\}, obtemos

QFT2m∣2x+a⟩=12m∑y=02m−1−1∑b=01ω2m(2x+a)(2m−1b+y)∣b2m−1+y⟩=12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b2m−1+y⟩.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

Por fim, pensando nos estados da base padrão ∣x⟩∣a⟩\vert x \rangle \vert a\rangle e ∣b⟩∣y⟩\vert b \rangle \vert y \rangle como codificações binárias de inteiros no intervalo {0,…,2m−1}\{0,\ldots,2^m-1\},

∣x⟩∣a⟩=∣2x+a⟩∣b⟩∣y⟩=∣2m−1b+y⟩,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

vemos que o circuito acima implementa a operação requerida. Se esse método para realizar a transformada quântica de Fourier parece notável, é porque realmente é: trata-se essencialmente da transformada rápida de Fourier na forma de um circuito quântico.

Por fim, vamos contar quantas portas são usadas no circuito descrito. As portas de fase controlada não fazem parte do conjunto de portas padrão que discutimos na lição anterior, mas, por ora, vamos ignorar isso e contar cada uma delas como uma única porta.

Seja sms_m o número de portas necessárias para cada possível escolha de mm. Se m=1m=1, a transformada quântica de Fourier é apenas uma operação de Hadamard, portanto

s1=1.s_1 = 1.

Se m≥2m\geq 2, então no circuito acima precisamos de sm−1s_{m-1} portas para a transformada quântica de Fourier em m−1m-1 qubits, mais m−1m-1 portas de fase controlada, mais uma porta de Hadamard e mais m−1m-1 portas de troca (swap), portanto

sm=sm−1+(2m−1).s_m = s_{m-1} + (2m - 1).

Podemos obter uma expressão em forma fechada somando:

sm=∑k=1m(2k−1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

Na prática, não precisamos de tantas portas de troca quanto o método descreve. Se reorganizarmos um pouco as portas, podemos empurrar todas as portas de troca para a direita e reduzir o número necessário a ⌊m/2⌋\lfloor m/2\rfloor. Assintoticamente, isso não é uma grande melhoria: ainda obtemos circuitos de tamanho O(m2)O(m^2) para realizar QFT2m\mathrm{QFT}_{2^m}.

Se quisermos implementar a transformada quântica de Fourier usando apenas portas do nosso conjunto padrão, precisamos construir ou aproximar cada uma das portas de fase controlada com portas do nosso conjunto. O número necessário depende da precisão requerida, mas como função de mm o custo total permanece quadrático.

De fato, é possível aproximar a transformada quântica de Fourier com bastante precisão usando um número sub-quadrático de portas, aproveitando o fato de que PαP_{\alpha} é muito próxima da operação identidade quando α\alpha é muito pequeno — o que significa que podemos simplesmente omitir a maioria das portas de fase controlada sem perder muita precisão.

Procedimento geral e análise​

Agora vamos examinar o procedimento de estimativa de fase de forma geral. A ideia é estender a versão de dois qubits da estimativa de fase que consideramos acima, da maneira natural sugerida pelo diagrama a seguir.

Procedimento de estimativa de fase

Observe que, para cada novo qubit de controle adicionado no topo, dobramos o número de vezes que a operação unitária UU é executada. Isso é indicado no diagrama pelas potências em UU para cada uma das operações unitárias controladas.

A forma mais direta de implementar uma operação UkU^k controlada para algum valor de kk é simplesmente repetir a operação UU controlada kk vezes. Se essa for de fato a metodologia utilizada, é preciso reconhecer que a adição de qubits de controle contribui significativamente para o tamanho do circuito: se temos mm qubits de controle, como o diagrama mostra, um total de 2m−12^m - 1 cópias da operação UU controlada são necessárias. Isso significa que um custo computacional significativo é incorrido conforme mm aumenta — mas, como veremos, isso também leva a uma aproximação de θ\theta significativamente mais precisa.

É importante notar, entretanto, que para algumas escolhas de UU pode ser possível criar um circuito que implemente a operação UkU^k para valores grandes de kk de forma mais eficiente do que simplesmente repetir kk vezes o circuito para UU. Veremos um exemplo específico disso no contexto da fatoração de inteiros mais adiante na lição, onde o algoritmo eficiente para exponenciação modular discutido na lição anterior entra em cena.

Agora vamos analisar o circuito recém-descrito. O estado imediatamente antes da transformada quântica de Fourier inversa é o seguinte:

12m∑x=02m−1(Ux∣ψ⟩)∣x⟩=∣ψ⟩⊗12m∑x=02m−1e2πixθ∣x⟩.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

Um caso especial​

De maneira semelhante ao que fizemos no caso m=2m=2, vamos primeiro considerar o caso especial em que θ=y/2m\theta = y/2^m para y∈{0,…,2m−1}y\in\{0,\ldots,2^m-1\}. Nesse caso, o estado antes da transformada quântica de Fourier inversa pode ser escrito alternativamente assim:

∣ψ⟩⊗12m∑x=02m−1e2πixy2m∣x⟩=∣ψ⟩⊗12m∑x=02m−1ω2mxy∣x⟩=∣ψ⟩⊗QFT2m∣y⟩.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

Assim, quando a transformada quântica de Fourier inversa é aplicada, o estado se torna

∣ψ⟩∣y⟩\vert\psi\rangle \vert y\rangle

e as medições revelam yy (codificado em binário).

Limitando as probabilidades​

Para outros valores de θ\theta, ou seja, aqueles que não assumem a forma y/2my/2^m para um inteiro yy, os resultados das medições não serão certos, mas podemos provar limites para as probabilidades dos diferentes resultados. A partir de agora, vamos considerar uma escolha arbitrária de θ\theta satisfazendo 0≤θ<10\leq \theta < 1.

Após a transformada quântica de Fourier inversa ser realizada, o estado do circuito é:

∣ψ⟩⊗12m∑y=02m−1∑x=02m−1e2πix(θ−y/2m)∣y⟩.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

Assim, quando as medições nos mm qubits do topo são realizadas, observamos cada resultado yy com probabilidade

py=∣12m∑x=02m−1e2πix(θ−y/2m)∣2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

Para entender melhor essas probabilidades, vamos usar a mesma fórmula que vimos antes, para a soma da porção inicial de uma série geométrica.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Podemos simplificar a soma que aparece na fórmula de pyp_y tomando α=e2πi(θ−y/2m)\alpha = e^{2\pi i (\theta - y/2^m)}. Eis o que obtemos.

∑x=02m−1e2πix(θ−y/2m)={2mθ=y/2me2πi(2mθ−y)−1e2πi(θ−y/2m)−1θ≠y/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

Portanto, no caso em que θ=y/2m\theta = y/2^m, encontramos que py=1p_y = 1 (como já sabíamos ao considerar esse caso especial), e no caso em que θ≠y/2m\theta \neq y/2^m, encontramos que

py=122m∣e2πi(2mθ−y)−1e2πi(θ−y/2m)−1∣2.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

Podemos aprender mais sobre essas probabilidades pensando em como os comprimentos de arco e de corda no círculo unitário se relacionam. Aqui está uma figura que ilustra as relações de que precisamos para qualquer número real δ∈[−12,12]\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Ilustração da relação entre comprimentos de arco e de corda

Primeiro, o comprimento da corda (desenhado em azul) não pode ser maior do que o comprimento do arco (desenhado em roxo):

∣e2πiδ−1∣≤2π∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

Relacionando esses comprimentos na direção oposta, vemos que a razão entre o comprimento do arco e o comprimento da corda é máxima quando δ=±1/2\delta = \pm 1/2, e nesse caso a razão é metade da circunferência do círculo dividida pelo diâmetro, que é π/2\pi/2. Assim, temos

2π∣δ∣∣e2πiδ−1∣≤π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

e portanto

∣e2πiδ−1∣≥4∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Uma análise baseada nessas relações revela os dois fatos a seguir.

  1. Suponha que θ\theta seja um número real e que y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} satisfaça

    ∣θ−y2m∣≤2−(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    Isso significa que y/2my/2^m é ou a melhor aproximação de mm bits para θ\theta, ou está exatamente no meio entre y/2my/2^m e (y−1)/2m(y-1)/2^m ou (y+1)/2m(y+1)/2^m, sendo portanto uma das duas melhores aproximações para θ\theta.

    Vamos provar que pyp_y precisa ser bem grande nesse caso. Pela hipótese que estamos considerando, segue que ∣2mθ−y∣≤1/2\vert 2^m \theta - y \vert \leq 1/2, então podemos usar a segunda observação acima sobre comprimentos de arco e de corda para concluir que

    ∣e2πi(2mθ−y)−1∣≥4∣2mθ−y∣=4⋅2m⋅∣θ−y2m∣.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Também podemos usar a primeira observação sobre comprimentos de arco e de corda para concluir que

    ∣e2πi(θ−y/2m)−1∣≤2π∣θ−y2m∣.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Aplicando essas duas desigualdades a pyp_y, obtemos

    py≥122m16⋅22m4π2=4π2≈0.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    Isso explica nossa observação de que o melhor resultado ocorre com probabilidade maior que 40%40\% na versão m=2m=2 da estimativa de fase discutida anteriormente. Na verdade não é exatamente 40%, é 4/π24/\pi^2, e de fato esse limite vale para qualquer escolha de mm.

  2. Agora suponha que y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} satisfaça

    2−m≤∣θ−y2m∣≤12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    Isso significa que existe uma aproximação melhor z/2mz/2^m para θ\theta entre θ\theta e y/2my/2^m.

    Desta vez, vamos provar que pyp_y não pode ser muito grande. Podemos começar com a observação simples de que

    ∣e2πi(2mθ−y)−1∣≤2,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    o que decorre do fato de que quaisquer dois pontos no círculo unitário podem diferir em valor absoluto em no máximo 22.

    Também podemos usar a segunda observação sobre comprimentos de arco e corda de cima, desta vez trabalhando com o denominador de pyp_y em vez do numerador, para concluir

    ∣e2πi(θ−y/2m)−1∣≥4∣θ−y2m∣≥4⋅2−m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    Juntando as duas desigualdades, revela-se

    py≤122m416⋅2−2m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    Observe que, embora esse limite seja suficiente para nossos propósitos, ele é bastante grosseiro — a probabilidade geralmente é muito menor que 1/41/4.

A conclusão importante dessa análise é que aproximações muito próximas de θ\theta têm probabilidade de ocorrer — obteremos a melhor aproximação de mm bits com probabilidade maior que 40%40\% — enquanto aproximações com erro maior que 2−m2^{-m} são menos prováveis de ocorrer, com probabilidade limitada superiormente por 25%25\%.

Dadas essas garantias, é possível aumentar nossa confiança repetindo o procedimento de estimativa de fase várias vezes, para reunir evidências estatísticas sobre θ\theta. É importante observar que o estado ∣ψ⟩\vert\psi\rangle do conjunto de qubits de baixo não é alterado pelo procedimento de estimativa de fase, então ele pode ser usado para executar o procedimento quantas vezes quisermos. Em particular, cada vez que executamos o circuito, obtemos a melhor aproximação de mm bits para θ\theta com probabilidade maior que 40%40\%, enquanto a probabilidade de o erro ser maior que 2−m2^{-m} é limitada por 25%25\%. Se executarmos o circuito várias vezes e considerarmos o resultado mais comum entre as execuções, é, portanto, extremamente provável que o resultado mais comum não seja um que ocorra no máximo 25%25\% das vezes. Como resultado, é muito provável que obtenhamos uma aproximação y/2my/2^m que esteja dentro de 1/2m1/2^m do valor θ\theta. De fato, a chance improvável de o erro ser maior que 1/2m1/2^m diminui exponencialmente com o número de vezes que o procedimento é executado.

Aqui estão dois gráficos mostrando as probabilidades para três valores consecutivos de yy quando m=3m = 3 e m=4m=4 como funções de θ\theta. (Apenas três resultados são mostrados para maior clareza. Probabilidades para outros resultados são obtidas deslocando ciclicamente a mesma função subjacente.)

Plot showing outcome probabilities for three-qubit phase estimation

Plot showing outcome probabilities for four-qubit phase estimation