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 ao problema de estimação de fase, que nos permite aprender algo sobre o valor que buscamos, é baseada no fenômeno do phase kick-back. Como veremos, isso é essencialmente uma versão de um único qubit do procedimento geral de estimação de fase a ser discutido mais adiante na lição.
Como parte da entrada para o problema de estimação de fase, temos um circuito quântico unitário para a operação Podemos usar a descrição desse circuito para criar um circuito para uma operação controlada-, que pode ser representada como sugere esta figura (com a operação vista como uma porta quântica, à esquerda e uma operação controlada- à direita).
Podemos criar um circuito quântico para uma operação controlada- adicionando primeiro um qubit de controle ao circuito de e, em seguida, substituindo cada porta no circuito de por uma versão controlada dessa porta — assim, nosso novo qubit de controle efetivamente controla cada porta individual no circuito de Isso exige que tenhamos uma versão controlada de cada porta no nosso circuito, mas sempre podemos construir circuitos para essas operações controladas caso elas não estejam incluídas no nosso conjunto de portas.
Agora considere o circuito a seguir, onde o estado de entrada de todos os qubits exceto o de cima é o autovetor de estado quântico de
As probabilidades de resultado da medição para este circuito dependem do autovalor de correspondente ao autovetor Vamos analisar o circuito em detalhes para determinar exatamente como isso acontece.
O estado inicial do circuito é
e a primeira porta Hadamard transforma esse estado em
Em seguida, a operação controlada- é executada, resultando no estado
Usando a suposição de que é um autovetor de com autovalor podemos expressar esse estado de forma alternativa como segue.
Aqui observamos o fenômeno do phase kickback. É ligeiramente diferente desta vez em comparação ao algoritmo de Deutsch e ao algoritmo de Deutsch-Jozsa, porque não estamos trabalhando com uma porta de consulta — mas a ideia é semelhante.
Por fim, a segunda porta Hadamard é aplicada. Após uma simplificação, obtemos esta expressão para o estado resultante.
A medição, portanto, produz os resultados e com estas probabilidades:
Aqui está um gráfico das probabilidades para os dois resultados possíveis, e como funções de
Naturalmente, as duas probabilidades sempre somam Observe que quando o resultado da medição é sempre e quando o resultado da medição é sempre Portanto, embora o resultado da medição não revele exatamente qual é ele nos fornece alguma informação sobre ele — e se nos fosse prometido que ou ou 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 com "um bit de precisão." Em outras palavras, se escrevêssemos em notação binária e o arredondássemos para um bit, teríamos um número assim:
O resultado da medição pode ser visto como uma estimativa para o bit Quando não é nem nem 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 ou
É 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 e de modo que quando o phase kickback ocorre, ele acontece para o estado e não para o , 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 através do fenômeno da interferência. Antes da segunda porta Hadamard, o estado do qubit do topo é
e se fôssemos medir esse estado, obteríamos e cada um com probabilidade sem aprender nada sobre Ao aplicar a segunda porta Hadamard, porém, fazemos com que o número afete as probabilidades de saída.
Dobrando a fase
O circuito acima usa o fenômeno do phase kickback para aproximar 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
Uma coisa muito simples que podemos fazer é substituir a operação controlada- em nosso circuito por duas cópias dessa operação, como neste circuito:
Duas cópias de uma operação controlada- são equivalentes a uma operação controlada-. Se é um autovetor de com autovalor então esse estado também é um autovetor de desta vez com autovalor
Portanto, se executarmos esta versão do circuito, estamos efetivamente realizando o mesmo cálculo de antes, exceto que o número é substituído por Aqui está um gráfico ilustrando as probabilidades de saída conforme varia de a
Fazer isso pode de fato nos fornecer informações adicionais sobre Se a representação binária de for
então dobrar efetivamente desloca a vírgula binária uma posição para a direita:
E como estamos equiparando com ao percorrer o círculo unitário, vemos que o bit não influencia nossas probabilidades, e estamos efetivamente obtendo uma estimativa para o segundo bit após a vírgula binária se arredondarmos para dois bits. Por exemplo, se soubéssemos de antemão que era ou 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 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.
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
Se executarmos este circuito quando for um autovetor de o estado dos qubits inferiores permanecerá 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.
Podemos escrever o estado assim:
Quando a primeira operação controlada- é executada, o autovalor é kickeado para a fase quando (o qubit do topo) é igual a mas não quando é Assim, podemos expressar o estado resultante dessa forma:
As segunda e terceira portas controladas- fazem algo semelhante, exceto para em vez de e com substituído por Podemos expressar o estado resultante assim:
Se pensarmos na string binária como representando um inteiro em notação binária, que é podemos expressar esse estado de forma alternativa como segue.
Nosso objetivo é extrair o máximo de informação possível sobre a partir desse estado.
Neste ponto, vamos considerar um caso especial, em que nos é prometido que para algum inteiro Em outras palavras, temos portanto podemos expressar esse número exatamente em notação binária com dois bits, como . . . ou . Em geral, pode não ser um desses quatro valores, mas pensar nesse caso especial nos ajudará a descobrir como extrair informações sobre da forma mais eficaz em geral.
Primeiro, vamos definir um vetor de estado de dois qubits para cada valor possível
Após simplificar as exponenciais, podemos escrever esses vetores da seguinte forma.
Esses vetores são ortogonais: se escolhermos qualquer par deles e calcularmos o produto interno, obtemos Cada um é também um vetor unitário, portanto é 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 que transforma estados da base padrão nos quatro estados listados acima.
Para escrever como uma matriz basta tomar as colunas de como os estados
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 . Em vista desse fato, vamos chamá-la pelo nome em vez de O nome é 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.
Podemos aplicar a inversa dessa operação para ir no sentido contrário, transformando os estados de volta nos estados da base padrão Se fizermos isso, podemos medir para descobrir qual valor descreve como Aqui está o diagrama de um circuito quântico que faz isso.
Para resumir, se executarmos este circuito quando para o estado imediatamente antes das medições ocorrerem será (com codificado como uma string binária de dois bits), portanto as medições revelarão o valor sem erro.
Este circuito é motivado pelo caso especial em que — mas podemos executá-lo para qualquer escolha de e e portanto para qualquer valor de que desejarmos. Aqui está um gráfico das probabilidades de saída que o circuito produz para escolhas arbitrárias de
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 para os quais está próximo de Em particular, o resultado mais provável sempre corresponde ao valor de mais próximo de (equiparando e como antes), e pelo gráfico parece que esse valor mais próximo para sempre aparece com probabilidade um pouco acima de Quando está exatamente no meio entre dois desses valores, como por exemplo, os dois valores de 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 , é 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 Nesta seção, veremos como essa operação é definida e como ela pode ser implementada com um circuito quântico em qubits com custo quando
As matrizes que descrevem a transformada quântica de Fourier são derivadas de uma operação análoga em vetores de dimensão 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 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 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 é 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 para cada inteiro positivo da seguinte forma:
Esse é o número no círculo unitário complexo que obtemos partindo de e nos movendo no sentido anti-horário por um ângulo de radianos, ou seja, uma fração de da circunferência do círculo. Aqui estão alguns exemplos:
Agora podemos definir a transformada quântica de Fourier de dimensão , descrita por uma matriz cujas linhas e colunas estão associadas aos estados da base padrão Vamos precisar dessa operação apenas quando é uma potência de para a estimação de fase, mas a operação pode ser definida para qualquer inteiro positivo
Como já foi dito, essa é a matriz associada à transformada discreta de Fourier de dimensão . Frequentemente o fator prefatorial de 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
Observe, em particular, que é outro nome para a operação de Hadamard.
Unitariedade
Vamos verificar que é unitária para qualquer escolha de Uma forma de fazer isso é mostrar que suas colunas formam uma base ortonormal. Podemos definir um vetor correspondente à coluna número começando em e indo até da seguinte forma:
Calculando o produto interno entre dois desses vetores quaisquer, obtemos a seguinte expressão:
Podemos avaliar somas como essa usando a seguinte fórmula para a soma dos primeiros termos de uma série geométrica.
Especificamente, podemos usar essa fórmula quando Quando temos e aplicando a fórmula e dividindo por obtemos
Quando temos e a fórmula revela o seguinte:
Isso ocorre porque logo tornando o numerador zero, enquanto o denominador é não nulo pois 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 quando somados.
Estabelecemos, portanto, que é um conjunto ortonormal,
o que revela que é unitária.
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
para qualquer número real A versão controlada dessa porta tem a seguinte matriz:
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.
Na terceira forma, o rótulo à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 e vamos precisar de uma operação em qubits cuja ação sobre os estados da base padrão pode ser descrita como
onde é um bit e é um número codificado em notação binária como uma cadeia de bits. Isso pode ser feito usando portas de fase controlada generalizando o exemplo a seguir, para o qual
Em geral, para uma escolha arbitrária de o qubit do topo, correspondente ao bit pode ser visto como o controle, com as portas de fase variando de no qubit correspondente ao bit menos significativo de até no qubit correspondente ao bit mais significativo de 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 é uma potência de 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 é em que a transformada quântica de Fourier é uma operação de Hadamard.
Para realizar a transformada quântica de Fourier em qubits quando podemos executar os seguintes passos, cujas ações descreveremos para estados da base padrão da forma onde é um inteiro codificado como bits em notação binária e é um único bit.
-
Primeiro aplique a transformada quântica de Fourier de dimensão aos qubits inferiores/da esquerda para obter este estado:
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.
-
Use o qubit superior/da direita como controle para injetar a fase para cada estado da base padrão dos qubits restantes (conforme descrito acima) para obter este estado:
-
Aplique uma porta de Hadamard no qubit superior/da direita para obter este estado:
-
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:
Por exemplo, aqui está o circuito que obtemos para Neste diagrama, os qubits recebem nomes que correspondem aos vetores da base padrão (para a entrada) e (para a saída), para maior clareza.
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 é a seguinte:
Essa fórmula vale para qualquer escolha de inteiros e mas só vamos precisar dela para e Ela pode ser verificada expandindo o produto no expoente do lado direito:
onde a segunda igualdade usa a observação de que
A transformada quântica de Fourier de dimensão é definida da seguinte forma para todo
Se escrevermos e como
para e obtemos
Por fim, pensando nos estados da base padrão e como codificações binárias de inteiros no intervalo
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 o número de portas necessárias para cada possível escolha de Se a transformada quântica de Fourier é apenas uma operação de Hadamard, portanto
Se então no circuito acima precisamos de portas para a transformada quântica de Fourier em qubits, mais portas de fase controlada, mais uma porta de Hadamard e mais portas de troca (swap), portanto
Podemos obter uma expressão em forma fechada somando:
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 Assintoticamente, isso não é uma grande melhoria: ainda obtemos circuitos de tamanho para realizar
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 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 é muito próxima da operação identidade quando é 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.
Observe que, para cada novo qubit de controle adicionado no topo, dobramos o número de vezes que a operação unitária é executada. Isso é indicado no diagrama pelas potências em para cada uma das operações unitárias controladas.
A forma mais direta de implementar uma operação controlada para algum valor de é simplesmente repetir a operação controlada 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 qubits de controle, como o diagrama mostra, um total de cópias da operação controlada são necessárias. Isso significa que um custo computacional significativo é incorrido conforme aumenta — mas, como veremos, isso também leva a uma aproximação de significativamente mais precisa.
É importante notar, entretanto, que para algumas escolhas de pode ser possível criar um circuito que implemente a operação para valores grandes de de forma mais eficiente do que simplesmente repetir vezes o circuito para 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:
Um caso especial
De maneira semelhante ao que fizemos no caso , vamos primeiro considerar o caso especial em que para Nesse caso, o estado antes da transformada quântica de Fourier inversa pode ser escrito alternativamente assim:
Assim, quando a transformada quântica de Fourier inversa é aplicada, o estado se torna
e as medições revelam (codificado em binário).
Limitando as probabilidades
Para outros valores de ou seja, aqueles que não assumem a forma para um inteiro 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 satisfazendo
Após a transformada quântica de Fourier inversa ser realizada, o estado do circuito é:
Assim, quando as medições nos qubits do topo são realizadas, observamos cada resultado com probabilidade
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.
Podemos simplificar a soma que aparece na fórmula de tomando Eis o que obtemos.
Portanto, no caso em que encontramos que (como já sabíamos ao considerar esse caso especial), e no caso em que encontramos que
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
Primeiro, o comprimento da corda (desenhado em azul) não pode ser maior do que o comprimento do arco (desenhado em roxo):
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 e nesse caso a razão é metade da circunferência do círculo dividida pelo diâmetro, que é Assim, temos
e portanto
Uma análise baseada nessas relações revela os dois fatos a seguir.
-
Suponha que seja um número real e que satisfaça
Isso significa que é ou a melhor aproximação de bits para ou está exatamente no meio entre e ou sendo portanto uma das duas melhores aproximações para
Vamos provar que precisa ser bem grande nesse caso. Pela hipótese que estamos considerando, segue que então podemos usar a segunda observação acima sobre comprimentos de arco e de corda para concluir que
Também podemos usar a primeira observação sobre comprimentos de arco e de corda para concluir que
Aplicando essas duas desigualdades a , obtemos
Isso explica nossa observação de que o melhor resultado ocorre com probabilidade maior que na versão da estimativa de fase discutida anteriormente. Na verdade não é exatamente 40%, é e de fato esse limite vale para qualquer escolha de
-
Agora suponha que satisfaça
Isso significa que existe uma aproximação melhor para entre e
Desta vez, vamos provar que não pode ser muito grande. Podemos começar com a observação simples de que
o que decorre do fato de que quaisquer dois pontos no círculo unitário podem diferir em valor absoluto em no máximo
Também podemos usar a segunda observação sobre comprimentos de arco e de corda acima, desta vez trabalhando com o denominador de em vez do numerador, para concluir
Juntando as duas desigualdades, obtemos
Note que, embora esse limite seja suficiente para nossos propósitos, ele é bastante grosseiro — a probabilidade costuma ser muito menor do que
A conclusão importante dessa análise é que aproximações muito próximas de têm alta probabilidade de ocorrer — obteremos a melhor aproximação de bits com probabilidade maior que — enquanto aproximações que se desviam mais de são menos prováveis, com probabilidade limitada superiormente por
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 É importante notar que o estado do conjunto inferior de qubits não é alterado pelo procedimento de estimativa de fase, portanto 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 bits para com probabilidade maior que enquanto a probabilidade de errar por mais de é limitada por Se executarmos o circuito várias vezes e tomarmos o resultado que aparece com mais frequência, é portanto muito improvável que o resultado mais frequente seja aquele que ocorre no máximo das vezes. Como resultado, é muito provável que obtenhamos uma aproximação que esteja a menos de do valor De fato, a pequena chance de errar por mais de decresce 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 quando e como funções de (Apenas três resultados são mostrados para maior clareza. As probabilidades para outros resultados são obtidas deslocando ciclicamente a mesma função subjacente.)