algoritmos quânticos -...

34
WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal 1 , Carlos Magno Martins Cosme, Demerson Nunes Gonçalves 1 1 Laboratório Nacional de Computação Científica Petrópolis, RJ, Brasil {portugal,magno,dnunes}@lncc.br 1. Introdução A capacidade de se ter dados computacionais em estado de superposição e de podermos manipulá-los através de operações unitárias é o diferencial da computação quântica em relação a convencional. São as leis da mecânica quântica que tornam isso possível. Duas tarefas devem ser realizadas para fazer uso dessas novas características na computação: (1) construir um hardware que manipule estados quânticos, (2) desenvolver algoritmos baseados na lógica quântica. Esse trabalho visa apresentar de forma didática uma parte da área de algoritmos quânticos. Atualmente existem três grandes vertentes na área de algoritmos quânticos, que podem ser caraterizadas como (1) o problema do subgrupo escondido, que inclui o algo- ritmo de Shor como caso particular, (2) problemas de busca e otimização, que inclui o algoritmo de Grover e (3) algoritmos baseados em caminhos aleatórios quânticos. Nesse trabalho vamos nos concentrar na vertente (1). O problema do subgrupo escondido surgiu quando os pesquisadores notaram que os algoritmos de Shor, Simon e Deutsch&Josza eram todos casos particulares de um prob- lema mais geral cuja terminologia mais adequada era usando a teoria de grupo computa- cional. De forma resumida, o problema consiste em achar os geradores de um subgrupo H do grupo G. O grupo G é conhecido através de geradores e o subgrupo H pode ser obtido a partir de uma função f que é constante nas classes laterais de H em G. O prob- lema tem uma solução eficiente se conseguirmos achar os geradores de H de forma que (1) o número de passos, (2) uso de memória e (3) número de vezes que f foi usada têm complexidade computacional O(poly(logG)). Nesse trabalho apresentamos uma breve revisão das portas quânticas mais usadas, supondo que o leitor já tem um conhecimento prévio dos conceitos básicos de computação quântica. A seguir descrevemos o algoritmo quântico para calcular o transformada de Fourier e baseado nessa transformada, descrevemos os diversos algoritmos quânticos para cálculo de ordem como o algoritmo de Shor, Kitaev e Watrous. O algoritmo de Kitaev é apresentado como uma aplicação do algoritmo para cálculo de fase de um autovalor de um operador unitário. Depois descrevemos o algoritmo para decompor grupos abelianos de- senvolvido por Cheung&Mosca. Por falta de espaço, não podemos apresentar os detalhes do problema do subgrupo escondido não abeliano. 2. Portas Principais A porta X é a versão quântica da porta NOT clássica. O circuito dessa porta está mostrado na figura 1, que deve ser lido da esquerda para a direita. A entrada é o estado |j 1 onde j 1 assume o valor 0 ou 1, ou seja, o qubit está escrito na base binária. A saída é X |j 1 . 67

Upload: phamtu

Post on 09-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

WECIQ 2006 - Mini-curso 4

Algoritmos Quânticos

Renato Portugal1, Carlos Magno Martins Cosme, Demerson Nunes Gonçalves1

1Laboratório Nacional de Computação CientíficaPetrópolis, RJ, Brasil

portugal,magno,[email protected]

1. IntroduçãoA capacidade de se ter dados computacionais em estado de superposição e de podermosmanipulá-los através de operações unitárias é o diferencial da computação quântica emrelação a convencional. São as leis da mecânica quântica quetornam isso possível. Duastarefas devem ser realizadas para fazer uso dessas novas características na computação:(1) construir um hardware que manipule estados quânticos, (2) desenvolver algoritmosbaseados na lógica quântica. Esse trabalho visa apresentarde forma didática uma parteda área de algoritmos quânticos.

Atualmente existem três grandes vertentes na área de algoritmos quânticos, quepodem ser caraterizadas como (1) o problema do subgrupo escondido, que inclui o algo-ritmo de Shor como caso particular, (2) problemas de busca e otimização, que inclui oalgoritmo de Grover e (3) algoritmos baseados em caminhos aleatórios quânticos. Nessetrabalho vamos nos concentrar na vertente (1).

O problema do subgrupo escondido surgiu quando os pesquisadores notaram queos algoritmos de Shor, Simon e Deutsch&Josza eram todos casos particulares de um prob-lema mais geral cuja terminologia mais adequada era usando ateoria de grupo computa-cional. De forma resumida, o problema consiste em achar os geradores de um subgrupoH do grupoG. O grupoG é conhecido através de geradores e o subgrupoH pode serobtido a partir de uma funçãof que é constante nas classes laterais deH emG. O prob-lema tem uma solução eficiente se conseguirmos achar os geradores deH de forma que(1) o número de passos, (2) uso de memória e (3) número de vezesquef foi usada têmcomplexidade computacionalO(poly(log⌈G⌉)).

Nesse trabalho apresentamos uma breve revisão das portas quânticas mais usadas,supondo que o leitor já tem um conhecimento prévio dos conceitos básicos de computaçãoquântica. A seguir descrevemos o algoritmo quântico para calcular o transformada deFourier e baseado nessa transformada, descrevemos os diversos algoritmos quânticos paracálculo de ordem como o algoritmo de Shor, Kitaev e Watrous. Oalgoritmo de Kitaev éapresentado como uma aplicação do algoritmo para cálculo defase de um autovalor de umoperador unitário. Depois descrevemos o algoritmo para decompor grupos abelianos de-senvolvido por Cheung&Mosca. Por falta de espaço, não podemos apresentar os detalhesdo problema do subgrupo escondido não abeliano.

2. Portas PrincipaisA portaX é a versão quântica da porta NOT clássica. O circuito dessa porta está mostradona figura 1, que deve ser lido da esquerda para a direita. A entrada é o estado|j1〉 ondej1assume o valor 0 ou 1, ou seja, o qubit está escrito na base binária. A saída éX |j1〉.

67

Page 2: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

|j1〉 X X |j1〉

Figura 1. Circuito da porta X.

A matrizX é unitária dada por

X =

[0 11 0

]

.

Assim se a entrada é|0〉, a saída é|1〉 e vice-versa. Esse é um exemplo de um circuitocom um único qubit. Vamos agora ver um exemplo com 2 qubits.

A porta CNOT é uma das principais portas usadas em algoritmos.Vamos descrevê-la em detalhes, pois ela serve como paradigma para o entendimento de outras portas quân-ticas. O circuito dessa porta está mostrado na figura 2.

|j1〉 • |j1〉|j2〉 Xj1 |j2〉

Figura 2. Circuito da porta CNOT.

Como sempre, o circuito deve ser lido da esquerda para a direita. A entrada éo estado|j1〉 |j2〉 ondej1 e j2 podem assumir os valores 0 ou 1. A saída é|0〉 |j2〉 sej1 = 0 ou |1〉 (X |j2〉) se j1 = 1. Se a entrada do primeiro qubit for um estado dabase computacional e a entrada do segundo for|0〉, a porta CNOT pode ser interpretadacomo uma replicadora, pois a entrada|j1〉 |0〉 gera a saída|j1〉 |j1〉. Isso não pode sergeneralizado a menos que o teorema da não-clonagem seja violado. Esse teorema afirmasimplesmente que a produção de cópias de um estado quântico desconhecido é proibidae a prova é uma simples constatação de que a cópia de estados quânticos é uma operaçãonão-unitária no caso geral. Foi possível fazer cópias no caso acima, porque os estadosenvolvidos eram ortogonais.

A figura 2 nos dá a impressão que a saída da porta CNOT é sempre desemaran-hada. Isso é falso. Na figura 3 podemos ver um exemplo em que a saída é emaranhada.

|0〉+|1〉√2

|0〉

Figura 3. Porta CNOT gerando uma saída emaranhada.

Portas que emaranham podem desemaranhar e vice-versa. Issosegue do fato deque todo operador unitário tem inversa. A porta inversa, isto é, a porta que representa ooperador inverso faz o papel inverso, como é de se esperar.

A porta CNOT é um caso particular de porta controlada. Na verdade o nomeCNOT vem de ‘Controlled NOT’. O qubit com a bolinha preta é o controle que só éativado se o estado do qubit for|1〉, e o outro qubit é o alvo. No caso do CNOT, ooperador que é aplicado ao alvo éX, porém podemos substituí-lo por qualquer outrooperador unitário de 1 qubit. A notaçãoC(X) é sinônimo de CNOT e pode ser usadapara outros operadores.

68

Page 3: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

A portaH = 1√2

[1 11 −1

]

tem também papel de destaque. A sua atuação pode

ser descrita da seguinte forma

H |j1〉 =|0〉 + (−1)j1 |1〉√

2. (1)

A portaH é muito usada em algoritmos para criar um estado de superposição de todos osvetores da base computacional. Esse estado é útil no paralelismo quântico. A forma usualde gerar esse estado é aplicarH⊗n no estado|0〉⊗n:

(H |0〉)⊗n =1√2n

2n−1∑

j=0

|j〉 . (2)

Note que nessa equação, o lado direito usa a notação decimal.Por exemplo, o estado|2n − 1〉 corresponde ao estado|1〉⊗n. Todo esse processo deve se feito num computadorquântico den qubits.

EXERCÍCIO 2.1 Mostre como a equação (2) pode ser obtida a partir da equação (1).

EXERCÍCIO 2.2 Dado um operador unitárioU den qubits podemos definir um operadorcontrolado muito útil em algoritmos da seguinte forma

V (|j〉 |ψ〉) = |j〉U j |ψ〉 , (3)

onde o primeiro registrador temm qubits e o segundo temn qubits. No circuito abaixovemos sua representação esquemática.

|j〉 /m • |j〉|ψ〉 /n U U j |ψ〉

Esse operador pode ser visto como uma portaC(U) generalizada. A representação gráficaé a mesma deC(U), porém não há perigo de confusão pois o primeiro registradortemmais do que 1 qubit. Mostre queV é um operador unitário e mostre que o circuito abaixoé a sua implementação correta em termos de portas controladas usuais, ou seja, cada umacontrolada por um qubit apenas.

|j1〉 · · · • |j1〉...

...

|jm−2〉 • · · · |jm−2〉

|jm−1〉 • · · · |jm−1〉

|jm〉 • · · · |jm〉

|ψ〉 /n U20U21

U22 · · · U2m−1 U j |ψ〉

69

Page 4: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

3. A Transformada de Fourier QuânticaA transformada de Fourier de uma funçãoF : 0, . . . , N − 1 → C é uma nova funçãoF : 0, . . . , N − 1 → C definida por

F (j) =1√N

N−1∑

k=0

ωjkN F (k), (4)

ondeωN = e

2πiN . (5)

O termoωN é chamado deN−ésima raiz da unidade pois(ωN)N = 1. Omitiremos osub-índiceN quando for possível determiná-lo pelo contexto.

Podemos aplicar a transformada de Fourier tanto em uma função quanto em umestado da base computacional. A transformada de Fourier aplicada ao estado|j〉 da basecomputacional é

|ψj〉 ≡ TFN(|j〉) =1√N

N−1∑

k=0

ωjk |k〉 , (6)

onde o conjunto|ψj〉 ; j = 0, . . . , N − 1 forma uma nova base ortonormal. A transfor-mada de Fourier é um operador linear unitário, portanto se soubermos como ele atua nosestados da base computacional, podemos obter sua atuação num estado genérico do tipo

|ψ〉 =N−1∑

a=0

F (a) |a〉 . (7)

