Vous êtes sur la page 1sur 34

WECIQ 2006 - Mini-curso 4

Algoritmos Qunticos
Renato Portugal
1
, Carlos Magno Martins Cosme, Demerson Nunes Gonalves
1
1
Laboratrio Nacional de Computao Cientca
Petrpolis, RJ, Brasil
{portugal,magno,dnunes}@lncc.br
1. Introduo
A capacidade de se ter dados computacionais em estado de superposio e de podermos
manipul-los atravs de operaes unitrias o diferencial da computao quntica em
relao a convencional. So as leis da mecnica quntica que tornam isso possvel. Duas
tarefas devem ser realizadas para fazer uso dessas novas caractersticas na computao:
(1) construir um hardware que manipule estados qunticos, (2) desenvolver algoritmos
baseados na lgica quntica. Esse trabalho visa apresentar de forma didtica uma parte
da rea de algoritmos qunticos.
Atualmente existem trs grandes vertentes na rea de algoritmos qunticos, 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 otimizao, que inclui o
algoritmo de Grover e (3) algoritmos baseados em caminhos aleatrios qunticos. 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 atravs de geradores e o subgrupo H pode ser
obtido a partir de uma funo f que constante nas classes laterais de H em G. O prob-
lema tem uma soluo eciente se conseguirmos achar os geradores de H de forma que
(1) o nmero de passos, (2) uso de memria e (3) nmero de vezes que f foi usada tm
complexidade computacional O(poly(logG)).
Nesse trabalho apresentamos uma breve reviso das portas qunticas mais usadas,
supondo que o leitor j temumconhecimento prvio dos conceitos bsicos de computao
quntica. A seguir descrevemos o algoritmo quntico para calcular o transformada de
Fourier e baseado nessa transformada, descrevemos os diversos algoritmos qunticos para
clculo de ordem como o algoritmo de Shor, Kitaev e Watrous. O algoritmo de Kitaev
apresentado como uma aplicao do algoritmo para clculo de fase de um autovalor de um
operador unitrio. Depois descrevemos o algoritmo para decompor grupos abelianos de-
senvolvido por Cheung&Mosca. Por falta de espao, no podemos apresentar os detalhes
do problema do subgrupo escondido no abeliano.
2. Portas Principais
A porta X a verso quntica da porta NOT clssica. O circuito dessa porta est mostrado
na gura 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 binria. A sada X [j
1
).
67
|j
1
X X |j
1

Figura 1. Circuito da porta X.


A matriz X unitria dada por
X =
_
0 1
1 0
_
.
Assim se a entrada [0), a sada [1) e vice-versa. Esse um exemplo de um circuito
com um nico qubit. Vamos agora ver um exemplo com 2 qubits.
Aporta CNOT uma das principais portas usadas emalgoritmos. Vamos descrev-
la em detalhes, pois ela serve como paradigma para o entendimento de outras portas qun-
ticas. O circuito dessa porta est mostrado na gura 2.
|j
1
|j
1

|j
2


X
j
1
|j
2

Figura 2. Circuito da porta CNOT.


Como sempre, o circuito deve ser lido da esquerda para a direita. A entrada
o estado [j
1
) [j
2
) onde j
1
e j
2
podem assumir os valores 0 ou 1. A sada [0) [j
2
) se
j
1
= 0 ou [1) (X [j
2
)) se j
1
= 1. Se a entrada do primeiro qubit for um estado da
base computacional e a entrada do segundo for [0), a porta CNOT pode ser interpretada
como uma replicadora, pois a entrada [j
1
) [0) gera a sada [j
1
) [j
1
). Isso no pode ser
generalizado a menos que o teorema da no-clonagem seja violado. Esse teorema arma
simplesmente que a produo de cpias de um estado quntico desconhecido proibida
e a prova uma simples constatao de que a cpia de estados qunticos uma operao
no-unitria no caso geral. Foi possvel fazer cpias no caso acima, porque os estados
envolvidos eram ortogonais.
A gura 2 nos d a impresso que a sada da porta CNOT sempre desemaran-
hada. Isso falso. Na gura 3 podemos ver um exemplo em que a sada emaranhada.
|0+|1

2

|0

Figura 3. Porta CNOT gerando uma sada emaranhada.
Portas que emaranham podem desemaranhar e vice-versa. Isso segue do fato de
que todo operador unitrio tem inversa. A porta inversa, isto , a porta que representa o
operador inverso faz o papel inverso, como de se esperar.
A porta CNOT um caso particular de porta controlada. Na verdade o nome
CNOT 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, o
operador que aplicado ao alvo X, porm podemos substitu-lo por qualquer outro
operador unitrio de 1 qubit. A notao C(X) sinnimo de CNOT e pode ser usada
para outros operadores.
68
A porta H =
1

2
_
1 1
1 1
_
tem tambm papel de destaque. A sua atuao pode
ser descrita da seguinte forma
H [j
1
) =
[0) + (1)
j
1
[1)

2
. (1)
A porta H muito usada em algoritmos para criar um estado de superposio de todos os
vetores da base computacional. Esse estado til no paralelismo quntico. A forma usual
de gerar esse estado aplicar H
n
no estado [0)
n
:
(H [0))
n
=
1

2
n
2
n
1

j=0
[j) . (2)
Note que nessa equao, o lado direito usa a notao decimal. Por exemplo, o estado
[2
n
1) corresponde ao estado [1)
n
. Todo esse processo deve se feito num computador
quntico de n qubits.
EXERCCIO 2.1 Mostre como a equao (2) pode ser obtida a partir da equao (1).
EXERCCIO 2.2 Dado um operador unitrio U de n qubits podemos denir um operador
controlado muito til em algoritmos da seguinte forma
V ([j) [)) = [j) U
j
[) , (3)
onde o primeiro registrador tem m qubits e o segundo tem n qubits. No circuito abaixo
vemos sua representao esquemtica.
[j) /
m
[j)
[) /
n
U U
j
[)
Esse operador pode ser visto como uma porta C(U) generalizada. A representao grca
a mesma de C(U), porm no h perigo de confuso pois o primeiro registrador tem
mais do que 1 qubit. Mostre que V um operador unitrio e mostre que o circuito abaixo
a sua implementao correta em termos de portas controladas usuais, ou seja, cada uma
controlada por um qubit apenas.
[j
1
) [j
1
)
.
.
.
.
.
.
[j
m2
) [j
m2
)
[j
m1
) [j
m1
)
[j
m
) [j
m
)
[) /
n
U
2
0
U
2
1
U
2
2

U
2
m1
U
j
[)
69
3. A Transformada de Fourier Quntica
A transformada de Fourier de uma funo F : 0, . . . , N 1 C uma nova funo

F : 0, . . . , N 1 C denida por

F(j) =
1

N
N1

k=0

jk
N
F(k), (4)
onde

N
= e
2i
N
. (5)
O termo
N
chamado de Nsima raiz da unidade pois (
N
)
N
= 1. Omitiremos o
sub-ndice N quando for possvel determin-lo pelo contexto.
Podemos aplicar a transformada de Fourier tanto em uma funo quanto em um
estado da base computacional. A transformada de Fourier aplicada ao estado [j) da base
computacional
[
j
) TF
N
([j)) =
1

N
N1

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 unitrio, portanto se soubermos como ele atua nos
estados da base computacional, podemos obter sua atuao num estado genrico do tipo
[) =
N1

a=0
F(a) [a) . (7)
A transformada de Fourier de [) pode ser obtida tanto atravs da equao (4) como da
equao (6). No primeiro caso calculamos a transformada de Fourier das amplitudes sem
mexer nos vetores e no segundo caso calculamos a transformada de Fourier dos vetores
sem mexer nas amplitudes. Os dois mtodos so equivalentes.
EXERCCIO 3.1 Prove a identidade
1
N
N1

k=0

jk
=
_
1 se j um mltiplo de N
0 caso contrrio,
(8)
usando a frmula da progresso geomtrica. Apartir desse resultado prove que [
j
) ; j =
0, . . . , N 1 uma base ortonormal.
EXERCCIO 3.2 Mostre que a transformada de Fourier de [) dado pela equao (7) pode
ser calculada tanto atravs da equao (4) como da equao (6).
Usando a identidade (8), podemos denir a transformada de Fourier inversa, que
similar a (6), porm com um sinal de menos no expoente. Note que TF
1
N
=TF

N
, j que
TF
N
um operador unitrio.
um fato notvel que a expresso (6) pode ser fatorada da seguinte forma
TF
N
([j)) =
1

2
n
n

l=1
_
[0) + e
2ij/2
l
[1)
_
=
_
[0) + e
2i
j
2
[1)

2
_

_
[0) + e
2i
j
2
2
[1)

2
_
. . .
_
[0) +e
2i
j
2
n
[1)

2
_
. (9)
70
EXERCCIO 3.3 Mostre que a expresso (6) equivalente a (9). Sugesto: use a equao
(5) e faa a decomposio binria de k.
EXERCCIO 3.4 Mostre que as expresses exponenciais e
2i
j
2
, e
2i
j
2
2
, , e
2i
j
2
n
que
aparecem na equao (9) so equivalentes a e
2i(0.j
4
)
, e
2i(0.j
3
j
4
)
, , e
2i(0.j
1
jn)
, onde a
frao binria 0.j
1
j
n
denida como
0.j
1
j
n
=
n

k=1
j
k
2
k
.
Na gura 4 apresentamos um cicuito quntico que executa a transformada de
Fourier em 4 qubits. A partir desse circuito podemos facilmente generaliz-lo para mais
qubits desde que N seja da forma 2
n
onde n o nmero de qubits. Se N no uma potn-
cia de 2, no conhecido um circuito exato para o clculo da transformada de Fourier.
|j
1
H R
(2)
R
(3)
R
(4)

1

2
(|0 + e
2i
j
2 |1)
|j
2
H R
(2)
R
(3)

1

2
(|0 + e
2i
j
2
2
|1)
|j
3
H R
(2)

1

2
(|0 + e
2i
j
2
3
|1)
|j
4
H
1

2
(|0 + e
2i
j
2
4
|1)
Figura 4. Circuito da transformada de Fourier sobre 4 qubits. A entrada o estado |j que equiva-
lente a |j
1
j
2
j
3
j
4
.
Vamos agora descrever as portas usadas no circuito. Vamos comear pelas mais
simples. A duas ltimas portas so chamadas de SWAP. Elas invertem o estado dos qubits.
A gura 5 mostra como essa porta funciona e tambm descreve a sua decomposio em
termos de portas universais (CNOT e portas de 1 qubit).
| |
| |
|