A transformada de Fourier de|ψ〉 pode ser obtida tanto através da equação (4) como daequação (6). No primeiro caso calculamos a transformada de Fourier das amplitudes semmexer nos vetores e no segundo caso calculamos a transformada de Fourier dos vetoressem mexer nas amplitudes. Os dois métodos são equivalentes.

EXERCÍCIO 3.1 Prove a identidade

1

N

N−1∑

k=0

ωjk =

1 sej é um múltiplo deN0 caso contrário,

(8)

usando a fórmula da progressão geométrica. A partir desse resultado prove que|ψj〉 ; j =0, . . . , N − 1 é uma base ortonormal.

EXERCÍCIO 3.2 Mostre que a transformada de Fourier de|ψ〉 dado pela equação (7) podeser calculada tanto através da equação (4) como da equação (6).

Usando a identidade (8), podemos definir a transformada de Fourier inversa, queé similar a (6), porém com um sinal de menos no expoente. Note que TF−1

N =TF†N , já que

TFN é um operador unitário.

É um fato notável que a expressão (6) pode ser fatorada da seguinte forma

TFN(|j〉) =1√2n

n∏

l=1

(

|0〉 + e2πij/2l |1〉)

=

(

|0〉 + e2πi j2 |1〉√

2

)

⊗(

|0〉 + e2πi j

22 |1〉√2

)

⊗. . .⊗(

|0〉 + e2πi j2n |1〉√

2

)

. (9)

70

Page 5: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

EXERCÍCIO 3.3 Mostre que a expressão (6) é equivalente a (9). Sugestão:use a equação(5) e faça a decomposição binária dek.

EXERCÍCIO 3.4 Mostre que as expressões exponenciaise2πi j2 , e2πi j

22 , · · · , e2πi j2n que

aparecem na equação (9) são equivalentes ae2πi(0.j4), e2πi(0.j3j4), · · · , e2πi(0.j1···jn), onde afração binária0.j1 · · · jn é definida como

0.j1 · · · jn =n∑

k=1

jk2k.

Na figura 4 apresentamos um cicuito quântico que executa a transformada deFourier em 4 qubits. A partir desse circuito podemos facilmente generalizá-lo para maisqubits desde queN seja da forma2n onden é o número de qubits. SeN não é uma potên-cia de 2, não é conhecido um circuito exato para o cálculo da transformada de Fourier.

|j1〉 H R(2) R(3) R(4) × 1√2(|0〉 + e2πi j

2 |1〉)

|j2〉 • H R(2) R(3) × 1√2(|0〉 + e

2πi j

22 |1〉)

|j3〉 • • H R(2) × 1√2(|0〉 + e

2πi j

23 |1〉)

|j4〉 • • • H × 1√2(|0〉 + e

2πi j

24 |1〉)

Figura 4. Circuito da transformada de Fourier sobre 4 qubits . A entrada é o estado |j〉 que é equiva-lente a |j1j2j3j4〉.

Vamos agora descrever as portas usadas no circuito. Vamos começar pelas maissimples. A duas últimas portas são chamadas de SWAP. Elas invertem o estado dos qubits.A figura 5 mostra como essa porta funciona e também descreve a sua decomposição emtermos de portas universais (CNOT e portas de 1 qubit).

|ψ〉 × |ϕ〉

|ϕ〉 × |ψ〉

≡ |ψ〉 • • |ϕ〉

|ϕ〉 • |ψ〉

Figura 5. Circuito da porta SWAP. Esta porta inverte os estad os dos qubits.

EXERCÍCIO 3.5 Mostre que a decomposição da porta SWAP mostrada na figura5 fun-ciona corretamente. Sugestão: mostre que a decomposição funciona corretamente para abase computacional e conclua que ela é válida para vetores genéricos.

O operadorR(k) é definido por

R(k) =

[1 0

0 e2πi

2k

]

.

No circuito da transfomada de Fourier ele aparece sempre controlado por outro qubit.Uma vez queR(k) é sempre aplicado depois de uma porta Hadamard, é crucial quesaibamos o resultado da aplicação deR(k) controlado por um qubit|jl〉 sobre estadosdo tipo (1). Isso é deixado como exercício, que mostra que o circuito 4 calcula a transfor-mada de Fourier corretamente.

71

Page 6: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

EXERCÍCIO 3.6 Mostre que

H |j4〉 =1√2(|0〉 + e2πi j

2 |1〉)

R(2)4 H |j3〉 =

1√2(|0〉 + e2πi j

22 |1〉)

R(3)4 R

(2)3 H |j2〉 =

1√2(|0〉 + e2πi j

23 |1〉)

R(4)4 R

(3)3 R

(2)2 H |j1〉 =

1√2(|0〉 + e2πi j

24 |1〉)

onde o sub-índice do operadorR(k) indica por qual qubit ele está sendo controlado. Sug-estão: use a expressãoj = j12

3 + j222 + j32 + j4 e note que alguns termos dessa soma

desaparecem quando estão no expoente.

Uma vez que vamos usar o circuito que calcula a transformada de Fourier outrasvezes, vamos descrevê-lo de uma forma mais sucinta. A figura 6descreve o algoritmocomo uma caixa preta. A saída correspondente a um vetor genérico da base computa-cional está mostrada. Assim podemos obter a saída correspondente a um vetor em super-posição usando linearidade.

|j1〉

TFN

˛

˛e2πi 0.jn¸

|j2〉˛

˛e2πi 0.jn−1jn¸

......

|jn〉˛

˛e2πi 0.j1···jn¸

Figura 6. Circuito compacto da transformada de Fourier. Os ve tores do tipo˛

˛e2πi 0.jn¸

descrevem deforma compacta vetores do tipo (|0〉 + e2πi 0.jn |1〉)/

√2.

4. Algoritmo de Shor

O algoritmo de Shor acha os fatores primos de um número compostoN . A fatoração podeser reduzida ao cálculo da ordem de um númeroxmenor queN escolhido aleatoriamente.O número de qubits necessário para armazenarN é muito menor queN . Esse número élog2N , porém como ele não é um inteiro no caso geral, definimos

n = ⌈log2N⌉.

Um computador quântico comn qubits pode guardarN ou qualquer outro inteiro positivomenor queN . Facilmente vemos que o número de fatores primos deN é no máximon.Se o número de qubits e o número de fatores primos são menores ou iguais quen, entãoé natural perguntar se existe um algoritmo que fatoraN em um número de passos que épolinomial emn. Mais precisamente a questão é: Existe um algoritmo de fatoração naclasse de complexidadeP?

A redução da fatoração deN ao problema de achar aordemde um inteiroxmenorqueN pode ser descrita da seguinte forma. Sex eN possuem fatores comuns, então o

72

Page 7: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

MDC(x,N) fornece um fator deN , portanto é suficiente investigar o caso quandox écoprimo comN . A ordem dex móduloN é o menor inteiro positivor tal que

xr ≡ 1 mod N.

Ser for par, podemos definiry como sendo

xr/2 ≡ y mod N.

A notação acima significa quey é o resto da divisãodexr/2 por N e, pela definição,0 ≤ y < N . Note quey satisfazy2 ≡ 1 móduloN , ou equivalentemente(y−1)(y+1) ≡0 móduloN , o que significa queN divide (y − 1)(y + 1). Se1 < y < N − 1, osfatoresy − 1 e y + 1 satisfazem0 < y − 1 < y + 1 < N , portantoN não pode dividiry − 1 nemy + 1 separadamente. A única alternativa é que ambosy − 1 e y + 1 tenhamfatores deN (que resultaN por multiplicação). Então, MDC(y− 1, N ) e MDC(y+1, N )produzem fatores não triviais deN . SeN tiver mais fatores, eles podem ser calculadosaplicando o algoritmo recursivamente. ConsidereN = 21 como exemplo. A sequênciade equivalências

24 ≡ 16 mod 21

25 ≡ 11 mod 21

26 ≡ 11 × 2 ≡ 1 mod 21

mostra que a ordem de 2 módulo 21 ér = 6. Portanto,y ≡ 23 ≡ 8 módulo21. Dey − 1 resulta o fator 7 e dey + 1 resulta o fator 3 de 21. Resumindo, se escolhermosaleatoriamente um inteiro positivox menor queN e calcularmos o MDC(x,N), ou ter-emos um fator deN ou ficaremos sabendo quex é coprimo comN . Neste último caso,sex satisfizer as condições (1) a ordemr é par, e (2)0 < y − 1 < y + 1 < N , então oMDC(y − 1, N ) e MDC(y + 1, N ) produzem fatores deN . Se uma das condições não éverdadeira, nós recomeçamos até achar um candidatox apropriado. O método não seriaútil se estas suposições fossem restritivas demais, mas felizmente este não é o caso. Ométodo sistematicamente falha seN for uma potência de algum primo, mas nesse casoum algoritmo clássico eficiente é conhecido. SeN for par, podemos continuar dividindopor 2 até o resultado ser ímpar. Resta-nos aplicar o método para os inteiros compostosímpares que não são potências de algum número primo. É possível provar que a proba-bilidade de acharx coprimo comN satisfazendo as condições (1) e (2) é alta.

Agora, considere o circuito da figura 7 que calcula a ordemr de um inteiro positivox menor queN , coprimo comN . Vx é um operador linear unitário dado por

Vx(|j〉 |k〉) = |j〉∣∣k + xj

⟩, (10)

onde |j〉 e |k〉 são os estados do primeiro e segundo registrador respectivamente. Asoperações aritméticas são feitas móduloN , assim0 ≤ k + xj < N . O operador TF2n foidescrito na seção anterior.

EXERCÍCIO 4.1 Mostre que o operadorVx é unitário.

O primeiro registrador possuim qubits, ondem deve ser escolhido de forma queN2 ≤ 2m ≤ 2N2 para que a probabilidade de achar o resultado seja maior que 1/2. Se

73

Page 8: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

H

H

Vx

TF†2n

|0〉

|0〉

|0〉

|0〉

1 registrador

(n qubits)

2 registrador

(n qubits)

|ψ0〉 |ψ1〉 |ψ2〉 |ψ3〉 |ψ4〉 |ψ5〉

Figura 7. Circuito quântico para achar a ordem de um inteiro p ositivo x módulo N .

a ordem é uma potência de 2, então é suficiente tomarm = n. Nesta seção, nós vamosconsiderar somente esse caso especial.

Os estados do computador quântico estão indicados por|ψ0〉 até|ψ5〉 na figura 7.O estado inicial é

|ψ0〉 = |0 . . . 0〉︸ ︷︷ ︸

n

|0 . . . 0〉︸ ︷︷ ︸

n

.

A aplicação do operador Hadamard em cada qubit do primeiro registrador resulta

|ψ1〉 =1√2n

2n−1∑

j=0

|j〉 |0〉 . (11)

Agora note o que acontece quando aplicamosVx em|ψ1〉:

|ψ2〉 = Vx |ψ1〉

=1√2n

2n−1∑

j=0

Vx(|j〉 |0〉)

=1√2n

2n−1∑

j=0

|j〉∣∣xj⟩. (12)

O estado|ψ2〉 é interessante, pois, já queVx é linear, ele atua simultaneamente em todos ostermos|j〉 |0〉 para2n valores dej, logo isto gera todas as potências dex simultaneamente.Esta característica é chamadaparalelismo quântico. Algumas destas potências são 1, asquais correspondem aos estados

|0〉 |1〉 , |r〉 |1〉 , |2r〉 |1〉 , · · · ,∣∣∣∣

(2n

r− 1

)

r

|1〉 . (13)

Isto explica a escolha de (10) paraVx. Classicamente, poderíamos calcular sucessiva-mentexj, paraj começando de 2 até chegarmos aj = r. Quanticamente, pode-secalcular todas as potências dex com uma única aplicação deVx. No nível quântico,

74

Page 9: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

todos os valores dej que produzemxj ≡ 1 móduloN são “conhecidos”. Mas esta infor-mação não esta totalmente disponível no nível clássico. Umainformação clássica de umestado quântico é obtida através de uma medida e, neste ponto, não ajudaria se medísse-mos o primeiro registrador, já que todos os estados da superposição (12) possuem igualamplitudes. A primeira parte da estratégia para determinarr é observar que o primeiroregistrador dos estados (13) é periódico. Então a informação que queremos é um período.

Para facilitar os cálculos, vamos medir o segundo registrador. Antes de fazer isto,vamos reescrever o estado|ψ2〉 fatorando os termos iguais do segundo registrador. Comoxj é uma função periódica com períodor, vamos substituirj porar + b na equação (12),onde0 ≤ a ≤ (2n/r) − 1 e0 ≤ b ≤ r − 1. Lembre-se que estamos supondo quer é umapotência de 2, portantor divide2n. A equação (12) é convertida em

|ψ2〉 =1√2n

r−1∑

b=0

2n

r−1∑

a=0

|ar + b〉

∣∣xb⟩. (14)

No segundo registrador, substituímosxar+b por xb, já quexr ≡ 1 móduloN . Agora osegundo registrador é medido. Qualquer resultadox0, x1, ..., xr−1 pode ser obtido comigual probabilidade. Suponha que o resultado éxb0 . O estado do computador quânticoseja agora

|ψ3〉 =

√r

2n

2n

r−1∑

a=0

|ar + b0〉

∣∣xb0⟩. (15)

Note que depois da medida, a constante é renormalizada para√

r/2n, já que existem2n/r termos na soma (15). A figura 8 mostra a probabilidade de obtermos os estados dabase computacional medindo o primeiro registrador. A probabilidade forma uma funçãoperiódica com períodor. Estes valores são zeros exceto para os estados|b0〉, |r + b0〉,|2r + b0〉, ...,|2n − r + b0〉. Como o valor deb0 é randômico, ele esconde com perfeiçãoa informação que desejamos encontrar, ou seja, o valor der. A única saída é explorar aperiodicidade dosketsou equivalentemente, das amplitudes.

Como podemos descobrir o período de uma função eficientemente? A resposta é atransformada de Fourier. A transformada de Fourier de uma função periódica de período

0b0 r + b0 2r + b0 3r + b0

r2n

r

Distribuição de probabilidades

Termos de|ψ3〉(1 registrador)

Figura 8. Distribuição de probabilidades de |ψ3〉 medido na base computacional (para o casob0 = 3 and r = 8). O eixo horizontal tem 2n pontos. O número de picos é 2n/r e o período é r.

75

Page 10: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

r é uma nova função com período proporcional a1/r. Isto faz toda a diferença paradeterminarr. A transformada de Fourier é a segunda e última parte da estratégia usadapor Shor. Todo o método depende de um algoritmo quântico eficiente para calcular atransformada de Fourier, que não está disponível classicamente.

Vamos continuar o processo de cálculo da figura 7. Estamos prontos para acharo próximo estado do computador quântico —|ψ4〉. Aplicando a transformada de Fourierinversa no primeiro registrador, usando a equação (6) e a linearidade da TF†2n, obtemos

|ψ4〉 = TF†2n(|ψ3〉)

=

√r

2n

2n

r−1∑

a=0

(

1√2n

2n−1∑

j=0

e−2πij(ar+b0)/2n |j〉)

∣∣xb0⟩.

Invertendo a ordem do somatório, temos

|ψ4〉 =1√r

2n−1∑

j=0

1

2n/r

2n

r−1∑

a=0

e−2πija2n/r

e−2πijb0/2n |j〉

∣∣xb0⟩. (16)

Usando (8), vemos que a expressão no colchetes é diferente dezero se e somente sej = k2n/r comk = 0, ..., r − 1. Quandoj assume tais valores, a expressão no colchetesé igual a 1. Então temos

|ψ4〉 =1√r

(r−1∑

k=0

e−2πi krb0

∣∣∣∣

k2n

r

⟩)

∣∣xb0⟩. (17)

Para acharmosr, a expressão|ψ4〉 têm duas vantagens sobre a expressão|ψ3〉 (equação(15)): r está no denominador dokete o parâmetro aleatóriob0 foi movido doketpara oexpoente ocupando agora um lugar inofensivo.

0 2n

r2 2n

r3 2n

r

1r

2n

r

Distribuição de probabilidades

Termos de|ψ4〉(1 registrador)

Figura 9. Distribuição de probabilidades de |ψ4〉 medida na base computacional. O eixo hori-zontal tem 2n pontos, apenas os termos não nulos são mostrados. O número de picos é r e operíodo é 2n/r.

A figura 9 mostra a distribuição de probabilidades de|ψ4〉 medido na base com-putacional. Medindo o primeiro registrador, pegamos o valor k02

n/r, ondek0 pode serqualquer número entre 0 er − 1 com igual probabilidade (os picos na figura 9). Se ob-tivermosk0 = 0, não teremos nenhuma informação sobrer e o algoritmo tem que ser

76

Page 11: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

rodado novamente. Sek0 6= 0, dividimosk02n/r por 2n, obtendok0/r. Nemk0 nem

r são conhecidos. Sek0 é coprimo comr, simplesmente selecionamos o denominador.Sek0 e r tem fator comum, o denominador da fração reduzidak0/r é um fator der masnão é o próprior. Suponha que o denominador ér1. Sejar = r1r2. Agora o objetivoé determinarr2, que é a ordem dexr1 móduloN . Rodamos novamente a parte quânticado algoritmo para achar a ordem dexr1 . Se acharmosr2 na primeira rodada, o algo-ritmo para, caso contrário o aplicamos recursivamente. O processo recursivo não é longo,porque o número de interações é menor ou igual alog2 r.

TomeN = 15 como exemplo, que é o menor número composto não trivial. Oconjunto de números menores que 15 coprimo com 15 são1, 2, 4, 7, 8, 11, 13, 14. Osnúmeros no conjunto4, 11, 14 tem ordem 2 e os números do conjunto2, 7, 8, 13 temordem 4. Portanto, em qualquer casor é uma potência de 2 e os fatores deN = 15 podemser encontrados num computador quântico com⌈log2 15⌉ = 8 qubits.

EXERCÍCIO 4.2 Refaça os passos descritos nessa seção sem supor quer divideN . Noteque todas as expressões onde aparece o termo2n/r devem ser modificadas consistente-mente. Após obter o estado|ψ4〉 equivalente, faça o gráfico da distribuição de probabil-idades (como o da figura 9) paraN = 21 e x = 2. Repita novamente todo o processoaumentando o número de qubitsm no primeiro registrador de forma que obedeça a re-striçãoN2 ≤ 2m ≤ 2N2. Compare o novo gráfico da distribuição de probabilidades como anterior e explique porque as chances de encontrarr é maior no segundo caso.

5. Algoritmo para o Cálculo da Fase de um Autovalor

O autovalor de um operador unitárioU é sempre da formae2πiφ onde a faseφ é umnúmero real satisfazendo0 ≤ φ < 1.

EXERCÍCIO 5.1 Mostre!

Nessa seção vamos apresentar um algoritmo para calcular umaaproximação deφ uma vezdado o autovetor|ψ〉 correspondente, isto é, supomos conhecido o vetor|ψ〉 que satisfazU |ψ〉 = e2πiφ |ψ〉. Na verdade não vamos supor apenas que|ψ〉 seja conhecido. Vamossupor que é possível de alguma forma preparar um registradordo computador quânticono estado|ψ〉. Vamos assumir também queU é conhecido e pode ser implementadoeficientemente.

EXERCÍCIO 5.2 Suponha queU |ψ〉 = e2πiφ |ψ〉. Mostre que a portaUk controlada peloprimeiro qubit como no circuito abaixo

|0〉 H • 1√2(|0〉 + e2πiφk |1〉)

|ψ〉 /n Uk |ψ〉

ondek é um inteiro, produz o seguinte resultado

C(Uk)

( |0〉 + |1〉√2

|ψ〉)

=|0〉 + e2πiφk |1〉√

2|ψ〉 .

77

Page 12: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Se o inteirok do exercício 5.2 for da forma2m ondem é um inteiro de tamanho con-trolado, isto é,m = O(poly n) onden é o número de qubits usado por|ψ〉, podemosimplementarUk eficientemente usando o algoritmo doquadrado repetido.

EXERCÍCIO 5.3 O algoritmo do quadrado repetido pode ser facilmente entendido comum exemplo. Suponha que queremos calcularU13. Fazemos a decomposição binária de13 = 1 · 23 + 1 · 22 + 0 · 2 + 1. Então com um pouco de álgebra podemos expressarU13

apenas com quadrados