|
|


|
Figura 5. Circuito da porta SWAP. Esta porta inverte os estados dos qubits.
EXERCCIO 3.5 Mostre que a decomposio da porta SWAP mostrada na gura 5 fun-
ciona corretamente. Sugesto: mostre que a decomposio funciona corretamente para a
base computacional e conclua que ela vlida para vetores genricos.
O operador R
(k)
denido por
R
(k)
=
_
1 0
0 e
2i
2
k
_
.
No circuito da transfomada de Fourier ele aparece sempre controlado por outro qubit.
Uma vez que R
(k)
sempre aplicado depois de uma porta Hadamard, crucial que
saibamos o resultado da aplicao de R
(k)
controlado por um qubit [j
l
) sobre estados
do tipo (1). Isso deixado como exerccio, que mostra que o circuito 4 calcula a transfor-
mada de Fourier corretamente.
71
EXERCCIO 3.6 Mostre que
H [j
4
) =
1

2
([0) + e
2i
j
2
[1))
R
(2)
4
H [j
3
) =
1

2
([0) +e
2i
j
2
2
[1))
R
(3)
4
R
(2)
3
H [j
2
) =
1

2
([0) + e
2i
j
2
3
[1))
R
(4)
4
R
(3)
3
R
(2)
2
H [j
1
) =
1

2
([0) + e
2i
j
2
4
[1))
onde o sub-ndice do operador R
(k)
indica por qual qubit ele est sendo controlado. Sug-
esto: use a expresso j = j
1
2
3
+ j
2
2
2
+ j
3
2 + j
4
e note que alguns termos dessa soma
desaparecem quando esto no expoente.
Uma vez que vamos usar o circuito que calcula a transformada de Fourier outras
vezes, vamos descrev-lo de uma forma mais sucinta. A gura 6 descreve o algoritmo
como uma caixa preta. A sada correspondente a um vetor genrico da base computa-
cional est mostrada. Assim podemos obter a sada correspondente a um vetor em super-
posio usando linearidade.
|j
1

TF
N

e
2i 0.jn

|j
2

e
2i 0.j
n1
jn

.
.
.
.
.
.
|jn

e
2i 0.j
1
jn

Figura 6. Circuito compacto da transformada de Fourier. Os vetores do tipo


e
2i 0.jn

descrevem de
forma compacta vetores do tipo (|0 + e
2i 0.jn
|1)/

2.
4. Algoritmo de Shor
O algoritmo de Shor acha os fatores primos de um nmero composto N. A fatorao pode
ser reduzida ao clculo da ordem de um nmero x menor que N escolhido aleatoriamente.
O nmero de qubits necessrio para armazenar N muito menor que N. Esse nmero
log
2
N, porm como ele no um inteiro no caso geral, denimos
n = log
2
N.
Um computador quntico comn qubits pode guardar N ou qualquer outro inteiro positivo
menor que N. Facilmente vemos que o nmero de fatores primos de N no mximo n.
Se o nmero de qubits e o nmero de fatores primos so menores ou iguais que n, ento
natural perguntar se existe um algoritmo que fatora N em um nmero de passos que
polinomial em n. Mais precisamente a questo : Existe um algoritmo de fatorao na
classe de complexidade T?
A reduo da fatorao de N ao problema de achar a ordem de um inteiro x menor
que N pode ser descrita da seguinte forma. Se x e N possuem fatores comuns, ento o
72
MDC(x, N) fornece um fator de N, portanto suciente investigar o caso quando x
coprimo com N. A ordem de x mdulo N o menor inteiro positivo r tal que
x
r
1 mod N.
Se r for par, podemos denir y como sendo
x
r/2
y mod N.
A notao acima signica que y o resto da divisode x
r/2
por N e, pela denio,
0 y < N. Note que y satisfaz y
2
1 mdulo N, ou equivalentemente (y 1)(y +1)
0 mdulo N, o que signica que N divide (y 1)(y + 1). Se 1 < y < N 1, os
fatores y 1 e y + 1 satisfazem 0 < y 1 < y + 1 < N, portanto N no pode dividir
y 1 nem y + 1 separadamente. A nica alternativa que ambos y 1 e y + 1 tenham
fatores de N (que resulta N por multiplicao). Ento, MDC(y 1, N) e MDC(y +1, N)
produzem fatores no triviais de N. Se N tiver mais fatores, eles podem ser calculados
aplicando o algoritmo recursivamente. Considere N = 21 como exemplo. A sequncia
de equivalncias
2
4
16 mod 21
2
5
11 mod 21
2
6
11 2 1 mod 21
mostra que a ordem de 2 mdulo 21 r = 6. Portanto, y 2
3
8 mdulo 21. De
y 1 resulta o fator 7 e de y + 1 resulta o fator 3 de 21. Resumindo, se escolhermos
aleatoriamente um inteiro positivo x menor que N e calcularmos o MDC(x, N), ou ter-
emos um fator de N ou caremos sabendo que x coprimo com N. Neste ltimo caso,
se x satiszer as condies (1) a ordem r par, e (2) 0 < y 1 < y + 1 < N, ento o
MDC(y 1, N) e MDC(y + 1, N) produzem fatores de N. Se uma das condies no
verdadeira, ns recomeamos at achar um candidato x apropriado. O mtodo no seria
til se estas suposies fossem restritivas demais, mas felizmente este no o caso. O
mtodo sistematicamente falha se N for uma potncia de algum primo, mas nesse caso
um algoritmo clssico eciente conhecido. Se N for par, podemos continuar dividindo
por 2 at o resultado ser mpar. Resta-nos aplicar o mtodo para os inteiros compostos
mpares que no so potncias de algum nmero primo. possvel provar que a proba-
bilidade de achar x coprimo com N satisfazendo as condies (1) e (2) alta.
Agora, considere o circuito da gura 7 que calcula a ordemr de uminteiro positivo
x menor que N, coprimo com N. V
x
um operador linear unitrio dado por
V
x
([j) [k)) = [j)