U13 = (((U2 U)2)2 U.

Note que o número de vezes que temos que elevar uma matriz ao quadrado é bem menorque o número 13. O número de multiplicações reduz drasticamente usando esse método.Mostre queUk pode ser calculada com um númeroO(log k) multiplicações matriciais.

|0〉 H · · · • 1√2(|0〉 + e2πiφ2m−1 |1〉)

|0〉 H • · · · 1√2(|0〉 + e2πiφ22 |1〉)

|0〉 H • · · · 1√2(|0〉 + e2πiφ21 |1〉)

|0〉 H • · · · 1√2(|0〉 + e2πiφ20 |1〉)

|ψ〉 /nU20

U21

U22 · · · U2m−1 |ψ〉

Figura 10. Primeira parte do circuito para cálculo da fase de um autovalor.

O circuito da figura 10 mostra a primeira parte do algoritmo para o cálculo da faseφ. A partir do resultado do exercício 5.2, podemos facilmenteconfirmar que o resultadodo circuito 10 é exatamente como mostrado.

Vamos supor para simplificar a apresentação que a fase tem no máximom dígitosbináriosφ = 0.φ1 · · ·φm ondeφ1 é igual a 0 ou 1, o mesmo paraφ2 e assim por diante.Usando a equação

0.φ1 · · ·φm =m∑

k=1

φk2k,

podemos ver que os termos exponenciaise2πiφ2m−1, e2πiφ2m−2

, · · · , e2πiφ20na saída do

circuito da figura 10 são iguais ae2πi(0.φm), e2πi(0.φm−1φm), · · · , e2πi(0.φ1···φm). Se consul-tarmos a figura 6 podemos nos convencer de que se aplicarmos a transformada de Fourierinversa na saída do primeiro registrador do circuito da figura 10 obteremos o resultado|φ1〉 · · · |φm〉. Isso quer dizer que o circuito completo para o cálculo da fase de um auto-valor é o circuito da figura 11.

Seφ tiver um número de casas decimais muito grande ou se for um número ir-racional, o algoritmo fornece uma aproximação para o valor da fase. A aproximaçãomelhora se o númerom de qubits do primeiro registrador for aumentado. Na verdadeoresultado é probabilístico e pode ser formalizado da seguinte forma. Sejaǫ a probabili-dade de erro do algoritmo en o número de casas decimais corretas deφ. Então o número

78

Page 13: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

|0〉 H · · · •

TF†

>= φ1

|0〉 H · · · •>=

φ2

|0〉 H • · · ·>=

φm−1

|0〉 H • · · ·>=

φm

|ψ〉 /nU20

U21 · · · U2m−2

U2m−1 |ψ〉

Figura 11. Circuito completo para cálculo da fase de um autov alor.

de qubits no primeiro registrador deve ser

m = n+

log(2 +1

2ǫ)

. (18)

EXERCÍCIO 5.4 (Difícil) Mostre quem deve ter no mínimo o valor descrito pela equação(18) caso se queiran dígitos deφ corretos com uma probabilidade de erroǫ.

Uma vez que vamos usar o circuito de cálculo de fase outras vezes, vamos descrevê-lo de uma forma mais sucinta. A figura 12 descreve o algoritmo como uma caixa preta. Osseus detalhes não são mostrados, porém as grandezas relevantes estão alí representadas(U , |ψ〉, φ). Note que a saída do primeiro registrador corresponde aos dígitos binários deφ. Comoφ é um número menor que 1, segue que a saída na verdade é o númeroφ2m ouuma aproximação desse número casoφ tenha mais do quem dígitos binários.

|0〉 /m

Fasem(U) >= aprox. paraφ2m

|ψ〉 /n |ψ〉

Figura 12. Circuito simplificado para cálculo da fase de um au tovalor φ de autovetor |ψ〉 do operadorU , onde U |ψ〉 = e2πiφ |ψ〉. O número de qubits m no primeiro registrador deve ser dado pela equação(18) caso se queira n dígitos de φ corretos com uma probabilidade de erro ǫ.

EXERCÍCIO 5.5 (Fácil) Mostre que o circuito abaixo

H⊗m • TF†

U

é equivalente ao circuito Fasem(U). Sugestão: use o exercício 2.2.

6. Algoritmo de Kitaev

O algoritmo de Shor calcula a ordem de um númeroxmoduloN desde que MDC(x,N) =1. Na terminologia de Teoria de Grupos dizemos que o algoritmode Shor calcula a or-dem dex no grupoZ

×N , chamado grupo das unidades, isto é, o conjunto dos números

inteiros positivosx menores queN tal que MDC(x,N) = 1 com a operação de multi-plicação moduloN . Uma questão natural que surge é se o algoritmo de Shor pode ser

79

Page 14: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

generalizado para o cálculo de ordem em outros grupos. Só para recordar, um grupo éum conjunto não vazio com uma operação binária que não precisa ser comutativa que sat-isfaz as propriedades de fechamento, associatividade, temo elemento identidade e todoelemento tem um elemento inverso no conjunto.

EXERCÍCIO 6.1 SejaG um grupo multiplicativo com o elemento identidadee e sejag ∈G. Mostre que o conjunto〈g〉 = g, g2, · · · , gr é um grupo comutativo onder é a ordemdeg, isto é, o menor inteiro tal quegr = e. O elementog é chamado de gerador do grupo< g >. Quando um grupo é gerado por um único elemento ele é dito cíclico.

O primeiro problema a se resolver é como representar os elementos do grupo nocomputador quântico. Vamos considerar grupos finitos. Seja|G| a ordem do grupoG. Onúmero de qubits deve ser pelo menos

n = ⌈log2 |G|⌉.

Cada elemento do grupo deve ser então “codificado” como um número binário den dígi-tos. Assim os vetores da base computacional vão corresponder aos elementos do grupoa menos de uma sobra. Se|G| < 2n então alguns vetores da base computacional nãotêm correspondência com elementos do grupo de forma que um subespaço do espaço deHilbert não é utilizado. Nesse subespaço assumimos que todos os operedores tem atuaçãotrivial, isto é, atuam como o operador identidade. Além disso assumimos que podemosimplementar a operação de multiplicação do grupo, isto é, se|j1 · · · jn〉 corresponde aoelementog1 ∈ G e |k1 · · · kn〉 corresponde ao elementog2 ∈ G então assumimos quepodemos encontrar o vetor|l1 · · · ln〉 da base computacional que corresponde ao elementog1g2. De agora em diante vamos usar a notação|g〉 para representar o vetor da basecomputacional correspondente ao elementog. Essa discussão mostra que é possível im-plementar o operador unitárioUh para um elemento genérico fixoh emG cuja atuação nabase computacional é

Uh |g〉 = |hg〉 . (19)

Também assumimos que o custo computacional da operaçãoUh |g〉 é baixo, melhor dizendo,assumimos que éO(1). O algoritmo de Kitaev resolve eficientemente o problema de achara ordem deUh, isto é, achar o menorr tal que(Uh)

r = I.

EXERCÍCIO 6.2 Mostre que (1)Uh é unitário, (2)(Uh)j = Uhj para qualquer inteiroj,(3) a ordem deUh é igual a ordem deh e (3)r ≤ |G|.

EXERCÍCIO 6.3 Como é a atuação deU †h na base computacional?

Suponha que|ψ〉 seja um autovetor deUh, isto é,Uh |ψ〉 = λ |ψ〉, ondeλ ∈ C é oautovalor correspondente. Uma vez que(Uh)

r |ψ〉 = |ψ〉, segue queλr = 1. Portantoλ éuma dasr-ésimas raízes da unidade. Para cadag ∈ G vamos definirr vetores indexadospork = 0, 1, · · · , r − 1 da seguinte forma

∣∣∣ψ

(g)k

=1√r

r−1∑

j=0

(ωr)jk∣∣ghj

⟩. (20)

Os vetores∣∣∣ψ

(g)k

são autovetores deUh cujos autovalores correspondentes são(ωr)k.

80

Page 15: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

EXERCÍCIO 6.4 Mostre que∣∣∣ψ

(g)k

são autovetores deUh com autovalores(ωr)k para

k = 0, 1, · · · , r − 1 e∀g ∈ G.

Note que a fase do autovalor(ωr)k do autovetor

∣∣∣ψ

(g)k

é kr. Comok é um inteiro

satisfazendo1 ≤ k < r, a determinação da fase pode nos dar o valor der poisk pode sercoprimo comr. Temos a nossa disposição o algoritmo para cálculo da fase, conhecemosUh e queremos a fase de um autovalor. O problema agora é como preparar o segundo reg-

istrador do circuito Fasem(Uh) da figura 12 como o autovetor∣∣∣ψ

(g)k

. Parece um problema

intransponível. No entanto existe uma estratégia um pouco diferente. A superposição dos

autovetores∣∣∣ψ

(g)k

para todos os valores dek fornece um vetor bastante conhecido, que é

|g〉 =1√r

r−1∑

k=0

∣∣∣ψ

(g)k

. (21)

EXERCÍCIO 6.5 Mostre que a equação (21) está correta.

A idéia é usar|g〉 como entrada do segundo registrador, como mostra o circuitoda figura13.

|0〉 /m

Fasem(Uh) >= aprox. parak02m

r

|g〉 /n˛

˛

˛ψ

(g)k0

E

Figura 13. Circuito para cálculo da ordem r do operador Uh dado pela equação (19).

A saída do circuito 13 pode ser surpresa para muitos leitores. Aprendemos queo circuito para cálculo de fase mantém o estado do segundo registrador invariante se aentrada for o autovetor em questão. Isso não acontece no circuito 13, pois|g〉 não é umautovetor deUn. Para calcular a saída temos que usar e equação (21) e a linearidade docircuito da seguinte forma

Fasem(Uh)(|0〉 |g〉) = Fasem(Uh)

(

1√r

r−1∑

k=0

|0〉∣∣∣ψ

(g)k

⟩)

=1√r

r−1∑

k=0

Fasem(Uh)(

|0〉∣∣∣ψ

(g)k

⟩)

=1√r

r−1∑

k=0

ωkr

∣∣∣∣

k2m

r

aprox

∣∣∣ψ

(g)k

. (22)

Ao medirmos o primeiro registrador obtemos uma aproximaçãode k02m/r para algum

valor dek0 com igual probabilidade no intervalo1 ≤ k < r. O estado do segundo

registrador passa a ser∣∣∣ψ

(g)k0

. A probabilidade de acerto do algoritmo é maior que 1/2

pois existem mais númerosk coprimos comr do que números com fatores comuns.

81

Page 16: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

7. Algoritmo de Watrous

Nesta seção abordaremos o problema do cálculo da ordem de um grupo solúvel, apre-sentando um algoritmo quântico eficiente para a sua solução.Vale ressaltar que não épossível construir algoritmo clássico eficiente para resolver esse problema no caso geral.O algoritmo que apresentaremos é uma generalização do algoritmo de Shor.

Nessa seção e na seguinte estamos supondo que o leitor tenha já alguma famil-iaridade com teoria de grupos. Vamos relembrar rapidamentealguns conceitos básicos.Um grupoG é dito abelianose a operação binária do grupo for comutativa.H ⊆ G édito umsubgrupodeG seH forma um grupo com o operação binária deG. Neste caso,escrevemosH ≤ G. Sejaa ∈ G, o conjuntoaH = g ∈ G |g = ah para algumh ∈ Hé chamado umaclasse lateraldeH emG com representantea. Um subgrupoH deG édito normalseH = gHg−1 para todog ∈ G, neste caso escrevemosH E G.

Vamos agora a definir o que é um grupo solúvel e descrever algumas de suaspropriedades básicas. Existe vasta literatura a respeito dessa classe de grupos como men-cionamos na bibliografia. Ao longo de toda esta seção sempre consideraremosG finito.Um grupoG é solúvel se existemg1, · · · , gm ∈ G tais que, definindoHj = 〈g1, · · · , gj〉temos

G = Hm D · · · D H1 D H0 := e. (23)

Note que pela normalidade deHj−1 emHj, temos quegjHj−1 = Hj−1gj e, assim,Hj =〈gj〉Hj−1. Uma série de subgrupos como (23) é chamada umasérie subnormal.

EXERCÍCIO 7.1 Mostre queHj = 〈gj〉Hj−1 e que na série subnormal (23) os quocientessão todos cíclicos, comHj/Hj−1 = 〈gjHj−1〉.

Dado um grupoG, um subgrupoH deG e g ∈ G, define-se aordem deg emrelação àH, denotada porrH(g), como

rH(g) := mind ∈ N; gd ∈ H.

SendoG um grupo solúvel denotamosrj := rHj−1(gj).

EXERCÍCIO 7.2 Mostre que

rj = |Hj/Hj−1| = | 〈gjHj−1〉 |.

Conclua daí que|G| =∏m

j=1 rj.

Assim como no algoritmo de Kitaev, admitimos que os elementos do grupoGestejam codificados como um número binário den dígitos. Nesta codificação a operaçãodo grupo é efetuada por uma transformação unitária que, paracadag ∈ G fixo, atua daseguinte forma

Ug |h〉 = |gh〉 .

O algoritmo quântico que iremos apresentar computa eficientemente a ordem deum grupo solúvel e, além disso, produz um estado quântico queaproxima, com alta prob-

82

Page 17: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

abilidade, uma superposição uniforme dos elementos desse grupo. A superposição uni-forme dos elementos de um conjuntoS é definida como o estado

|S〉 :=1

|S|∑

g∈S|g〉 .

O algoritmo combina duas subrotinas. A primeira delas computa a ordem de um elemento,g ∈ G, em relação à um subgrupoH ≤ G. A segunda, converte superposições uniformesdos elementos do subgrupoH, em superposições uniformes do subgrupo〈g〉H. Vamosapresentar as duas subrotinas e depois combiná-las num algoritmo principal, obtendo oresultado desejado.

Pelo Execício 7.2 vemos que se soubermos calcular a ordemrj dos elementosgjem relação ao subgrupoHj−1 teremos calculado a ordem do grupoG. Nesta seção de-screvemos como fazer isso. O algoritmo é basicamente o algoritmo de Shor para cálculode ordem. A diferença reside no fato de iniciarmos um dos registradores com uma su-perposição uniforme dos elementos do subgrupo em questão. Surge aqui uma dificuldadeque será superada à frente: Como criar eficientemente essas superposições?

SejaH um subgrupo deG eg um elemento qualquer deG. Desejamos determinarr = rH(g). Considere um circuito quântico com dois registradores,R eA, o primeiro

inicializado com a superposição|H〉 =(

1/√

|H|)∑

h∈H |h〉 e o segundo inicializado

no estado|0〉 correspondente àZN , ondeN será escolhido posteriormente. A figura 14mostra um circuito para o cálculo der.

Vg↓

|0〉 /? TFN • TF†N

|H〉 /? UgNM

↑ ↑ ↑ ↑ ↑|ϕ1〉 |ϕ2〉 |ϕ3〉 |ϕ4〉 |ϕ5〉Figura 14. Circuito para o cálculo da ordem rH(g).

A porta TFN é, como antes, a transformada de Fourier emZN e TF†N sua transpostaconjugada. A portaVg é definida como

Vg(|a〉 |h〉) = |a〉 (Ug)a |h〉

= |a〉 |gah〉 (24)

e sua implementação foi discutida no exercício 2.2. Vamos agora descrever passo a passoos estados|ϕ1〉 · · · |ϕ5〉 do algoritmo. Para o estado inicial|ϕ1〉 = |0〉 |H〉, vamos suporque saibamos montar a superposição uniforme|H〉. O circuito começa aplicando a trans-formada de Fourier no primeiro registrador, que produz uma superposição dos elementosdeZN da seguinte forma

|ϕ2〉 = |ZN〉 |H〉 =1√N

N−1∑

a=0

|a〉 |H〉 .

83

Page 18: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Quando a portaVg atua sobre o estado|ϕ2〉 obtemos

|ϕ3〉 =1√N

N−1∑

a=0

|a〉 |gaH〉 .

Desde queN seja suficientemente grande,N ≫ r, podemos rearranjar o estado|ϕ3〉, jun-tando os estados do primeiro registrador que tem o mesmo estado no segundo registrador.Por simplicidade, admitamos quer | N . Note que os únicos valores distintos possíveispara o segundo registrador sãoH, gH, g2H, · · · , gr−1H, já quer = rH(g). Assim, dadoa ∈ 0, · · · , N − 1, podemos escrevê-lo comoa = a′ + br onde0 ≤ a′ ≤ r − 1 e0 ≤ b ≤ N/r − 1 e temos quegaH = ga

′gbrH = ga

′H. Assim |ϕ3〉 pode ser reescrito

como

|ϕ3〉 =1√N

r−1∑

a′=0

Nr−1∑

b=0

|a′ + br〉∣∣∣ga

′H⟩

.

Aplicando a transposta conjugada da transformada de Fourier, tomamos a informaçãoimportante contida no ket|a′ + br〉 e a colocamos no expoente de uma fase. Por simpli-cidade, trocaremos o símboloa′ pora. O estado resultante é:

|ϕ4〉 =1

N

r−1∑

a=0

Nr−1∑

b=0

N−1∑

c=0

ω−c(a+br)N |c〉 |gaH〉 ,

ondeω−c(a+br)N = e−

2πic(a+br)N . Efetuando a medida no primeiro registrador, o estado|ϕ4〉

é projetado em

|ϕ5〉 =1√N

r−1∑

a=0

Nr−1∑

b=0

ω−c0(a+br)N |c0〉 |gaH〉

para algum valor dec0 como discutiremos adiante. Rearranjando este estado, temos

|ϕ5〉 =1√N

r−1∑

a=0

Nr−1∑

b=0

ω−c0brN

ω−c0kN |c0〉 |gaH〉 .

Note a semelhança com o algoritmo de Shor. Usando a identidade (8) segue quec0 =sN/r, coms uniformemente distribuído entre0 e r − 1. Dividindo porN obtemoss/r.EscolhendoN = 22n+O(log(1/ε)), 0 < ε < 1, pelo método das frações repetidas encon-tramosu e v coprimos, tais queu/v = s/r com probabilidade1 − ε. O v assim deter-minado ou é o próprior ou algum de seus fatores primos. Para determinarr, repetimostodo o procedimentoO (log (1/ε)) vezes e calculamos o mínimo múltiplo comum entreos váriosv’s encontrados. Isto irá determiná-lo com probabilidade depelo menos1 − ε.

Passamos agora a descrição da segunda subrotina. Como mencionamos anteri-ormente, ao iniciarmos o algoritmo anterior, pressupomos aexistência de um estado desuperposição de todos os elementos do subgrupoH. Descreveremos agora um métodopara converter superposições uniformes dos elementos do subgrupoH em superposiçõesuniformes do subgrupo〈g〉H, ou seja, converter|H〉 em |〈g〉H〉. Seja entãoH ≤ G eg ∈ G com a suposição adicional quegH = Hg.

84

Page 19: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

EXERCÍCIO 7.3 Mostre que nessas condições〈g〉H é um subgrupo deG tal queH E

〈g〉H. Além disso,| 〈g〉H/H| = rH(g).

Supondo que tenhamos várias cópias de|H〉, desejamos convertê-las em cópiasde |〈g〉H〉. Para simplificar a notação, sejar = rH(g). Tomemosl suficientementegrande, mais tarde o definiremos apropriadamente. ConsidereregistradoresR1, · · · , Rl

todos inicializados no estado|H〉. Sejam aindaA1, · · · , Al registradores inicializadoscom|0〉, onde aqui0 ∈ Zr. O circuito na figura 15 dará início à conversão dasl cópias de|H〉 eml − 1 cópias de|〈g〉H〉.

A1 = |0〉 TFr • TFrNM

R1 = |H〉 Ug...

......

Ai = |0〉 TFr • TFrNM

Ri = |H〉 Ug...

......

Al = |0〉 TFr • TFrNM

Rl = |H〉 Ug

↑|ϕ〉

Figura 15. Circuito para início da conversão das cópias de |H〉 em cópias de |〈g〉H〉.

Para cada par de registradores(Aj, Rj), a ação do circuito da figura 15 é equiv-alente à ação do circuito da figura 14 exceto pelo fato da medida ser feita sobre os reg-istradoresA’s. Deixamos então o seguinte exercício.

EXERCÍCIO 7.4 Mostre que o estado|ϕ〉 da figura 15 é

|ϕ〉 =

1

r

aj∈Zr

bj∈Zr

ωajbjr |bj〉 |gajH〉

⊗l

Efetuada a medida nos registradoresAj e denotando porb′j o resultado da medidapara cadaj = 1, · · · , l, o registradorRj, após a renormalização, se encontra no estado|ψj〉 dado por

|ψj〉 =1√r

aj∈Zr

ωajb

′j

r |gajH〉 .

Se escolhemosl ∈ Ω((log log r)(log(1/ε))), 0 < ε < 1, a probabilidade de um dessesb′jser coprimo comr é, no mínimo,1−ε. Assumindo que seja este o caso, escolhak tal queb′k seja coprimo comr. Agora usaremos o estado|ψk〉 para converter os demais estados|ψj〉 em cópias de|〈g〉H〉. Primeiro, notemos que|ψk〉 é autovetor da transformaçãoUgsh qualquer que sejas ∈ Zr e h ∈ H, lembre-seUgsh |h′〉 = |gshh′〉. De fato, como

85

Page 20: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

gH = Hg

Ugsh |ψk〉 =1√r

ak∈Zr

ωakb

′k

r |gshgakH〉

=1√r

ak∈Zr

ωakb

′k

r |gsgakhH〉

=1√r

ak∈Zr

ωakb

′k

r

∣∣gs+akH

=1√r

a′k∈Zr

ω(a′k−s)b′kr

∣∣∣ga

′kH⟩

= ω−sb′kr |ψk〉 .

Comob′k é coprimo comr, para cadaj = 1, · · · , l, j 6= k sejacj ∈ N tal quecj ≡ b′jb−1k

mod r. De maneira análoga ao que fizemos anteriormente, mostra-seque |gsh〉 |ψk〉também é um autovetor deU cj

G .

EXERCÍCIO 7.5 Mostre que|ψk〉 é autovetor da transformaçãoU cjgsh quaisquer que sejam

s ∈ Zr, j = 1, · · · , l, j 6= k eh ∈ H com

Ucjgsh |ψk〉 = ω

−sb′jr |ψk〉 .

Vamos definir o operadorU

U(|g〉 |h〉) = |g〉Ug |h〉 = |g〉 |gh〉 .

EXERCÍCIO 7.6 Mostre queU é unitário.

Além disso, temos que

U cj |gsh〉 |ψk〉 = ω−sb′jr |gsh〉 |ψk〉 .

quaisquer que sejams ∈ Zr, j = 1, · · · , l, j 6= k eh ∈ H.

EXERCÍCIO 7.7 Verifique a afirmação anterior.

Dito isto, usaremos agora o estado|ψk〉 para converter cada um dos estados|ψj〉em cópias da superposição uniforme dos elementos do grupo〈g〉H. Considere para cadapar (Rj, Rk) o circuito, exibido na figura 16, onde um novo registrador foicriado paracarregar o qubitcj. Mostraremos que ele converte o estado|ψj〉 em uma cópia de|〈g〉H〉

86

Page 21: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

e mantém|ψk〉 inalterado. De fato, temos que:

Vg |cj〉 |ψj〉 |ψk〉 = U cj |ψj〉 |ψk〉

=1

r|H|∑

aj∈Zr

h∈Hωajb

′j

r U cj |gajh〉 |ψk〉

=1

r|H|∑

aj∈Zr

h∈Hωajb

′j

r ω−ajb

′j

r |gajh〉 |ψk〉

=1

r|H|∑

aj∈Zr

h∈H|gajh〉 |ψk〉

= |〈g〉H〉 |ψk〉

Vg↓

|cj〉 •|ψj〉

U|ψk〉

Figura 16. Este circuito converte o estado |ψj〉 no estado |〈g〉H〉.

Repetindo este argumento para cadaj 6= k resulta na obtenção del − 1 cópiasde |〈g〉H〉. Após isso, podemos descartar o estado|ψk〉. Vemos que a conversão dascópias de|H〉 em cópias de|〈g〉H〉 pode ser feita eficientemente e com probabilidade decorreção tão alta quanto desejarmos.

Iremos agora mostrar o algoritmo que, combinando as duas subrotinas mostradasaté aqui, computa a ordem do grupoG. Relembrando as nossas hipóteses, temos umgrupoG solúvel, portanto, existemg1, · · · , gm ∈ G tais que sendoHj = 〈g1, · · · , gj〉tem-se

G = Hm D · · · D H1 D H0 := e,

comHj = 〈gj〉Hj−1, rj = rHj−1(gj) = |Hj/Hj−1| e r = |G| =

∏mj=1 rj.

O algoritmo será inicializado com uma grande quantidade,K ∈ N, de cópiasdo estado|e〉, que podem ser obtidas trivialmente. Após isso, o algoritmoexecuta asoperações conforme mostra a figura 16.

A fim de que ele calculer com erro limitado por0 < ε < 1, é necessário que emcada volta do laço, o erro cometido seja no máximoε/m. Assim, o cálculo derj deveser feito com erro máximoε/2m e também a conversão das cópias de|Hj−1〉 em cópiasde |Hj〉 deve ser feita com erro máximoε/2m. Desta forma,K deve ser escolhido paraatender às necessidades tanto do cálculo de ordem, quanto para a conversão das cópias,sendo suficiente escolherK = O(log n log(m/ε)). No algoritmo, quando usamosK − 1cópias de|Hj−1〉 para computarrj, significa que o procedimento para cálculo de ordem,primeira subrotina apresentada, se repetirák − 1 vezes. Note também, que a cada volta

87

Page 22: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Algoritmo 1 Algoritmo para o cálculo da ordem de um grupo solúvelG.Entrada: K(m+ 1) cópias do estado|e〉.Saída: r = |G| =

∏mj=1 rj.

1: PrepareK(m+ 1) cópias do estado|e〉.2: para j from 1 tom, downwardfaça3: UseK − 1 cópias de|Hj−1〉 para computarrj e descarte estas cópias.4: Use uma das cópias de|Hj−1〉 para converter as cópias restantes em cópias de|Hj〉.

Descarte a cópia não convertida.5: fim para

do laço,K cópias são descartadas. Portanto, na última volta,K cópias serão descartadase asK cópias remanescentes serão convertidas em cópias de|G〉.

Por fim, concluímos que com a escolha feita paraK, a ordemr deG e a su-perposição|G〉 são computadas em tempo quântico polinomial emnm + O(1/ε), comprobabilidade de acerto de pelo menos1 − ε.

8. Algoritmo para Decompor Grupos Abelianos

O Teorema Fundamental de Grupos Finitos Abelianos nos diz que qualquer grupo finitoabeliano pode ser decomposto como uma soma direta de subgrupos cíclicos cujas ordenssão potências de primos. Entretanto, não é conhecido nenhumalgoritmo clássico queexplicite este isomorfismo eficientemente. Por exemplo, considere o grupo das unidadesZ

×N . Nenhum algoritmo eficiente para determinar um conjunto gerador para esse tipo de

grupo abeliano é conhecido. Consequentemente não podemos determinar eficientementea decomposição deZ×

N como uma soma direta de subgrupos cíclicos. Nesta seção apre-sentaremos um algoritmo quântico eficiente para fazer a decomposição.

SejamG1, . . . , Gn grupos, definimos oproduto diretodeG1, . . . , Gn como sendoo produto cartesianoG1 × . . .×Gn com a operação

(g1, . . . , gn) · (h1, . . . , hn) := (g1h1, . . . , gnhn). (25)

EXERCÍCIO 8.1 Mostre queG1 × . . .×Gn é de fato um grupo com a operação definidaem (25). Sugestão: o elementro neutro deG1 × . . . × Gn é (e1, . . . , en), ondeei é oelemento neutro deGi, i = 1, . . . , n; o elemento inverso de(g1, . . . , gn) é (g−1

1 , . . . , g−1n ).

No produto direto, um novo grupo é gerado a partir dos gruposG1, . . . , Gn. Cada grupopode ter um tipo diferente de produto, isto é, o produto dos elementos deG1 não precisater relação com o produto dos elementos deG2. Um conceito relacionado ao produtodireto é a soma direta, no entanto nesse último temos um únicoproduto binário. Quandoum grupoG e subgruposH1, . . . , Hn satisfazem as condições i)G = H1 . . . Hn, ii) Hi