k + x
j
_
, (10)
onde [j) e [k) so os estados do primeiro e segundo registrador respectivamente. As
operaes aritmticas so feitas mdulo N, assim 0 k + x
j
< N. O operador TF
2
n foi
descrito na seo anterior.
EXERCCIO 4.1 Mostre que o operador V
x
unitrio.
O primeiro registrador possui m qubits, onde m deve ser escolhido de forma que
N
2
2
m
2N
2
para que a probabilidade de achar o resultado seja maior que 1/2. Se
73
H
H
{
{
V
x
TF

2
n
|0
|0
|0
|0
1

registrador
(n qubits)
2

registrador
(n qubits)
|
0
|
1
|
2
|
3
|
4
|
5

Figura 7. Circuito quntico para achar a ordem de um inteiro positivo x mdulo N.


a ordem uma potncia de 2, ento suciente tomar m = n. Nesta seo, ns vamos
considerar somente esse caso especial.
Os estados do computador quntico esto indicados por [
0
) at [
5
) na gura 7.
O estado inicial
[
0
) = [0 . . . 0)
. .
n
[0 . . . 0)
. .
n
.
A aplicao do operador Hadamard em cada qubit do primeiro registrador resulta
[
1
) =
1

2
n
2
n
1

j=0
[j) [0) . (11)
Agora note o que acontece quando aplicamos V
x
em [
1
):
[
2
) = V
x
[
1
)
=
1

2
n
2
n
1

j=0
V
x
([j) [0))
=
1

2
n
2
n
1

j=0
[j)

x
j
_
. (12)
O estado [
2
) interessante, pois, j que V
x
linear, ele atua simultaneamente em todos os
termos [j) [0) para 2
n
valores de j, logo isto gera todas as potncias de x simultaneamente.
Esta caracterstica chamada paralelismo quntico. Algumas destas potncias so 1, as
quais correspondem aos estados
[0) [1) , [r) [1) , [2r) [1) , ,

_
2
n
r
1
_
r
_
[1) . (13)
Isto explica a escolha de (10) para V
x
. Classicamente, poderamos calcular sucessiva-
mente x
j
, para j comeando de 2 at chegarmos a j = r. Quanticamente, pode-se
calcular todas as potncias de x com uma nica aplicao de V
x
. No nvel quntico,
74
todos os valores de j que produzem x
j
1 mdulo N so conhecidos. Mas esta infor-
mao no esta totalmente disponvel no nvel clssico. Uma informao clssica de um
estado quntico obtida atravs de uma medida e, neste ponto, no ajudaria se medsse-
mos o primeiro registrador, j que todos os estados da superposio (12) possuem igual
amplitudes. A primeira parte da estratgia para determinar r observar que o primeiro
registrador dos estados (13) peridico. Ento a informao que queremos um perodo.
Para facilitar os clculos, vamos medir o segundo registrador. Antes de fazer isto,
vamos reescrever o estado [
2
) fatorando os termos iguais do segundo registrador. Como
x
j
uma funo peridica com perodo r, vamos substituir j por ar +b na equao (12),
onde 0 a (2
n
/r) 1 e 0 b r 1. Lembre-se que estamos supondo que r uma
potncia de 2, portanto r divide 2
n
. A equao (12) convertida em
[
2
) =
1

2
n
r1

b=0
_
_
2
n
r
1

a=0
[ar + b)
_
_

x
b
_
. (14)
No segundo registrador, substitumos x
ar+b
por x
b
, j que x
r
1 mdulo N. Agora o
segundo registrador medido. Qualquer resultado x
0
, x
1
, ..., x
r1
pode ser obtido com
igual probabilidade. Suponha que o resultado x
b
0
. O estado do computador quntico
seja agora
[
3
) =
_
r
2
n
_
_
2
n
r
1

a=0
[ar + b
0
)
_
_

x
b
0
_
. (15)
Note que depois da medida, a constante renormalizada para
_
r/2
n
, j que existem
2
n
/r termos na soma (15). A gura 8 mostra a probabilidade de obtermos os estados da
base computacional medindo o primeiro registrador. A probabilidade forma uma funo
peridica com perodo r. Estes valores so zeros exceto para os estados [b
0
), [r +b
0
),
[2r +b
0
), ...,[2
n
r +b
0
). Como o valor de b
0
randmico, ele esconde com perfeio
a informao que desejamos encontrar, ou seja, o valor de r. A nica sada explorar a
periodicidade dos kets ou equivalentemente, das amplitudes.
Como podemos descobrir o perodo de uma funo ecientemente? A resposta a
transformada de Fourier. A transformada de Fourier de uma funo peridica de perodo
{
0
b
0
r + b
0 2r + b
0
3r + b
0
r
2
n
r
Distribuio de probabilidades
Termos de |
3

(1

registrador)
Figura 8. Distribuio de probabilidades de |
3
medido na base computacional (para o caso
b
0
= 3 and r = 8). O eixo horizontal tem 2
n
pontos. O nmero de picos 2
n
/r e o perodo r.
75
r uma nova funo com perodo proporcional a 1/r. Isto faz toda a diferena para
determinar r. A transformada de Fourier a segunda e ltima parte da estratgia usada
por Shor. Todo o mtodo depende de um algoritmo quntico eciente para calcular a
transformada de Fourier, que no est disponvel classicamente.
Vamos continuar o processo de clculo da gura 7. Estamos prontos para achar
o prximo estado do computador quntico [
4
). Aplicando a transformada de Fourier
inversa no primeiro registrador, usando a equao (6) e a linearidade da TF

2
n, obtemos
[
4
) = TF

2
n([
3
))
=
_
r
2
n
2
n
r
1

a=0
_
1

2
n
2
n
1

j=0
e
2ij(ar+b
0
)/2
n
[j)
_

x
b
0
_
.
Invertendo a ordem do somatrio, temos
[
4
) =
1

r
_
_
2
n
1

j=0
_
_
1
2
n
/r
2
n
r
1

a=0
e
2ija
2
n
/r
_
_
e
2ijb
0
/2
n
[j)
_
_

x
b
0
_
. (16)
Usando (8), vemos que a expresso no colchetes diferente de zero se e somente se
j = k2
n
/r com k = 0, ..., r 1. Quando j assume tais valores, a expresso no colchetes
igual a 1. Ento temos
[
4
) =
1

r
_
r1

k=0
e
2i
k
r
b
0

k2
n
r
_
_

x
b
0
_
. (17)
Para acharmos r, a expresso [
4
) tm duas vantagens sobre a expresso [
3
) (equao
(15)): r est no denominador do ket e o parmetro aleatrio b
0
foi movido do ket para o
expoente ocupando agora um lugar inofensivo.
{
0 2
n
r
2 2
n
r
3 2
n
r
1
r
2
n
r
Distribuio de probabilidades
Termos de |
4

(1

registrador)
Figura 9. Distribuio de probabilidades de |
4
medida na base computacional. O eixo hori-
zontal tem 2
n
pontos, apenas os termos no nulos so mostrados. O nmero de picos r e o
perodo 2
n
/r.
A gura 9 mostra a distribuio de probabilidades de [
4
) medido na base com-
putacional. Medindo o primeiro registrador, pegamos o valor k
0
2
n
/r, onde k
0
pode ser
qualquer nmero entre 0 e r 1 com igual probabilidade (os picos na gura 9). Se ob-
tivermos k
0
= 0, no teremos nenhuma informao sobre r e o algoritmo tem que ser
76
rodado novamente. Se k
0
,= 0, dividimos k
0
2
n
/r por 2
n
, obtendo k
0
/r. Nem k
0
nem
r so conhecidos. Se k
0
coprimo com r, simplesmente selecionamos o denominador.
Se k
0
e r tem fator comum, o denominador da frao reduzida k
0
/r um fator de r mas
no o prprio r. Suponha que o denominador r
1
. Seja r = r
1
r
2
. Agora o objetivo
determinar r
2
, que a ordem de x
r
1
mdulo N. Rodamos novamente a parte quntica
do algoritmo para achar a ordem de x
r
1
. Se acharmos r
2
na primeira rodada, o algo-
ritmo para, caso contrrio o aplicamos recursivamente. O processo recursivo no longo,
porque o nmero de interaes menor ou igual a log
2
r.
Tome N = 15 como exemplo, que o menor nmero composto no trivial. O
conjunto de nmeros menores que 15 coprimo com 15 so 1, 2, 4, 7, 8, 11, 13, 14. Os
nmeros no conjunto 4, 11, 14 tem ordem 2 e os nmeros do conjunto 2, 7, 8, 13 tem
ordem 4. Portanto, em qualquer caso r uma potncia de 2 e os fatores de N = 15 podem
ser encontrados num computador quntico com log
2
15 = 8 qubits.
EXERCCIO 4.2 Refaa os passos descritos nessa seo sem supor que r divide N. Note
que todas as expresses onde aparece o termo 2
n
/r devem ser modicadas consistente-
mente. Aps obter o estado [
4
) equivalente, faa o grco da distribuio de probabil-
idades (como o da gura 9) para N = 21 e x = 2. Repita novamente todo o processo
aumentando o nmero de qubits m no primeiro registrador de forma que obedea a re-
strio N
2
2
m
2N
2
. Compare o novo grco da distribuio de probabilidades com
o anterior e explique porque as chances de encontrar r maior no segundo caso.
5. Algoritmo para o Clculo da Fase de um Autovalor
O autovalor de um operador unitrio U sempre da forma e
2i
onde a fase um
nmero real satisfazendo 0 < 1.
EXERCCIO 5.1 Mostre!
Nessa seo vamos apresentar um algoritmo para calcular uma aproximao de uma vez
dado o autovetor [) correspondente, isto , supomos conhecido o vetor [) que satisfaz
U [) = e
2i
[). Na verdade no vamos supor apenas que [) seja conhecido. Vamos
supor que possvel de alguma forma preparar um registrador do computador quntico
no estado [). Vamos assumir tambm que U conhecido e pode ser implementado
ecientemente.
EXERCCIO 5.2 Suponha que U [) = e
2i
[). Mostre que a porta U
k
controlada pelo
primeiro qubit como no circuito abaixo
[0)
H

1

2
([0) + e
2ik
[1))
[) /
n
U
k
[)
onde k um inteiro, produz o seguinte resultado
C(U
k
)
_
[0) +[1)

2
[)
_
=
[0) + e
2ik
[1)

2
[) .
77
Se o inteiro k do exerccio 5.2 for da forma 2
m
onde m um inteiro de tamanho con-
trolado, isto , m = O(poly n) onde n o nmero de qubits usado por [), podemos
implementar U
k
ecientemente usando o algoritmo do quadrado repetido.
EXERCCIO 5.3 O algoritmo do quadrado repetido pode ser facilmente entendido com
um exemplo. Suponha que queremos calcular U
13
. Fazemos a decomposio binria de
13 = 1 2
3
+ 1 2
2
+ 0 2 + 1. Ento com um pouco de lgebra podemos expressar U
13
apenas com quadrados
U
13
= (((U
2
U)
2
)
2
U.
Note que o nmero de vezes que temos que elevar uma matriz ao quadrado bem menor
que o nmero 13. O nmero de multiplicaes reduz drasticamente usando esse mtodo.
Mostre que U
k
pode ser calculada com um nmero O(log k) multiplicaes matriciais.
|0 H
1

2
(|0 + e
2i2
m1
|1)
|0 H
1

2
(|0 + e
2i2
2
|1)
|0 H
1

2
(|0 + e
2i2
1
|1)
|0 H
1

2
(|0 + e
2i2
0
|1)
| /
n
U
2
0
U
2
1
U
2
2

U
2
m1
|
Figura 10. Primeira parte do circuito para clculo da fase de um autovalor.
O circuito da gura 10 mostra a primeira parte do algoritmo para o clculo da fase
. A partir do resultado do exerccio 5.2, podemos facilmente conrmar que o resultado
do circuito 10 exatamente como mostrado.
Vamos supor para simplicar a apresentao que a fase tem no mximo m dgitos
binrios = 0.
1

m
onde
1
igual a 0 ou 1, o mesmo para
2
e assim por diante.
Usando a equao
0.
1

m
=
m

k=1

k
2
k
,
podemos ver que os termos exponenciais e
2i2
m1
, e
2i2
m2
, , e
2i2
0
na sada do
circuito da gura 10 so iguais a e
2i(0.m)
, e
2i(0.
m1
m)
, , e
2i(0.
1
m)
. Se consul-
tarmos a gura 6 podemos nos convencer de que se aplicarmos a transformada de Fourier
inversa na sada do primeiro registrador do circuito da gura 10 obteremos o resultado
[
1
) [
m
). Isso quer dizer que o circuito completo para o clculo da fase de um auto-
valor o circuito da gura 11.
Se tiver um nmero de casas decimais muito grande ou se for um nmero ir-
racional, o algoritmo fornece uma aproximao para o valor da fase. A aproximao
melhora se o nmero m de qubits do primeiro registrador for aumentado. Na verdade o
resultado probabilstico e pode ser formalizado da seguinte forma. Seja a probabili-
dade de erro do algoritmo e n o nmero de casas decimais corretas de . Ento o nmero
78
|0 H
TF


1
|0 H


2
|0 H


m1
|0 H

m
| /
n
U
2
0
U
2
1

U
2
m2
U
2
m1
|
Figura 11. Circuito completo para clculo da fase de um autovalor.
de qubits no primeiro registrador deve ser
m = n +
_
log(2 +
1
2
)
_
. (18)
EXERCCIO 5.4 (Difcil) Mostre que mdeve ter no mnimo o valor descrito pela equao
(18) caso se queira n dgitos de corretos com uma probabilidade de erro .
Uma vez que vamos usar o circuito de clculo de fase outras vezes, vamos descrev-
lo de uma forma mais sucinta. A gura 12 descreve o algoritmo como uma caixa preta. Os
seus detalhes no so mostrados, porm as grandezas relevantes esto al representadas
(U, [), ). Note que a sada do primeiro registrador corresponde aos dgitos binrios de
. Como um nmero menor que 1, segue que a sada na verdade o nmero 2
m
ou
uma aproximao desse nmero caso tenha mais do que m dgitos binrios.
|0 /
m
Fasem(U)

aprox. para 2
m
| /
n
|
Figura 12. Circuito simplicado para clculo da fase de um autovalor de autovetor | do operador
U, onde U | = e
2i
|. O nmero de qubits m no primeiro registrador deve ser dado pela equao
(18) caso se queira n dgitos de corretos com uma probabilidade de erro .
EXERCCIO 5.5 (Fcil) Mostre que o circuito abaixo
H
m

TF

U
equivalente ao circuito Fase
m
(U). Sugesto: use o exerccio 2.2.
6. Algoritmo de Kitaev
Oalgoritmo de Shor calcula a ordemde umnmero x modulo N desde que MDC(x, N) =
1. Na terminologia de Teoria de Grupos dizemos que o algoritmo de Shor calcula a or-
dem de x no grupo Z

N
, chamado grupo das unidades, isto , o conjunto dos nmeros
inteiros positivos x menores que N tal que MDC(x, N) = 1 com a operao de multi-
plicao modulo N. Uma questo natural que surge se o algoritmo de Shor pode ser
79
generalizado para o clculo de ordem em outros grupos. S para recordar, um grupo
um conjunto no vazio com uma operao binria que no precisa ser comutativa que sat-
isfaz as propriedades de fechamento, associatividade, tem o elemento identidade e todo
elemento tem um elemento inverso no conjunto.
EXERCCIO 6.1 Seja G um grupo multiplicativo com o elemento identidade e e seja g
G. Mostre que o conjunto g) = g, g
2
, , g
r
um grupo comutativo onde r a ordem
de g, isto , o menor inteiro tal que g
r
= e. O elemento g chamado de gerador do grupo
< g >. Quando um grupo gerado por um nico elemento ele dito cclico.
O primeiro problema a se resolver como representar os elementos do grupo no
computador quntico. Vamos considerar grupos nitos. Seja [G[ a ordem do grupo G. O
nmero de qubits deve ser pelo menos
n = log
2
[G[.
Cada elemento do grupo deve ser ento codicado como um nmero binrio de n dgi-
tos. Assim os vetores da base computacional vo corresponder aos elementos do grupo
a menos de uma sobra. Se [G[ < 2
n
ento alguns vetores da base computacional no
tm correspondncia com elementos do grupo de forma que um subespao do espao de
Hilbert no utilizado. Nesse subespao assumimos que todos os operedores tem atuao
trivial, isto , atuam como o operador identidade. Alm disso assumimos que podemos
implementar a operao de multiplicao do grupo, isto , se [j
1
j
n
) corresponde ao
elemento g
1
G e [k
1
k
n
) corresponde ao elemento g
2
G ento assumimos que
podemos encontrar o vetor [l
1
l
n
) da base computacional que corresponde ao elemento
g
1
g
2
. De agora em diante vamos usar a notao [g) para representar o vetor da base
computacional correspondente ao elemento g. Essa discusso mostra que possvel im-
plementar o operador unitrio U
h
para um elemento genrico xo h em G cuja atuao na
base computacional
U
h
[g) = [hg) . (19)
Tambmassumimos que o custo computacional da operao U
h
[g) baixo, melhor dizendo,
assumimos que O(1). Oalgoritmo de Kitaev resolve ecientemente o problema de achar
a ordem de U
h
, isto , achar o menor r tal que (U
h
)
r
= I.
EXERCCIO 6.2 Mostre que (1) U
h
unitrio, (2) (U
h
)
j
= U
h
j para qualquer inteiro j,
(3) a ordem de U
h
igual a ordem de h e (3) r [G[.
EXERCCIO 6.3 Como a atuao de U

h
na base computacional?
Suponha que [) seja um autovetor de U
h
, isto , U
h
[) = [), onde C o
autovalor correspondente. Uma vez que (U
h
)
r
[) = [), segue que
r
= 1. Portanto
uma das r-simas razes da unidade. Para cada g G vamos denir r vetores indexados
por k = 0, 1, , r 1 da seguinte forma

(g)
k
_
=
1

r
r1

j=0
(
r
)
jk

gh
j
_
. (20)
Os vetores

(g)
k
_
so autovetores de U
h
cujos autovalores correspondentes so (
r
)
k
.
80
EXERCCIO 6.4 Mostre que

(g)
k
_
so autovetores de U
h
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
_

k
r
. Como k um inteiro
satisfazendo 1 k < r, a determinao da fase pode nos dar o valor de r pois k pode ser
coprimo com r. Temos a nossa disposio o algoritmo para clculo da fase, conhecemos
U
h
e queremos a fase de um autovalor. O problema agora como preparar o segundo reg-
istrador do circuito Fase
m
(U
h
) da gura 12 como o autovetor

(g)
k
_
. Parece um problema
intransponvel. No entanto existe uma estratgia um pouco diferente. A superposio dos
autovetores

(g)
k
_
para todos os valores de k fornece um vetor bastante conhecido, que
[g) =
1

r
r1

k=0

(g)
k
_
. (21)
EXERCCIO 6.5 Mostre que a equao (21) est correta.
A idia usar [g) como entrada do segundo registrador, como mostra o circuito da gura
13.
|0 /
m
Fasem(U
h
)

aprox. para
k
0
2
m
r
|g /
n

(g)
k
0
E
Figura 13. Circuito para clculo da ordem r do operador U
h
dado pela equao (19).
A sada do circuito 13 pode ser surpresa para muitos leitores. Aprendemos que
o circuito para clculo de fase mantm o estado do segundo registrador invariante se a
entrada for o autovetor em questo. Isso no acontece no circuito 13, pois [g) no um
autovetor de U
n
. Para calcular a sada temos que usar e equao (21) e a linearidade do
circuito da seguinte forma
Fase
m
(U
h
)([0) [g)) = Fase
m
(U
h
)
_
1

r
r1

k=0
[0)

(g)
k
_
_
=
1

r
r1

k=0
Fase
m
(U
h
)
_
[0)

(g)
k
__
=
1

r
r1

k=0

k
r

k2
m
r
_
aprox

(g)
k
_
. (22)
Ao medirmos o primeiro registrador obtemos uma aproximao de k
0
2
m
/r para algum
valor de k
0
com igual probabilidade no intervalo 1 k < r. O estado do segundo
registrador passa a ser

(g)
k
0
_
. A probabilidade de acerto do algoritmo maior que 1/2
pois existem mais nmeros k coprimos com r do que nmeros com fatores comuns.
81
7. Algoritmo de Watrous
Nesta seo abordaremos o problema do clculo da ordem de um grupo solvel, apre-
sentando um algoritmo quntico eciente para a sua soluo. Vale ressaltar que no
possvel construir algoritmo clssico eciente para resolver esse problema no caso geral.
O algoritmo que apresentaremos uma generalizao do algoritmo de Shor.
Nessa seo e na seguinte estamos supondo que o leitor tenha j alguma famil-
iaridade com teoria de grupos. Vamos relembrar rapidamente alguns conceitos bsicos.
Um grupo G dito abeliano se a operao binria do grupo for comutativa. H G
dito um subgrupo de G se H forma um grupo com o operao binria de G. Neste caso,
escrevemos H G. Seja a G, o conjunto aH = g G [g = ah para algum h H
chamado uma classe lateral de H em G com representante a. Um subgrupo H de G
dito normal se H = gHg
1
para todo g G, neste caso escrevemos H G.
Vamos agora a denir o que um grupo solvel e descrever algumas de suas
propriedades bsicas. Existe vasta literatura a respeito dessa classe de grupos como men-
cionamos na bibliograa. Ao longo de toda esta seo sempre consideraremos G nito.
Um grupo G solvel se existem g
1
, , g
m
G tais que, denindo H
j
= g
1
, , g
j
)
temos
G = H
m
H
1
H
0
:= e. (23)
Note que pela normalidade de H
j1
em H
j
, temos que g
j
H
j1
= H
j1
g
j
e, assim, H
j
=
g
j
) H
j1
. Uma srie de subgrupos como (23) chamada uma srie subnormal.
EXERCCIO 7.1 Mostre que H
j
= g
j
) H
j1
e que na srie subnormal (23) os quocientes
so todos cclicos, com H
j
/H
j1
= g
j
H
j1
).
Dado um grupo G, um subgrupo H de G e g G, dene-se a ordem de g em
relao H, denotada por r
H
(g), como
r
H
(g) := mind N; g
d
H.
Sendo G um grupo solvel denotamos r
j
:= r
H
j1
(g
j
).
EXERCCIO 7.2 Mostre que
r
j
= [H
j
/H
j1
[ = [ g
j
H
j1
) [.
Conclua da que [G[ =

m
j=1
r
j
.
Assim como no algoritmo de Kitaev, admitimos que os elementos do grupo G
estejam codicados como um nmero binrio de n dgitos. Nesta codicao a operao
do grupo efetuada por uma transformao unitria que, para cada g G xo, atua da
seguinte forma
U
g
[h) = [gh) .
O algoritmo quntico que iremos apresentar computa ecientemente a ordem de
um grupo solvel e, alm disso, produz um estado quntico que aproxima, com alta prob-
82
abilidade, uma superposio uniforme dos elementos desse grupo. A superposio uni-
forme dos elementos de um conjunto S denida como o estado
[S) :=
1
_
[S[

gS
[g) .
Oalgoritmo combina duas subrotinas. Aprimeira delas computa a ordemde umelemento,
g G, em relao um subgrupo H G. A segunda, converte superposies uniformes
dos elementos do subgrupo H, em superposies uniformes do subgrupo g) H. Vamos
apresentar as duas subrotinas e depois combin-las num algoritmo principal, obtendo o
resultado desejado.
Pelo Execcio 7.2 vemos que se soubermos calcular a ordem r
j
dos elementos g
j
em relao ao subgrupo H
j1
teremos calculado a ordem do grupo G. Nesta seo de-
screvemos como fazer isso. O algoritmo basicamente o algoritmo de Shor para clculo
de ordem. A diferena reside no fato de iniciarmos um dos registradores com uma su-
perposio uniforme dos elementos do subgrupo em questo. Surge aqui uma diculdade
que ser superada frente: Como criar ecientemente essas superposies?
Seja H um subgrupo de Ge g um elemento qualquer de G. Desejamos determinar
r = r
H
(g). Considere um circuito quntico com dois registradores, R e A, o primeiro
inicializado com a superposio [H) =
_
1/
_
[H[
_

hH
[h) e o segundo inicializado
no estado [0) correspondente Z
N
, onde N ser escolhido posteriormente. A gura 14
mostra um circuito para o clculo de r.
V
g

[0) /
?
TF
N

TF

N
[H) /
?
U
g


[
1
) [
2
) [
3
) [
4
) [
5
)
Figura 14. Circuito para o clculo da ordem r
H
(g).
Aporta TF
N
, como antes, a transformada de Fourier emZ
N
e TF

N
sua transposta
conjugada. A porta V
g
denida como
V
g
([a) [h)) = [a) (U
g
)
a
[h)
= [a) [g
a
h) (24)
e sua implementao foi discutida no exerccio 2.2. Vamos agora descrever passo a passo
os estados [
1
) [
5
) do algoritmo. Para o estado inicial [
1
) = [0) [H), vamos supor
que saibamos montar a superposio uniforme [H). O circuito comea aplicando a trans-
formada de Fourier no primeiro registrador, que produz uma superposio dos elementos
de Z
N
da seguinte forma
[
2
) = [Z
N
) [H) =
1

N
N1

a=0
[a) [H) .
83
Quando a porta V
g
atua sobre o estado [
2
) obtemos
[
3
) =
1

N
N1

a=0
[a) [g
a
H) .
Desde que N seja sucientemente 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 que r [ N. Note que os nicos valores distintos possveis
para o segundo registrador so H, gH, g
2
H, , g
r1
H, j que r = r
H
(g). Assim, dado
a 0, , N 1, podemos escrev-lo como a = a

+ br onde 0 a

r 1 e
0 b N/r 1 e temos que g
a
H = g
a

g
br
H = g
a

H. Assim [
3
) pode ser reescrito
como
[
3
) =
1

N
r1

=0
N
r
1

b=0
[a

+ br)

g
a

H
_
.
Aplicando a transposta conjugada da transformada de Fourier, tomamos a informao
importante contida no ket [a

+br) e a colocamos no expoente de uma fase. Por simpli-


cidade, trocaremos o smbolo a

por a. O estado resultante :


[
4
) =
1
N
r1

a=0
N
r
1

b=0
N1

c=0

c(a+br)
N
[c) [g
a
H) ,
onde
c(a+br)
N
= e

2ic(a+br)
N
. Efetuando a medida no primeiro registrador, o estado [
4
)
projetado em
[
5
) =
1

N
r1

a=0
N
r
1

b=0

c
0
(a+br)
N
[c
0
) [g
a
H)
para algum valor de c
0
como discutiremos adiante. Rearranjando este estado, temos
[
5
) =
1

N
r1

a=0
_
_
N
r
1

b=0

c
0
br
N
_
_

c
0
k
N
[c
0
) [g
a
H) .
Note a semelhana com o algoritmo de Shor. Usando a identidade (8) segue que c
0
=
sN/r, com s uniformemente distribudo entre 0 e r 1. Dividindo por N obtemos s/r.
Escolhendo N = 2
2n+O(log(1/))
, 0 < < 1, pelo mtodo das fraes repetidas encon-
tramos u e v coprimos, tais que u/v = s/r com probabilidade 1 . O v assim deter-
minado ou o prprio r ou algum de seus fatores primos. Para determinar r, repetimos
todo o procedimento O(log (1/)) vezes e calculamos o mnimo mltiplo comum entre
os vrios vs encontrados. Isto ir determin-lo com probabilidade de pelo menos 1 .
Passamos agora a descrio da segunda subrotina. Como mencionamos anteri-
ormente, ao iniciarmos o algoritmo anterior, pressupomos a existncia de um estado de
superposio de todos os elementos do subgrupo H. Descreveremos agora um mtodo
para converter superposies uniformes dos elementos do subgrupo H em superposies
uniformes do subgrupo g) H, ou seja, converter [H) em [g) H). Seja ento H G e
g G com a suposio adicional que gH = Hg.
84
EXERCCIO 7.3 Mostre que nessas condies g) H um subgrupo de G tal que H
g) H. Alm disso, [ g) H/H[ = r
H
(g).
Supondo que tenhamos vrias cpias de [H), desejamos convert-las em cpias
de [g) H). Para simplicar a notao, seja r = r
H
(g). Tomemos l sucientemente
grande, mais tarde o deniremos apropriadamente. Considere registradores R
1
, , R
l
todos inicializados no estado [H). Sejam ainda A
1
, , A
l
registradores inicializados
com [0), onde aqui 0 Z
r
. O circuito na gura 15 dar incio converso das l cpias de
[H) em l 1 cpias de [g) H).
A
1
= [0) TF
r
TF
r

R
1
= [H) U
g
.
.
.
.
.
.
.
.
.
A
i
= [0) TF
r
TF
r

R
i
= [H) U
g
.
.
.
.
.
.
.
.
.
A
l
= [0) TF
r
TF
r

R
l
= [H) U
g

[)
Figura 15. Circuito para incio da converso das cpias de |H em cpias de |g H.
Para cada par de registradores (A
j
, R
j
), a ao do circuito da gura 15 equiv-
alente ao do circuito da gura 14 exceto pelo fato da medida ser feita sobre os reg-
istradores As. Deixamos ento o seguinte exerccio.
EXERCCIO 7.4 Mostre que o estado [) da gura 15
[) =
_
_
1
r

a
j
Zr

b
j
Zr

a
j
b
j
r
[b
j
) [g
a
j
H)
_
_
l
Efetuada a medida nos registradores A
j
e denotando por b

j
o resultado da medida
para cada j = 1, , l, o registrador R
j
, aps a renormalizao, se encontra no estado
[
j
) dado por
[
j
) =
1

a
j
Zr

a
j
b

j
r
[g
a
j
H) .
Se escolhemos l ((log log r)(log(1/))), 0 < < 1, a probabilidade de um desses b

j
ser coprimo com r , no mnimo, 1. Assumindo que seja este o caso, escolha k tal que
b

k
seja coprimo com r. Agora usaremos o estado [
k
) para converter os demais estados
[
j
) em cpias de [g) H). Primeiro, notemos que [
k
) autovetor da transformao
U
g
s
h
qualquer que seja s Z
r
e h H, lembre-se U
g
s
h
[h

) = [g
s
hh

). De fato, como
85
gH = Hg
U
g
s
h
[
k
) =
1

a
k
Zr

a
k
b

k
r
[g
s
hg
a
k
H)
=
1

a
k
Zr

a
k
b

k
r
[g
s
g
a
k
hH)
=
1

a
k
Zr

a
k
b

k
r

g
s+a
k
H
_
=
1

k
Zr

(a

k
s)b

k
r

g
a

k
H
_
=
sb

k
r
[
k
) .
Como b

k
coprimo com r, para cada j = 1, , l, j ,= k seja c
j
N tal que c
j
b

j
b
1
k
mod r. De maneira anloga ao que zemos anteriormente, mostra-se que [g
s
h) [
k
)
tambm um autovetor de U
c
j
G
.
EXERCCIO 7.5 Mostre que [
k
) autovetor da transformao U
c
j
g
s
h
quaisquer que sejam
s Z
r
, j = 1, , l, j ,= k e h H com
U
c
j
g
s
h
[
k
) =
sb

j
r
[
k
) .
Vamos denir o operador U
U([g) [h)) = [g) U
g
[h) = [g) [gh) .
EXERCCIO 7.6 Mostre que U unitrio.
Alm disso, temos que
U
c
j
[g
s
h) [
k
) =
sb

j
r
[g
s
h) [
k
) .
quaisquer que sejam s Z
r
, j = 1, , l, j ,= k e h H.
EXERCCIO 7.7 Verique a armao anterior.
Dito isto, usaremos agora o estado [
k
) para converter cada um dos estados [
j
)
em cpias da superposio uniforme dos elementos do grupo g) H. Considere para cada
par (R
j
, R
k
) o circuito, exibido na gura 16, onde um novo registrador foi criado para
carregar o qubit c
j
. Mostraremos que ele converte o estado [
j
) em uma cpia de [g) H)
86
e mantm [
k
) inalterado. De fato, temos que:
V
g
[c
j
) [
j
) [
k
) = U
c
j
[
j
) [
k
)
=
1
_
r[H[

a
j
Zr

hH

a
j
b

j
r
U
c
j
[g
a
j
h) [
k
)
=
1
_
r[H[

a
j
Zr

hH

a
j
b

j
r

a
j
b

j
r
[g
a
j
h) [
k
)
=
1
_
r[H[

a
j
Zr

hH
[g
a
j
h) [
k
)
= [g) H) [
k
)
V
g

[c
j
)
[
j
)
U
[
k
)
Figura 16. Este circuito converte o estado |
j
no estado |g H.
Repetindo este argumento para cada j ,= k resulta na obteno de l 1 cpias
de [g) H). Aps isso, podemos descartar o estado [
k
). Vemos que a converso das
cpias de [H) em cpias de [g) H) pode ser feita ecientemente e com probabilidade de
correo to alta quanto desejarmos.
Iremos agora mostrar o algoritmo que, combinando as duas subrotinas mostradas
at aqui, computa a ordem do grupo G. Relembrando as nossas hipteses, temos um
grupo G solvel, portanto, existem g
1
, , g
m
G tais que sendo H
j
= g
1
, , g
j
)
tem-se
G = H
m
H
1
H
0
:= e,
com H
j
= g
j
) H
j1
, r
j
= r
H
j1
(g
j
) = [H
j
/H
j1
[ e r = [G[ =

m
j=1
r
j
.
O algoritmo ser inicializado com uma grande quantidade, K N, de cpias
do estado [e), que podem ser obtidas trivialmente. Aps isso, o algoritmo executa as
operaes conforme mostra a gura 16.
A m de que ele calcule r com erro limitado por 0 < < 1, necessrio que em
cada volta do lao, o erro cometido seja no mximo /m. Assim, o clculo de r
j
deve
ser feito com erro mximo /2m e tambm a converso das cpias de [H
j1
) em cpias
de [H
j
) deve ser feita com erro mximo /2m. Desta forma, K deve ser escolhido para
atender s necessidades tanto do clculo de ordem, quanto para a converso das cpias,
sendo suciente escolher K = O(log nlog(m/)). No algoritmo, quando usamos K 1
cpias de [H
j1
) para computar r
j
, signica que o procedimento para clculo de ordem,
primeira subrotina apresentada, se repetir k 1 vezes. Note tambm, que a cada volta
87
Algoritmo 1 Algoritmo para o clculo da ordem de um grupo solvel G.
Entrada: K(m + 1) cpias do estado [e).
Sada: r = [G[ =

m
j=1
r
j
.
1: Prepare K(m + 1) cpias do estado [e).
2: para j from 1 to m, downward faa
3: Use K 1 cpias de [H
j1
) para computar r
j
e descarte estas cpias.
4: Use uma das cpias de [H
j1
) para converter as cpias restantes em cpias de [H
j
).
Descarte a cpia no convertida.
5: m para
do lao, K cpias so descartadas. Portanto, na ltima volta, K cpias sero descartadas
e as K cpias remanescentes sero convertidas em cpias de [G).
Por m, conclumos que com a escolha feita para K, a ordem r de G e a su-
perposio [G) so computadas em tempo quntico polinomial em nm + O(1/), com
probabilidade de acerto de pelo menos 1 .
8. Algoritmo para Decompor Grupos Abelianos
O Teorema Fundamental de Grupos Finitos Abelianos nos diz que qualquer grupo nito
abeliano pode ser decomposto como uma soma direta de subgrupos cclicos cujas ordens
so potncias de primos. Entretanto, no conhecido nenhum algoritmo clssico que
explicite este isomorsmo ecientemente. Por exemplo, considere o grupo das unidades
Z

N
. Nenhum algoritmo eciente para determinar um conjunto gerador para esse tipo de
grupo abeliano conhecido. Consequentemente no podemos determinar ecientemente
a decomposio de Z

N
como uma soma direta de subgrupos cclicos. Nesta seo apre-
sentaremos um algoritmo quntico eciente para fazer a decomposio.
Sejam G
1
, . . . , G
n
grupos, denimos o produto direto de G
1
, . . . , G
n
como sendo
o produto cartesiano G
1
. . . G
n
com a operao
(g
1
, . . . , g
n
) (h
1
, . . . , h
n
) := (g
1
h
1
, . . . , g
n
h
n
). (25)
EXERCCIO 8.1 Mostre que G
1
. . . G
n
de fato um grupo com a operao denida
em (25). Sugesto: o elementro neutro de G
1
. . . G
n
(e
1
, . . . , e
n
), onde e
i
o
elemento neutro de G
i
, i = 1, . . . , n; o elemento inverso de (g
1
, . . . , g
n
) (g
1
1
, . . . , g
1
n
).
No produto direto, um novo grupo gerado a partir dos grupos G
1
, . . . , G
n
. Cada grupo
pode ter um tipo diferente de produto, isto , o produto dos elementos de G
1
no precisa
ter relao com o produto dos elementos de G
2
. Um conceito relacionado ao produto
direto a soma direta, no entanto nesse ltimo temos um nico produto binrio. Quando
um grupo G e subgrupos H
1
, . . . , H
n
satisfazem as condies i) G = H
1
. . . H
n
, ii) H
i

G
i
, i = 1, . . . , n., iii) H
i
(H
1
. . . H
i1
H
i+1
. . . H
n
) = e, i = 1, . . . , n, dizemos
que G a soma direta de H
1
, . . . , H
n
e escrevemos G = H
1
. . . H
n
.
EXERCCIO 8.2 Mostre que se H um subgrupo de um grupo abeliano G, ento o con-
junto das classes laterais de H formam um grupo com a multiplicao de classes laterais
denida por
g
1
H g
2
H = g
1
g
2
H
88
para todo g
1
, g
2
G. Este grupo denotado por G/H.
EXERCCIO 8.3 Seja H um subgrupo de um grupo abeliano G. Mostre que se g
1
, . . . , g
k
geram G, ento g
1
H, . . . , g
k
H geram G/H.
Seja G um grupo e p um nmero primo. Seja H G. Ento H dito um p-
subgrupo de Sylow de G se [H[ = p

para algum N tal que p

divide [G[ mas p


+1
no divide.
EXERCCIO 8.4 Mostre que todo grupo nito abeliano G pode ser expresso como uma
soma direta de seus p-subgrupos de Sylow. Sugesto: use o fato de que todo p-subgrupo
de G normal em G e as ordens dos p-subgrupos so coprimas.
EXERCCIO 8.5 Seja H um subgrupo de G = G
p
1
. . . G
p
l
onde G
p
i
um p
i
-
subgrupo de Sylow para todo i = 1, . . . , l e p
1
, . . . , p
l
primos distintos. Mostre que
existe H
p
i
G
p
i
, i = 1, . . . , l tal que H = H
p
1
. . . H
p
l
. Sugesto: dena

i
: G G
p
i
, tal que (g
1
, . . . , g
l
) g
i
, i = 1, . . . , l e H
i
=
i
(H). Verique
que H
i
G
p
i
e H H
1
. . . H
l
. Tome (h
1
, . . . , h
l
) H
1
. . . H
l
e note que
[G
p
1
[, . . . , [G
p
l
[ so dois a dois primos entre si, assim utilize o Teorema Chins do Restos
e conclua que (h
1
, 0, . . . , 0), (0, h
2
, . . . , 0), (0, 0, . . . , h
l
) H.
Uma matriz U dita unimodular se ela composta apenas de elementos inteiros e
seu determinante tem mdulo unitrio. Sabemos que a matriz U
1
pode ser determinada
em geral pela frmula
U
1
ij
=
1
det(U)
(1)
i+j
det(U
ij
), (26)
onde U
ij
a matriz obtida eliminando a i-sima linha e j-sima coluna da matriz U.
Como U
1
ij
um inteiro, conclumos que a matriz U
1
inteira.
EXERCCIO 8.6 Mostre que U unimodular se, e somente se, U
1
unimodular.
Chamamos de operaes elementares as seguintes operaes sobre as colunas de
uma matriz:
1. trocar duas colunas de lugar;
2. multiplicar uma coluna por 1;
3. adicionar um mltiplo inteiro de uma coluna numa outra coluna;
As operaes elementares sobre as linhas so denidas de forma anloga.
TEOREMA 8.1 Para qualquer matriz com entradas inteiras A, pode-se determinar em
tempo polinomial usando operaes elementares sobre as linhas e colunas de A matrizes
unimodulares U e V tais que UAV =
_
D 0
0 0
_
, onde D = diag(d
1
, . . . , d
k
) uma
matriz diagonal com entradas inteiras d
1
, . . . , d
k
tais que d
1
[d
2
[ . . . [d
k
, e para cada i, o
produto d
1
, . . . , d
i
igual ao mdc dos subdeterminantes de A de ordem i. Dizemos que a
matriz
_
D 0
0 0
_
a forma normal de Smith de A.
89
O teorema que vamos enunciar logo abaixo parte fundamental do algoritmo de
decomposio de grupos abelianos.
TEOREMA 8.2 Dado um conjunto gerador a
1
, . . . , a
k
de um grupo nito abeliano G e
uma matriz M tal que a
x
1
1
. . . a
x
k
k
= e se, e somente se, x = (x
1
, . . . , x
k
)
T
intcol(M),
onde intcol(M) denota o conjunto dos valores obtidos tomando combinaes lineares
inteiras das colunas de M, ns podemos determinar em tempo polinomial (no tamanho
de M) g
1
, . . . , g
l
, com l k tais que, G = g
1
) . . . g
l
).
Demonstrao: Pelo teorema 8.1, podemos achar em tempo polinomial matrizes uni-
modulares U
kk
e V
nn
tais que U
1
kk
M
kn
V
nn
=
_
D 0
0 0
_
. .
D

, onde D = diag(d
1
, . . . , d
m
)
uma matriz diagonal com entradas inteiras d
1
, . . . , d
m
. Como V unimodular, temos
que
intcol(MV ) = intcol(M). (27)
Assim,
a
x
1
1
. . . a
x
k
k
= e x = (x
1
, . . . , x
k
)
T
intcol(MV ).
Agora para cada i, j = 1, . . . , k, seja r
i
a ordem de a

i
, onde a

i
= a
u
1i
1
. . . a
u
ki
k
e u
ji
so as entradas da matriz U. Pela proposio 8.1 a

1
r
1
. . . a

k
r
k
= e se, e somente se, d
i
[r
i
,
logo d
i
= r
i
pela minimalidade de r
i
. Observe tambm que devemos ter m = k. De fato,
suponhamos por absurdo que m = k j, para algum 1 j k 1, ento invocando
novamente a proposio 8.1 temos
(a

1
x
1
. . . a

kj
x
kj
)a

kj+1
x
kj+1
. . . a

k
x
k
= e
a

kj+1
x
kj+1
. . . a

k
x
k
= e
x
kj+1
= . . . = x
k
= 0.
Mas isso um absurdo, pois, como G nito, existem inteiros positivos r
kj+1
, . . . , r
k
,
tais que
a

kj+1
r
kj+1
. . . a

k
r
k
= e, (28)
onde r
kj+1
, . . . , r
k
so as ordens dos elementos a

kj+1
, . . . , a

k
, respectivamente. Por-
tanto, m = k.
Agora, seja j o menor ndice tal que d
j
> 1. Considere o conjunto formado
pelos g
i
= a

i+j1
para todo i = 1, . . . , l, onde l = m j + 1. claro que o conjunto
g
1
, . . . , g
l
ainda gera G e a ordem de cada g
i
d
i+j1
. Com efeito, suponhamos que
d
1
= . . . = d
j1
= 1. Da temos que a

1
= . . . = a

j1
= e (pois d
i
a ordem de
a

i
). Assim, se retirarmos as identintades do conjunto de geradores, ainda continuaremos
com um conjunto de geradores para G. Observe ainda que so satisfeitas as seguintes
propriedade para o grupo G:
(1) G = g
1
, . . . , g
l
) = g
1
) . . . g
l
);
(2) Para todo g G, existem elementos unicamente determinados x
1
g
1
) , . . . , x
l

g
l
) tais que g = x
1
. . . x
l
;
(3) g
i
) (g
1
) . . . g
i1
) g
i+1
) . . . g
l
)) = e, i = 1, . . . , l.
90
Portanto, segue direto das relaes (1), (2) e (3) acima que G = g
1
) . . . g
l
) e com
isto provamos o teorema 8.2.
EXERCCIO 8.7 Mostre que a equao (27) est correta.
EXERCCIO 8.8 Mostre que G =

1
, . . . , a

k
_
.
EXERCCIO 8.9 Mostre que o grupo G satisfaz as propriedades (1), (2), e (3) na demon-
strao do teorema 8.2.
PROPOSIO 8.1 Seja a

i
= a
u
1i
1
. . . a
u
ki
k
, i = 1, . . . , k. Ento as seguintes condies
so equivalentes:
(i) a

1
x
1
. . . a

k
x
k
= e
(ii) (x
1
, . . . , x
k
)
T
intcol(D

)
(iii) d
i
[x
i
para i = 1, . . . , m e x
i
= 0 para i = m + 1, . . . , k.
Demonstrao: De fato, para provarmos que (i) (ii), observe que
a

1
x
1
. . . a

k
x
k
= a
x
1
u
11
+ . . . + x
k
u
1k
. .
z
1
1
. . . a
x
1
u
k1
+ . . . + x
k
u
kk
. .
z
k
k
= e
z = (z
1
, . . . , z
k
)
T
intcol(M) = intcol(MV ) = intcol(UD

).
Logo,
z
1
=
1
u
11
d
1
+. . . +
m
u
1m
d
m
+
m+1
u
1m+1
.0 + . . . +
n
u
1k
.0
z
2
=
1
u
21
d
1
+. . . +
m
u
2m
d
m
+
m+1
u
2m+1
.0 + . . . +
n
u
2k
.0
.
.
. (29)
z
k
=
1
u
k1
d
1
+. . . +
m
u
km
d
m
+
m+1
u
km+1
.0 +. . . +
n
u
kk
.0.
Substituindo z
i
= x
1
u
i1
+ . . . + x
k
u
ik
nas equaes em (29) para todo i = 1, . . . , k,
obtemos
(x
1

1
d
1
)u
11
+ . . . + (x
m

m
d
m
)u
1m
+ x
m+1
u
1m+1
+ . . . + x
k
u
1k
= 0
(x
1

1
d
1
)u
21
+ . . . + (x
m

m
d
m
)u
2m
+ x
m+1
u
2m+1
+ . . . + x
k
u
2k
= 0
(x
1

1
d
1
)u
k1
+ . . . + (x
m

m
d
m
)u
km
+ x
m+1
u
km+1
+ . . . + x
k
u
kk
= 0
ou equivalente,
(x
1

1
d
1
)
_

_
u
11
u
21
.
.
.
u
k1
_

_
+ . . . + (x
m

m
d
m
)
_

_
u
1m
u
2m
.
.
.
u
km
_

_
+ . . . +x
k
_

_
u
1k
u
2k
.
.
.
u
kk
_

_
=
_

_
0
0
.
.
.
0
_

_
x
1
=
1
d
1
, . . . , x
m
=
m
d
m
, com x
i
= 0 i = m + 1, . . . , k, pois, U invertvel.
Logo, (x
1
, . . . , x
k
)
T
intcol(D

).
91
Que (ii) (iii), segue imediatamente da denio de intcol(D

). Finalmente,
vamos mostrar que (iii) (i). Com efeito, segue de (iii) que existem inteiros positivos

1
, . . . ,
m
tais que
a

1
x
1
. . . a

k
xm
= a
x
1
u
11
+...+xmu
1m
1
. . . a
x
1
u
k1
+...+xmu
km
k
= a

1
d
1
u
11
+...+mdmu
1m
1
. . . a

1
d
1
u
k1
+...+mdmu
km
k
= a
y
1
1
. . . a
y
k
k
,
onde
y = (y
1
, . . . , y
k
)
T
intcol(UD

) = intcol(M). (30)
Mas por hiptese a
y
1
1
. . . a
y
k
= e, portanto, a

1
x
1
. . . a

k
x
k
= e, e com isto terminamos a
prova.
Computadores qunticos prometem resolver certos problemas assintoticamente
mais rpido do que seus equivalentes clssicos. A maior parte dos algoritmos qunticos
com ganho exponencial em relao aos seus equivalentes clssicos pode ser considerada
casos particulares do chamado Problema do Subgrupo Escondido (PSE). O PSE consiste
em achar os geradores de um subgrupo H de um determinado grupo nito G com uma
funo orculo f denida emGtal que f(a) = f(b) se, e somente se, aH = bH para todo
a, b G. O PSE em grupos abelianos resolvido ecientemente num computador qun-
tico. O algoritmo para o PSE abeliano requer que o grupo nito G seja identicado com
Z
N
1
. . . Z
N
k
. Mostraremos que usando o algoritmo para o PSE abeliano, ns podemos
determinar o isomorsmo responsvel pela identicao de G com Z
N
1
. . . Z
N
k
de
forma eciente. Para isto faremos algumas suposies sobre o grupo G.
1. Temos uma nica representao binria para cada elemento de G e podemos re-
conhecer ecientemente se uma palavra binria representa um elemento de G ou
no.
2. Usando a representao binria, para qualquer a G, podemos construir um
operador linear unitrio eciente U
a
, tal que, U
a
: [y) [ay) .
3. Podemos achar um conjunto gerador para G ecientemente.
4. As ordens dos geradores so potncias de primos.
Para a suposio 3 veja o teorema abaixo.
TEOREMA 8.3 Seja G um grupo nito. Para qualquer inteiro t 0, a probabilidade que
t +log [G[ elementos escolhidos aleatoriamente de G gerem G dada por
prob

g
1
, g
2
, . . . , g
t+log |G|
_
= G 1
1
2
t
para t 0.
Am de entendermos a suposio 4, seja a um elemento no conjunto gerador de
G de ordem pq, onde mdc(p, q) = 1, p ,= 1 e q ,= 1. Note que podemos encontrar p e q
ecientemente utilizando o algoritmo de Shor. Ento pelo algoritmo Euclidiano, podemos
encontrar inteiros r e s, tais que, rp +sp = 1. Assim, temos que
a = a
rp+sq
= a
rp
a
sq
, (31)
92
e fcil vericar que a ordem de a
rp
q e a ordem de sq p (Mostre!). Se p e q so
potncias de primos, basta substituirmos a por a
rp
e a
sq
, que continuamos com um con-
junto gerador, caso contrrio, repetimos este procedimento, agora utilizando as ordens p
e q. Faamos isto at que cada elemento no conjunto de geradores tenha ordem potncia
de primo.
Para a suposio 2, j que conhecemos a ordempq de a, podemos calcular ecien-
temente a
1
= a
pq1
, e portanto, calcular U
1
a
.
Sabemos que se G um grupo nito abeliano ento G pode ser espresso como
uma soma direta de seus p-subgrupos de Sylow. Estes p-subgrupos de Sylow podem
ser determinados ecientemente, uma vez que conhecemos a decomposio da ordem do
grupo em seus fatores primos utilizando o algoritmo de Shor. Seja ento G = G
p
1

. . . G
p
l
onde G
p
i
um p
i
-subgrupo de Sylow de G com p
i
primos distintos, para todo
i = 1, . . . , l. Considere o conjunto S
j
formado por todos os elementos no conjunto
gerador de G cujas ordens so potncias do primo p
j
. Veremos na proposio a seguir, a
importncia de termos denido o conjunto S
j
desta forma .
PROPOSIO 8.2 Se G = G
p
1
. . . G
p
l
onde G
p
i
um p
i
-subgrupo de Sylow de G
para todo i = 1, . . . , l e p
1
, . . . , p
l
so primos distintos, ento S
j
gera G
p
j
.
Demonstrao: Para cada a S
j
, seja K
a
= a). Pelo exerccio (8.5), ns temos
K
a
= K
p
1
. . . K
p
l
onde K
p
i
G
p
i
para todo i = 1, . . . , l. Como K
a
um p
j
-grupo,
devemos ter K
a
G
p
j
, o que implica que S
j
G
p
j
, portanto,S
j
) G
p
j
. Agora vamos
mostrar que G
p
j
S
j
). De fato, se g G
p
j
ento [g[ = p

j
para algum inteiro positivo
. Por outro lado, g G, ento g = a

1
1
. . . a

k
k
com a
i
no conjunto de geradores de G
para todo i = 1, . . . , k. Como [g[ = p

j
, devemos ter [a

i
i
[ = p

i
j
i = 1, . . . , k. Mas isto
implica que g S
j
, logo, G
p
j
S
j
) e isto demonstra a proposio 8.2.
A proposio 8.2 nos diz como achar um conjunto de geradores para cada p-
subgrupo de Sylow de G. Ento, podemos obter uma decomposio para G tomando
o produto das decomposies dos p-subgrupos de Sylow de G. Desta forma, o problema
de achar uma decomposio para Gresume-se ao problema de achar a decomposio para
cada p-subgrupo de Sylow de G.
O algoritmo que descreveremos logo abaixo, determina a decomposio de cada
p-subgrupo de Sylow de G, uma vez dado o seu conjunto de geradores.
Veriquemos agora que o algoritmo DecomporSylow realmente expressa um p-
subgrupo de Sylow como uma soma direta de subgrupos cclicos com ordens potncias
de primos.
Observe que o subgrupo escondido K de Z
k
q
o conjunto
K = x Z
k
q
[ (x) = a
x
1
1
. . . a
x
k
k
= e (32)
fcil ver que a funo um homomorsmo sobrejetor de Z
k
q
emG, logo, temos
um isomorsmo entre Z
k
q
/K e G. Assim se o conjunto y
1
, . . . , y
l
gera Z
k
q
/K, ento
(y
1
), . . . , (y
l
) gera G.
93
Algoritmo 2 DecomporSylow
1: ENTRADA:
2: Um conjunto gerador a
1
, . . . , a
k
de um p-subgrupo de Sylow de G.
3: q = maxp
r
i
, onde p
r
i
= [a
i
[ i = 1, . . . , k.
4: SADA:
5: Um conjunto de elementos g
1
, g
2
, . . . , g
l
, l k, de G
p
.
6: PROCEDIMENTO:
7: Dena : Z
k
q
G tal que (x
1
, . . . , x
k
) a
x
1
1
. . . a
x
k
k
. Determine os geradores para
o subgrupo escondido K de Z
k
q
denido pela funo .
8: Calcule um conjunto y
1
,. . .,y
k
Z
k
q
/K de geradores para Z
q
k
/K.
9: Sada o conjunto g(y
1
), . . . , g(y
l
).
EXERCCIO 8.10 Mostre que a equao (32) est correta.
EXERCCIO 8.11 Mostre que a aplicao denida pelo algoritmo DecomporSylow
um homomorsmo sobrejetor. Conclua ento que ker() = K.
EXERCCIO 8.12 Mostre que Z
k
q
/K e G so isomorfos. Sugesto: use o exerccio ante-
rior seguido do Teorema dos Isomorsmos.
Vejamos agora como podemos determinar os geradores de Z
k
q
/K. Observe que
e
1
, . . . , e
k
geram Z
k
q
, onde e
i
um 0, 1-vetor com 1 na i-sima coordenada. Alm disso,
seja M = qI, onde I a matriz identidade de ordemk. No h diculdades em demonstrar
que
x
1
e
1
+ . . . + x
k
e
k
= 0 (em Z
k
q
) x intcol(M). (33)
EXERCCIO 8.13 Mostre que a expresso (33) est correta.
Agora note que, como K Z
k
q
e e
1
, . . . , e
k
gera Z
k
q
, temos que
e
1
+ K, . . . , e
k
+ K
gera Z
k
q
/K (veja exerccio (8.3)). Observe tambm que
v
1
(e
1
+ K) + . . . +v
k
(e
k
+ K) = K (34)
se, e somente se, Iv K, onde I a matriz identidade e v = (v
1
, . . . , v
k
)
T
.
EXERCCIO 8.14 Verique que a equao dada em (34) est correta.
PROPOSIO 8.3 Seja A a matriz cujas colunas so os geradores do subgrupo escondido
K. Ento Iv K se, e somente se, v intcol([M[A]), onde
[M[A] =
_

_
q 0 [
.
.
.
.
.
.
.
.
. [ A
0 q [
_

_
,
94
Demonstrao: Note que, Iv K se, e somente se, existe um vetor x tal que
Iv = Ax
Iv = IAx
I(v Ax) = 0
v Ax intcol(M) (veja equao (33))
v Ax =
1
qe
1
+ . . . +
k
qe
k
v =
1
qe
1
+. . . +
k
qe
k
+Ax
v intcol([M[A]).
Aplicando o teorema 8.2 ao conjunto de geradores
e
i
+ K [ i = 1, . . . , k (35)
de Z
k
q
/K e fazendo M

= [M[A], ns obtemos y
1
,. . . ,y
l
Z
k
q
/K tal que
Z
k
q
/K = y
1
) . . . y
l
) (36)
como desejado.
EXEMPLO 8.1 Veremos agora uma aplicao do algoritmo DecomporSylow no grupo
Z

35
. O grupo Z

35
gerado pelo conjunto 8, 16 (verique!). Podemos vericar facil-
mente que [8[ = 2
2
e 26 = 2 3. Como o mdc(2, 3) = 1, pelo algoritmo de Euclides,
podemos encontrar inteiros r e s tais que 2r + 3s = 1. Assim, temos que
26 = 26
2r+3s
= (26
2
)
r
(26
3
)
s
. (37)
Note que [26
2
[ = 3 e [26
3
[ = 2, logo, se substiturmos 26 por 26
2
11 mod 35 e
26
3
6 mod 35, obtemos um novo conjunto gerador para Z

35
dado por
Z

35
= 6, 8, 11) , (38)
onde as ordens dos elementos so todas potncias de primos.
Agora, vejamos quantos subgrupos de Sylow existem em Z

35
a menos de subgru-
pos conjugados. Como (35) = 24 = 2
3
3, os subgrupos de Sylow de Z

35
devem ter
ordens 2
3
e 3 apenas. Vamos denominar os subgrupos de Sylow de Z

35
de ordens 2
3
e 3
por G
2
e G
3
, respectivamente. Sejam S
2
= 6, 8 e S
3
= 11 os conjuntos formados
pelos geradores de Z

35
cujas ordens so potncias de 2 e 3, respectivamente. Segue da
proposio 8.2 que
G
2
= S
2
) e G
3
= S
3
) . (39)
Como o grupo G
3
cclico de ordem potncia de primo, basta aplicarmos o algoritmo
DecomporSylow ao grupo G
2
, e depois tomarmos a soma direta com G
3
para obtermos a
decomposio desejada.
Para aplicarmos o algoritmo DecomporSylow ao grupo G
2
, devemos passar como
entrada para o algoritmo o conjunto de geradores 6, 8 e q = max[6[, [8[ = 4. Con-
sidere ento a funo : Z
2
q
G
2
tal que ((x
1
, x
2
)) = 6
x
1
8
x
2
mod 35. Segue da
expresso (32) que o subgrupo escondido K de Z
2
4
o conjunto
K = x Z
2
4
[ (x) = 6
x
1
8
x
2
= 1. (40)
95
Aps alguns clculos, vemos que
K = (2, 0)) . (41)
Agora, seja [M[A] =
_
4 0 [ 2
0 4 [ 0
_
dada como na proposio 8.3. Ento, basta
aplicar o teorema 8.2 ao conjunto de geradores e
1
+ K
. .
a
1
, e
2
+K
. .
a
2
de Z
2
4
e M

= [M[A].
Sejam
D =
_
2 0 0
0 4 0
_
(42)
a forma normal de Smith da matriz M

,
U =
_
1 0
33 1
_
e V =
_
_
0 0 34
1 1 0
1 0 2
_
_
(43)
matrizes unimodulares tais que UM

V = D. Observe que g
i
= a

i
i = 1, 2. Logo o
conjunto g
1
, g
2
dado por
g
1
= a

1
= a
1
+ a
0
2
= (1, 0) +K,
g
2
= a

2
= a
33
1
+ a
2
= (3, 1) +K
(44)
tal que
Z
2
4
/K = g
1
) g
2
) . (45)
Como a funo : Z
2
4
/K G
2
um isomorsmo, temos
G
2
= (g
1
)) (g
2
)) . (46)
Ento,
(g
1
) = ((1, 0)) = 6
1
8
0
mod 35 = 6,
(g
2
) = ((3, 1)) = 6
3
8
1
mod 35 = 13 (47)
e
G
2
= 6) 13) . (48)
Portanto,
Z

35
= 11) 6) 13) . (49)
EXERCCIO 8.15 Verique que as matrizes U e V dadas no exemplo (8.1) so de fato
unimodulares.
Podemos generalizar o algoritmo acima trabalhando com todos os p-subgrupos de
Sylow simultaneamente. De fato, suponha que o conjunto
a
i1
, . . . , a
ik
i
(50)
96
gere o grupo G
p
i
. Ento, seja q
i
= maxp
i
r
j
, com p
i
r
j
= [a
ij
[ j = 1, . . . , k
i
. Em
seguida, dena : Z
k
1
q
i
. . . Z
k
l
q
l
G que leva
(x
11
, . . . , x
1k
1
, . . . , x
l1
, . . . , x
lk
l
) (x) =
l

i=1
a
x
i1
i1
. . . a
x
ik
i
ik
i
. (51)
Agora basta prosseguir como antes. Na prtica deseja-se evitar trabalhar com todos os
p-subgrupos de Sylow de uma nica vez, pois, desta forma precisaramos construir uma
super rede quntica para resolver PSE no clculo dos geradores para Z
k
1
q
1
. . . Z
k
l
q
l
/K,
onde K o subgrupo escondido denido por , alm disso, precisaramos de uma matriz
com tamanho muito grande na aplicao do teorema 8.2. Observe tambm que para cada
primo p, ao invs de usar Z
k
q
, ns poderamos ter usado Z
p
t
1
Z
p
t
1
. . . Z
p
t
k
.
EXERCCIO 8.16 Mostre que a aplicao denida pela expresso (51) um homomor-
smo.
9. Notas Bibliogrcas
As referncias mais bsicas de computao quntica que recomendamos so [Nielsen & Chuang 2000,
Portugal et al. 2004, Aharonov 1998, Steane 1998, Rieffel & Polak 2000, Kitaev et al. 2002].
Aseo sobre portas e circuitos qunticos se baseou nas referncias [Nielsen & Chuang 2000,
Portugal et al. 2004]. Outras referncias relevantes so [Barenco et al. 1995b, Barenco et al. 1995a,
Barenco 1995, Cleve et al. 1998].
Aseo sobre transformada de Fourier se baseou nas referncias [Nielsen & Chuang 2000,
Portugal et al. 2004]. Outras referncias relevantes so [Coppersmith 1994, Barenco et al. 1996,
Grifths & Niu 1996, Hales & Hallgren 2000, Cleve & Watrous 2000, Coppersmith 1994,
Lomont 2004a, Cleve 2004].
Aseo sobre o algoritmo de Shor se baseou nas referncias [Shor 1997, Lavor et al. 2003].
Outras referncias relevantes so [Ekert & Jozsa 1996, Vandersypen et al. 2001, Beckman et al. 1996].
As sees sobre clculo 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]. Outras
referncias relevantes so [Ivanyos et al. 2003, Fenner & Zhang 2004].
O algoritmo para decompor grupos abelianos nitos foi descrito pela primeira
vez em [Cheung & Mosca 2001]. Outra referncia relevante [Mosca 1999a]. Algumas
das principais referncias sobre o problema do subgrupo so [Lomont 2004b, Jozsa 2000,
Lomonaco & Kauffmann 2002, Ettinger & Hoyer 1999, Grigni et al. 2001]. A prova do
teorema 8.1 pode ser encontrada na referncia [Kannan & Bachem 1979] e a do teorema
8.3 em [Lomont 2004b].
Referncias
D. Aharonov. Quantum computation. In Dietrich Stauffer, editor, Annual Reviews of
Computational Physics, volume 6. World Scientic, 1998.
A. Barenco. A universal two bit gate for quantum computation. 449:679683, 1995.
97
A. Barenco, D. Deutsch, and R. Jozsa. Conditional quantum dynamics and logic gates.
Phys. Rev. Lett., 74:40834086, 1995.
A. Barenco, A. Ekert, K.-A. Suominen, and P. Trm. Approximate quantum Fourier
transform and decoherence. Phys. Rev. A, 54:139146, 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. Efcient networks for quan-
tum factoring. Phys. Rev. A, 54:1034, 1996.
K.K.H. Cheung and M. Mosca. Decomposing nite abelian groups. J. Quantum Inf.
Comp., 1(3):2632, 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:339354, 1998.
R. Cleve and J. Watrous. Fast parallel circuit for the quantum Fourier transform. In 41th
Annual 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:733753, 1996.
M. Ettinger and P. Hoyer. On quantum algorithms for noncommutative hidden subgroups.
In Proc. 16th STACS, pages 478487, 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. Grifths 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 algorithms
for the nonabelian hidden subgroup problem. In Proc. 33th STOC, pages 6874,
2001.
L. Hales and S. Hallgren. An improved quantum Fourier transform algorithm and ap-
plications. In Proc. 41st Ann. Symp. on Foundations of Computer Science, pages
515525, Redonda Beach, California, November 2000.
G. Ivanyos, F. Magniez, and M. Santha. Efcient quantum algorithms for some instances
of 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 Journal
on Computing, 8(4):499507, 1979.
A. Kitaev. Quantum measurements and the abelian stabilizer problem, 1995.
98
A. Yu. Kitaev, A. H. Shen, and M. N. Vyalyi. Classical and quantum computation. Grad-
uate studies in mathematics. American Mathematical Society, Providence, Rhodes
Island, 2002.
C. Lavor, L.R.U. Manssur, and R. Portugal. Shors algorithm for factoring 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 Alamos arXiv, 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 Introduo Computao
Quntica, volume 8 of Notas em Matemtica Aplicada. SBMAC, 2004.
E.G. Rieffel and W. Polak. An introduction to quantum computing for non-physicists.
ACM Comput. Surv., 32(3):300335, 2000.
P. W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms
on a quantum computer. SIAM J. Comput., 26:14841509, 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 Shors quan-
tum factoring algorithm using nuclear magnetic resonance. Nature, 414:883886,
December 2001.
J. Watrous. Quantum algorithms for solvable groups. Proceedings of the 33rd ACM
Symposium on Theory of Computing, pages 6067, 2001.
99
100

Vous aimerez peut-être aussi