Gi, ∀ i = 1, . . . , n., iii) Hi ∩ (H1 . . . Hi−1Hi+1 . . . Hn) = e, ∀ i = 1, . . . , n, dizemosqueG é asoma diretadeH1, . . . , Hn e escrevemosG = H1 ⊕ . . .⊕Hn.

EXERCÍCIO 8.2 Mostre que seH é um subgrupo de um grupo abelianoG, então o con-junto das classes laterais deH formam um grupo com a multiplicação de classes lateraisdefinida por

g1H · g2H = g1g2H

88

Page 23: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

para todog1, g2 ∈ G. Este grupo é denotado porG/H.

EXERCÍCIO 8.3 SejaH um subgrupo de um grupo abelianoG. Mostre que seg1, . . . , gkgeramG, entãog1H, . . . , gkH geramG/H.

SejaG um grupo ep um número primo. SejaH ≤ G. EntãoH é dito ump-subgrupo de SylowdeG se|H| = pα para algumα ∈ N tal quepα divide |G| maspα+1

não divide.

EXERCÍCIO 8.4 Mostre que todo grupo finito abelianoG pode ser expresso como umasoma direta de seusp-subgrupos de Sylow. Sugestão: use o fato de que todop-subgrupodeG é normal emG e as ordens dosp-subgrupos são coprimas.

EXERCÍCIO 8.5 SejaH um subgrupo deG = Gp1 ⊕ . . . ⊕ GplondeGpi

é um pi-subgrupo de Sylow para todoi = 1, . . . , l e p1, . . . , pl primos distintos. Mostre queexisteHpi

≤ Gpi, i = 1, . . . , l tal queH = Hp1 ⊕ . . . ⊕ Hpl

. Sugestão: definaΠi : G → Gpi

, tal que (g1, . . . , gl) 7→ gi, i = 1, . . . , l e Hi = Πi(H). VerifiquequeHi ≤ Gpi

eH ≤ H1 ⊕ . . . ⊕ Hl. Tome(h1, . . . , hl) ∈ H1 ⊕ . . . ⊕ Hl e note que|Gp1|, . . . , |Gpl

| são dois a dois primos entre si, assim utilize o Teorema Chinêsdo Restose conclua que(h1, 0, . . . , 0), (0, h2, . . . , 0), (0, 0, . . . , hl) ∈ H.

Uma matrizU é ditaunimodularse ela é composta apenas de elementos inteiros eseu determinante tem módulo unitário. Sabemos que a matrizU−1 pode ser determinadaem geral pela fórmula

U−1ij =

1

det(U)(−1)i+j det(U ij), (26)

ondeU ij é a matriz obtida eliminando ai-ésima linha ej-ésima coluna da matrizU .ComoU−1

ij é um inteiro, concluímos que a matrizU−1 é inteira.

EXERCÍCIO 8.6 Mostre queU é unimodular se, e somente se,U−1 é unimodular.

Chamamos deoperações elementaresas seguintes operações sobre as colunas deuma matriz:

1. trocar duas colunas de lugar;2. multiplicar uma coluna por−1;3. adicionar um múltiplo inteiro de uma coluna numa outra coluna;

As operações elementares sobre as linhas são definidas de forma análoga.

TEOREMA 8.1 Para qualquer matriz com entradas inteirasA, pode-se determinar emtempo polinomial usando operações elementares sobre as linhas e colunas deA matrizes

unimodularesU e V tais queUAV =

[D 00 0

]

, ondeD = diag(d1, . . . , dk) é uma

matriz diagonal com entradas inteirasd1, . . . , dk tais qued1|d2| . . . |dk, e para cadai, oprodutod1, . . . , di é igual aomdc dos subdeterminantes deA de ordemi. Dizemos que a

matriz

[D 00 0

]

é a forma normal de Smith de A.

89

Page 24: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

O teorema que vamos enunciar logo abaixo é parte fundamentaldo algoritmo dedecomposição de grupos abelianos.

TEOREMA 8.2 Dado um conjunto geradora1, . . . , ak de um grupo finito abelianoG euma matrizM tal queax1

1 . . . axkk = e se, e somente se,x = (x1, . . . , xk)

T ∈ intcol(M),onde intcol(M) denota o conjunto dos valores obtidos tomando combinações linearesinteiras das colunas deM , nós podemos determinar em tempo polinomial (no tamanhodeM ) g1, . . . , gl, coml ≤ k tais que,G = 〈g1〉 ⊕ . . .⊕ 〈gl〉.

Demonstração: Pelo teorema 8.1, podemos achar em tempo polinomial matrizes uni-

modularesUk×k eVn×n tais queU−1k×kMk×nVn×n =

[D 00 0

]

︸ ︷︷ ︸

D′

, ondeD = diag(d1, . . . , dm)

é uma matriz diagonal com entradas inteirasd1, . . . , dm. ComoV é unimodular, temosque

intcol(MV ) = intcol(M). (27)

Assim,ax1

1 . . . axkk = e⇔ x = (x1, . . . , xk)

T ∈ intcol(MV ).

Agora para cadai, j = 1, . . . , k, sejari a ordem dea′i, ondea

′i = au1i

1 . . . aukik euji

são as entradas da matrizU . Pela proposição 8.1a′1r1 . . . a′k

rk = e se, e somente se,di|ri,logodi = ri pela minimalidade deri. Observe também que devemos term = k. De fato,suponhamos por absurdo quem = k − j, para algum1 ≤ j ≤ k − 1, então invocandonovamente a proposição 8.1 temos

(a′1x1 . . . a′k−j

xk−j)a′k−j+1xk−j+1 . . . a′k

xk = e

⇔ a′k−j+1xk−j+1 . . . a′k

xk = e

⇔ xk−j+1 = . . . = xk = 0.

Mas isso é um absurdo, pois, comoG é finito, existem inteiros positivosrk−j+1, . . . , rk,tais que

a′k−j+1rk−j+1 . . . a′k

rk = e, (28)

onderk−j+1, . . . , rk são as ordens dos elementosa′k−j+1, . . . , a′k, respectivamente. Por-

tanto,m = k.

Agora, sejaj o menor índice tal quedj > 1. Considere o conjunto formadopelosgi = a

′i+j−1 para todoi = 1, . . . , l, ondel = m − j + 1. É claro que o conjunto

g1, . . . , gl ainda geraG e a ordem de cadagi é di+j−1. Com efeito, suponhamos qued1 = . . . = dj−1 = 1. Daí temos quea

′1 = . . . = a

′j−1 = e (pois di é a ordem de

a′i). Assim, se retirarmos as identintades do conjunto de geradores, ainda continuaremos

com um conjunto de geradores paraG. Observe ainda que são satisfeitas as seguintespropriedade para o grupoG:

(1)G = 〈g1, . . . , gl〉 = 〈g1〉 . . . 〈gl〉;(2) Para todog ∈ G, existem elementos unicamente determinadosx1 ∈ 〈g1〉 , . . . , xl ∈

〈gl〉 tais queg = x1 . . . xl;(3) 〈gi〉 ∩ (〈g1〉 . . . 〈gi−1〉 〈gi+1〉 . . . 〈gl〉) = e, ∀ i = 1, . . . , l.

90

Page 25: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Portanto, segue direto das relações (1), (2) e (3) acima queG = 〈g1〉 ⊕ . . . ⊕ 〈gl〉 e comisto provamos o teorema 8.2.

EXERCÍCIO 8.7 Mostre que a equação (27) está correta.

EXERCÍCIO 8.8 Mostre queG =⟨a

′1, . . . , a

′k

⟩.

EXERCÍCIO 8.9 Mostre que o grupoG satisfaz as propriedades (1), (2), e (3) na demon-stração do teorema 8.2.

PROPOSIÇÃO8.1 Sejaa′i = au1i1 . . . auki

k , ∀ i = 1, . . . , k. Então as seguintes condiçõessão equivalentes:

(i) a′1

x1. . . a

′k

xk = e(ii) (x1, . . . , xk)

T ∈ intcol(D′)(iii) di|xi parai = 1, . . . ,m exi = 0 parai = m+ 1, . . . , k.

Demonstração: De fato, para provarmos que (i)⇒ (ii), observe que

a′1

x1. . . a

′k

xk= a

x1u11 + . . .+ xku1k︸ ︷︷ ︸

z1

1 . . . a

x1uk1 + . . .+ xkukk︸ ︷︷ ︸

zk

k = e

⇔ z = (z1, . . . , zk)T ∈ intcol(M) = intcol(MV ) = intcol(UD′).

Logo,

z1 = α1u11d1 + . . .+ αmu1mdm + αm+1u1m+1.0 + . . .+ αnu1k.0

z2 = α1u21d1 + . . .+ αmu2mdm + αm+1u2m+1.0 + . . .+ αnu2k.0... (29)

zk = α1uk1d1 + . . .+ αmukmdm + αm+1ukm+1.0 + . . .+ αnukk.0.

Substituindozi = x1ui1 + . . . + xkuik nas equações em (29) para todoi = 1, . . . , k,obtemos

(x1 − α1d1)u11 + . . .+ (xm − αmdm)u1m + xm+1u1m+1 + . . .+ xku1k = 0

(x1 − α1d1)u21 + . . .+ (xm − αmdm)u2m + xm+1u2m+1 + . . .+ xku2k = 0

(x1 − α1d1)uk1 + . . .+ (xm − αmdm)ukm + xm+1ukm+1 + . . .+ xkukk = 0

ou equivalente,

(x1 − α1d1)

u11

u21...uk1

+ . . .+ (xm − αmdm)

u1m

u2m...

ukm

+ . . .+ xk

u1k

u2k...ukk

=

00...0

⇔ x1 = α1d1, . . . , xm = αmdm, comxi = 0 ∀ i = m + 1, . . . , k, pois,U é invertível.Logo,(x1, . . . , xk)

T ∈ intcol(D′).

91

Page 26: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Que (ii) ⇒ (iii), segue imediatamente da definição de intcol(D′). Finalmente,vamos mostrar que (iii)⇒ (i). Com efeito, segue de (iii) que existem inteiros positivosα1, . . . , αm tais que

a′1x1 . . . a′k

xm = ax1u11+...+xmu1m1 . . . ax1uk1+...+xmukm

k

= aα1d1u11+...+αmdmu1m1 . . . aα1d1uk1+...+αmdmukm

k

= ay11 . . . ayk

k ,

ondey = (y1, . . . , yk)

T ∈ intcol(UD′) = intcol(M). (30)

Mas por hipóteseay11 . . . ayk = e, portanto,a′1x1 . . . a′k

xk = e, e com isto terminamos aprova.

Computadores quânticos prometem resolver certos problemasassintoticamentemais rápido do que seus equivalentes clássicos. A maior parte dos algoritmos quânticoscom ganho exponencial em relação aos seus equivalentes clássicos pode ser consideradacasos particulares do chamado Problema do Subgrupo Escondido (PSE). O PSE consisteem achar os geradores de um subgrupoH de um determinado grupo finitoG com umafunção oráculof definida emG tal quef(a) = f(b) se, e somente se,aH = bH para todoa, b ∈ G. O PSE em grupos abelianos é resolvido eficientemente num computador quân-tico. O algoritmo para o PSE abeliano requer que o grupo finitoG seja identificado comZN1× . . .×ZNk

. Mostraremos que usando o algoritmo para o PSE abeliano, nóspodemosdeterminar o isomorfismo responsável pela identificação deG comZN1 × . . . × ZNk

deforma eficiente. Para isto faremos algumas suposições sobreo grupoG.

1. Temos uma única representação binária para cada elementodeG e podemos re-conhecer eficientemente se uma palavra binária representa um elemento deG ounão.

2. Usando a representação binária, para qualquera ∈ G, podemos construir umoperador linear unitário eficienteUa, tal que,Ua : |y〉 → |ay〉 .

3. Podemos achar um conjunto gerador paraG eficientemente.4. As ordens dos geradores são potências de primos.

Para a suposição 3 veja o teorema abaixo.

TEOREMA 8.3 SejaG um grupo finito. Para qualquer inteirot ≥ 0, a probabilidade quet+ ⌈log |G|⌉ elementos escolhidos aleatoriamente deG geremG é dada por

prob⟨g1, g2, . . . , gt+⌈log |G|⌉

⟩= G ≥ 1 − 1

2tparat ≥ 0.

Afim de entendermos a suposição 4, sejaa um elemento no conjunto gerador deG de ordempq, onde mdc(p, q) = 1, p 6= 1 e q 6= 1. Note que podemos encontrarp e qeficientemente utilizando o algoritmo de Shor. Então pelo algoritmo Euclidiano, podemosencontrar inteirosr es, tais que,rp+ sp = 1. Assim, temos que

a = arp+sq = arpasq, (31)

92

Page 27: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

e é fácil verificar que a ordem dearp é q e a ordem desq é p (Mostre!). Sep e q sãopotências de primos, basta substituirmosa por arp e asq, que continuamos com um con-junto gerador, caso contrário, repetimos este procedimento, agora utilizando as ordenspe q. Façamos isto até que cada elemento no conjunto de geradorestenha ordem potênciade primo.

Para a suposição 2, já que conhecemos a ordempq dea, podemos calcular eficien-tementea−1 = apq−1, e portanto, calcularU−1

a .

Sabemos que seG é um grupo finito abeliano entãoG pode ser espresso comouma soma direta de seusp-subgrupos de Sylow. Estesp-subgrupos de Sylow podemser determinados eficientemente, uma vez que conhecemos a decomposição da ordem dogrupo em seus fatores primos utilizando o algoritmo de Shor.Seja entãoG = Gp1 ⊕. . . ⊕ Gpl

ondeGpié umpi-subgrupo de Sylow deG compi primos distintos, para todo

i = 1, . . . , l. Considere o conjuntoSj formado por todos os elementos no conjuntogerador deG cujas ordens são potências do primopj. Veremos na proposição a seguir, aimportância de termos definido o conjuntoSj desta forma .

PROPOSIÇÃO8.2 SeG = Gp1 ⊕ . . . ⊕ GplondeGpi

é umpi-subgrupo de Sylow deGpara todoi = 1, . . . , l ep1, . . . , pl são primos distintos, entãoSj geraGpj

.

Demonstração: Para cadaa ∈ Sj, sejaKa = 〈a〉. Pelo exercício (8.5), nós temosKa = Kp1 ⊕ . . .⊕Kpl

ondeKpi≤ Gpi

para todoi = 1, . . . , l. ComoKa é umpj-grupo,devemos terKa ≤ Gpj

, o que implica queSj ⊂ Gpj, portanto,〈Sj〉 ⊂ Gpj

. Agora vamosmostrar queGpj

⊂ 〈Sj〉. De fato, seg ∈ Gpjentão|g| = pαj para algum inteiro positivo

α. Por outro lado,g ∈ G, entãog = aα11 . . . aαk

k comai no conjunto de geradores deGpara todoi = 1, . . . , k. Como|g| = pαj , devemos ter|aαi

i | = pαij ∀ i = 1, . . . , k. Mas isto

implica queg ∈ Sj, logo,Gpj⊂ 〈Sj〉 e isto demonstra a proposição 8.2.

A proposição 8.2 nos diz como achar um conjunto de geradores para cadap-subgrupo de Sylow deG. Então, podemos obter uma decomposição paraG tomandoo produto das decomposições dosp-subgrupos de Sylow deG. Desta forma, o problemade achar uma decomposição paraG resume-se ao problema de achar a decomposição paracadap-subgrupo de Sylow deG.

O algoritmo que descreveremos logo abaixo, determina a decomposição de cadap-subgrupo de Sylow deG, uma vez dado o seu conjunto de geradores.

Verifiquemos agora que o algoritmo DecomporSylow realmenteexpressa ump-subgrupo de Sylow como uma soma direta de subgrupos cíclicoscom ordens potênciasde primos.

Observe que o subgrupo escondidoK deZkq é o conjunto

K = x ∈ Zkq | ρ(x) = ax1

1 . . . axkk = e (32)

É fácil ver que a funçãoρ é um homomorfismo sobrejetor deZkq emG, logo, temos

um isomorfismo entreZkq/K eG. Assim se o conjuntoy1, . . . , yl geraZ

kq/K, então

ρ(y1), . . . , ρ(yl) geraG.

93

Page 28: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Algoritmo 2 DecomporSylow1: ENTRADA :2: Um conjunto geradora1, . . . , ak de ump-subgrupo de Sylow deG.3: q = maxpri , ondepri = |ai| ∀ i = 1, . . . , k.4: SAÍDA :5: Um conjunto de elementosg1, g2, . . . , gl, l ≤ k, deGp.6: PROCEDIMENTO :7: Definaρ : Z

kq → G tal que(x1, . . . , xk) 7→ ax1

1 . . . axkk . Determine os geradores para

o subgrupo escondidoK deZkq definido pela funçãoρ.

8: Calcule um conjuntoy1,. . .,yk ∈ Zkq/K de geradores paraZq

k/K.9: Saída é o conjuntog(y1), . . . , g(yl).

EXERCÍCIO 8.10 Mostre que a equação (32) está correta.

EXERCÍCIO 8.11 Mostre que a aplicaçãoρ definida pelo algoritmo DecomporSylow éum homomorfismo sobrejetor. Conclua então queker(ρ) = K.

EXERCÍCIO 8.12 Mostre queZkq/K eG são isomorfos. Sugestão: use o exercício ante-

rior seguido do Teorema dos Isomorfismos.

Vejamos agora como podemos determinar os geradores deZkq/K. Observe que

e1, . . . , ek geramZkq , ondeei é um0, 1-vetor com 1 nai-ésima coordenada. Além disso,

sejaM = qI, ondeI é a matriz identidade de ordemk. Não há dificuldades em demonstrarque

x1e1 + . . .+ xkek = 0 (emZkq) ⇔ x ∈ intcol(M). (33)

EXERCÍCIO 8.13 Mostre que a expressão (33) está correta.

Agora note que, comoK ≤ Zkq ee1, . . . , ek geraZ

kq , temos que

e1 +K, . . . , ek +K

geraZkq/K (veja exercício (8.3)). Observe também que

v1(e1 +K) + . . .+ vk(ek +K) = K (34)

se, e somente se,Iv ∈ K, ondeI é a matriz identidade ev = (v1, . . . , vk)T .

EXERCÍCIO 8.14 Verifique que a equação dada em (34) está correta.

PROPOSIÇÃO8.3 SejaA a matriz cujas colunas são os geradores do subgrupo escondidoK. EntãoIv ∈ K se, e somente se,v ∈ intcol([M |A]), onde

[M |A] =

q · · · 0 |...

.. .... | A

0 · · · q |

,

94

Page 29: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Demonstração: Note que,Iv ∈ K se, e somente se, existe um vetorx tal que

Iv = Ax⇔ Iv = IAx⇔ I(v − Ax) = 0⇔ v − Ax ∈ intcol(M) (veja equação(33))⇔ v − Ax = α1qe1 + . . .+ αkqek⇔ v = α1qe1 + . . .+ αkqek + Ax⇔ v ∈ intcol([M |A]).

Aplicando o teorema 8.2 ao conjunto de geradores

ei +K | i = 1, . . . , k (35)

deZkq/K e fazendoM ′ = [M |A], nós obtemosy1,. . . ,yl∈ Z

kq/K tal que

Zkq/K = 〈y1〉 ⊕ . . .⊕ 〈yl〉 (36)

como desejado.

EXEMPLO 8.1 Veremos agora uma aplicação do algoritmo DecomporSylowno grupoZ

×35. O grupoZ

×35 é gerado pelo conjunto8, 16 (verifique!). Podemos verificar facil-

mente que|8| = 22 e 26 = 2 × 3. Como o mdc(2, 3) = 1, pelo algoritmo de Euclides,podemos encontrar inteirosr es tais que2r + 3s = 1. Assim, temos que

26 = 262r+3s = (262)r(263)

s. (37)

Note que|262| = 3 e |263| = 2, logo, se substituírmos26 por 262 ≡ 11 mod 35 e263 ≡ 6 mod35, obtemos um novo conjunto gerador paraZ

×35 dado por

Z×35 = 〈6, 8, 11〉 , (38)

onde as ordens dos elementos são todas potências de primos.

Agora, vejamos quantos subgrupos de Sylow existem emZ×35 a menos de subgru-

pos conjugados. Comoφ(35) = 24 = 23 × 3, os subgrupos de Sylow deZ×35 devem ter

ordens23 e 3 apenas. Vamos denominar os subgrupos de Sylow deZ×35 de ordens23 e 3

porG2 eG3, respectivamente. SejamS2 = 6, 8 e S3 = 11 os conjuntos formadospelos geradores deZ×

35 cujas ordens são potências de2 e 3, respectivamente. Segue daproposição 8.2 que

G2 = 〈S2〉 eG3 = 〈S3〉 . (39)

Como o grupoG3 é cíclico de ordem potência de primo, basta aplicarmos o algoritmoDecomporSylow ao grupoG2, e depois tomarmos a soma direta comG3 para obtermos adecomposição desejada.

Para aplicarmos o algoritmo DecomporSylow ao grupoG2, devemos passar comoentrada para o algoritmo o conjunto de geradores6, 8 e q = max|6|, |8| = 4. Con-sidere então a funçãoρ : Z

2q → G2 tal queρ((x1, x2)) = 6x1 × 8x2 mod 35. Segue da

expressão (32) que o subgrupo escondidoK deZ24 é o conjunto

K = x ∈ Z24 | ρ(x) = 6x1 × 8x2 = 1. (40)

95

Page 30: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

Após alguns cálculos, vemos que

K = 〈(2, 0)〉 . (41)

Agora, seja[M |A] =

[4 0 | 20 4 | 0

]

dada como na proposição 8.3. Então, basta

aplicar o teorema 8.2 ao conjunto de geradorese1 +K︸ ︷︷ ︸

a1

, e2 +K︸ ︷︷ ︸

a2

deZ24 eM ′ = [M |A].

Sejam

D =

[2 0 00 4 0

]

(42)

a forma normal de Smith da matrizM ′,

U =

[1 033 1

]

eV =

0 0 341 1 01 0 2

(43)

matrizes unimodulares tais queUM ′V = D. Observe quegi = a′i ∀ i = 1, 2. Logo o

conjuntog1, g2 dado por

g1 = a′1 = a1 + a0

2 = (1, 0) +K,

g2 = a′2 = a33

1 + a2 = (3, 1) +K

(44)

é tal queZ

24/K = 〈g1〉 ⊕ 〈g2〉 . (45)

Como a funçãoρ : Z24/K → G2 é um isomorfismo, temos

G2 = 〈ρ(g1)〉 ⊕ 〈ρ(g2)〉 . (46)

Então,

ρ(g1) = ρ((1, 0)) = 61 × 80 mod35 = 6,

ρ(g2) = ρ((3, 1)) = 63 × 81 mod35 = 13 (47)

eG2 = 〈6〉 ⊕ 〈13〉 . (48)

Portanto,Z

×35 = 〈11〉 ⊕ 〈6〉 ⊕ 〈13〉 . (49)

EXERCÍCIO 8.15 Verifique que as matrizesU e V dadas no exemplo (8.1) são de fatounimodulares.

Podemos generalizar o algoritmo acima trabalhando com todos osp-subgrupos deSylow simultaneamente. De fato, suponha que o conjunto

ai1, . . . , aiki (50)

96

Page 31: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

gere o grupoGpi. Então, sejaqi = maxpirj , com pi

rj = |aij| ∀ j = 1, . . . , ki. Emseguida, definaρ : Z

k1qi× . . .× Z

klql→ G que leva

(x11, . . . , x1k1 , . . . , xl1, . . . , xlkl) 7→ ρ(x) =

l∏

i=1

axi1i1 . . . a

xikiiki

. (51)

Agora basta prosseguir como antes. Na prática deseja-se evitar trabalhar com todos osp-subgrupos de Sylow de uma única vez, pois, desta forma precisaríamos construir umasuper rede quântica para resolver PSE no cálculo dos geradores paraZk1

q1× . . .× Z

klql/K,

ondeK é o subgrupo escondido definido porρ, além disso, precisaríamos de uma matrizcom tamanho muito grande na aplicação do teorema 8.2. Observe também que para cadaprimop, ao invés de usarZk

q , nós poderíamos ter usadoZpt1 × Zpt1 × . . .× Zptk .

EXERCÍCIO 8.16 Mostre que a aplicaçãoρ definida pela expressão (51) é um homomor-fismo.

9. Notas Bibliográficas

As referências mais básicas de computação quântica que recomendamos são [Nielsen & Chuang 2000,Portugal et al. 2004, Aharonov 1998, Steane 1998, Rieffel & Polak 2000, Kitaev et al. 2002].

A seção sobre portas e circuitos quânticos se baseou nas referências [Nielsen & Chuang 2000,Portugal et al. 2004]. Outras referências relevantes são [Barenco et al. 1995b, Barenco et al. 1995a,Barenco 1995, Cleve et al. 1998].

A seção sobre transformada de Fourier se baseou nas referências [Nielsen & Chuang 2000,Portugal et al. 2004]. Outras referências relevantes são [Coppersmith 1994, Barenco et al. 1996,Griffiths & Niu 1996, Hales & Hallgren 2000, Cleve & Watrous 2000, Coppersmith 1994,Lomont 2004a, Cleve 2004].

A seção sobre o algoritmo de Shor se baseou nas referências [Shor 1997, Lavor et al. 2003].Outras referências relevantes são [Ekert & Jozsa 1996, Vandersypen et al. 2001, Beckman et al. 1996].

As seções sobre cálculo de fase e do algoritmo de Kitaev se basearam nas refer-ências [Nielsen & Chuang 2000, Kitaev 1995].

O algoritmo de Watrous foi descrito pela primeira vez em [Watrous 2001]. Outrasreferências relevantes são [Ivanyos et al. 2003, Fenner & Zhang 2004].

O algoritmo para decompor grupos abelianos finitos foi descrito pela primeiravez em [Cheung & Mosca 2001]. Outra referência relevante é [Mosca 1999a]. Algumasdas principais referências sobre o problema do subgrupo são[Lomont 2004b, Jozsa 2000,Lomonaco & Kauffmann 2002, Ettinger & Hoyer 1999, Grigni et al. 2001]. A prova doteorema 8.1 pode ser encontrada na referência [Kannan & Bachem 1979] e a do teorema8.3 em [Lomont 2004b].

Referências

D. Aharonov. Quantum computation. In Dietrich Stauffer, editor, Annual Reviews ofComputational Physics, volume 6. World Scientific, 1998.

A. Barenco. A universal two bit gate for quantum computation.449:679–683, 1995.

97

Page 32: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

A. Barenco, D. Deutsch, and R. Jozsa. Conditional quantum dynamics and logic gates.Phys. Rev. Lett., 74:4083–4086, 1995.

A. Barenco, A. Ekert, K.-A. Suominen, and P. Törmä. Approximate quantum Fouriertransform and decoherence.Phys. Rev. A, 54:139–146, 1996.

D. Barenco, C. H. Bennett, R. Cleve, D. P. DiVincenzo, N. Margolus,P. Shor, T. Sleator,J. Smolin, and H. Weinfurter. Elementary gates for quantum computation. Phys.Rev. A, 52:3457, 1995.

D. Beckman, A. N. Chari, S. Devabhaktuni, and J. Preskill. Efficient networks for quan-tum factoring.Phys. Rev. A, 54:1034, 1996.

K.K.H. Cheung and M. Mosca. Decomposing finite abelian groups. J. Quantum Inf.Comp., 1(3):26–32, 2001.

R. Cleve. A note on computing Fourier transforms by quantum programs.http://pages.cpsc.ucalgary.ca/~cleve, 2004.

R. Cleve, A. Ekert, C. Macchiavello, and M. Mosca. Quantum algorithms revisited.Proc.R. Soc. Lond. A, 454:339–354, 1998.

R. Cleve and J. Watrous. Fast parallel circuit for the quantum Fourier transform. In41thAnnual Symposium on Foundations of Computer Science, page 526, 2000.

D. Coppersmith. An approximate Fourier transform useful in quantum factoring. Techni-cal Report IBM Research Report 19642, IBM, 1994.

A. Ekert and R. Jozsa. Notes on quantum factoring. 68:733–753, 1996.

M. Ettinger and P. Hoyer. On quantum algorithms for noncommutative hidden subgroups.In Proc. 16th STACS, pages 478–487, 1999. Final version in Adv. in Appl. Math. .

Stephen Fenner and Yong Zhang. Quantum algorithms for a set of group theoretic prob-lems, 2004.

R. B. Griffiths and C.-S. Niu. Semiclassical Fourier transform for quantum computation.Phys. Rev. Lett., 76:3228, 1996.

M. Grigni, L. Schulman, M. Vazirani, and U. Vazirani. Quantum mechanical algorithmsfor the nonabelian hidden subgroup problem. InProc. 33th STOC, pages 68–74,2001.

L. Hales and S. Hallgren. An improved quantum Fourier transform algorithm and ap-plications. InProc. 41st Ann. Symp. on Foundations of Computer Science, pages515–525, Redonda Beach, California, November 2000.

G. Ivanyos, F. Magniez, and M. Santha. Efficient quantum algorithms for some instancesof the non-abelian hidden subgroup problem, 2003. to be published in I. J. Found.Comput. Sci.

R. Jozsa. Quantum factoring, discrete logarithms and the hidden subgroup problem, 2000.Prepared for IEEE Computing in Science and Engineering.

R. Kannan and A. Bachem. Historical notes on the Fast Fourier Transform.SIAM Journalon Computing, 8(4):499–507, 1979.

A. Kitaev. Quantum measurements and the abelian stabilizerproblem, 1995.

98

Page 33: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

A. Yu. Kitaev, A. H. Shen, and M. N. Vyalyi.Classical and quantum computation. Grad-uate studies in mathematics. American Mathematical Society, Providence, RhodesIsland, 2002.

C. Lavor, L.R.U. Manssur, and R. Portugal. Shor’s algorithm forfactoring large integers.quant-ph/0303175, 2003.

S.J. Lomonaco Jr. and L.H. Kauffmann. Quantum hidden subgroup problems: a mathe-matical perspective. quant-ph/0201095, 2002.

C. Lomont. A quantum Fourier transform algorithm. Los AlamosarXiv, quant-ph/0404060, 2004.

C. Lomont. The hidden subgroup problem: review and open problems. quant-ph/0411037, 2004.

M. Mosca.Quantum Computer Algorithms. PhD thesis, University of Oxford, 1999.

M. A. Nielsen and I. L. Chuang.Quantum Computation and Quantum Information. Cam-bridge University Press, Cambridge, UK, 2000.

R. Portugal, C.C. Lavor, L.M. Carvalho, and N. Maculan.Uma Introdução à ComputaçãoQuântica, volume 8 ofNotas em Matemática Aplicada. SBMAC, 2004.

E.G. Rieffel and W. Polak. An introduction to quantum computing for non-physicists.ACM Comput. Surv., 32(3):300–335, 2000.

P. W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithmson a quantum computer.SIAM J. Comput., 26:1484–1509, 1997.

A. M. Steane. Quantum computing. 61:117, 1998.

Lieven M. K. Vandersypen, Matthias Steffen, Gregory Breyta,Costantino S. Yannoni,Mark H. Sherwood, and Isaac L. Chuang. Experimental realization of Shor’s quan-tum factoring algorithm using nuclear magnetic resonance.Nature, 414:883–886,December 2001.

J. Watrous. Quantum algorithms for solvable groups.Proceedings of the 33rd ACMSymposium on Theory of Computing, pages 60–67, 2001.

99

Page 34: Algoritmos Quânticos - ppginf.ucpel.tche.brppginf.ucpel.tche.br/weciq/CD/Mini-Cursos/RenatoPortugal/mini... · WECIQ 2006 - Mini-curso 4 Algoritmos Quânticos Renato Portugal1, Carlos

100