Escolar Documentos
Profissional Documentos
Cultura Documentos
INSTITUTO DE MATEMÁTICA
JÚLIO ZYNGER
Orientador
Apresentado por:
Júlio Zynger
Aprovado por:
Março de 2015
Agradecimentos
Aos meus pais, herois de minha formação e inspiração diária, que tanto bata-
lharam para que alcançasse este momento e sempre dispostos a esforços para criar
oportunidades e abrir portas para meu caminhar intelectual. Assim também, agra-
deço a meus irmãos, avós, primos, tios e familiares, que sempre zeram entender
Meus agradecimentos aos amigos, em especial aqueles com os quais dividi a sala
a graduação, irmãos na amizade que zeram parte da minha formação e que vão
apenas racional, e pelo tanto que se dedicaram a mim, não somente por terem me
incentivo à educação através da bolsa de intercâmbio aos Estados Unidos pelo pro-
muito obrigado.
יׂשראל חיMע
i
RESUMO
Júlio Zynger
Março/2015
do tipo x = ⃗b,
A⃗ comparando-o com suas contra-partes clássicas e apresentando os
ii
ABSTRACT
Júlio Zynger
Março/2015
iii
Lista de Figuras
vamente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 3.1: Exemplo de ajuste de curva, com pontos gerados por uma fun-
lores λj da matriz A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
iv
Figura 4.3: Resultados obtidos, adaptado de [5]. . . . . . . . . . . . . . . . . . . 56
x3 − 3x [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
convergência de aproximações. . . . . . . . . . . . . . . . . . . . . . 78
v
Sumário
Agradecimentos i
Resumo ii
Abstract iii
Lista de Figuras iv
1 Introdução 1
2 Conceitos 3
vi
2.1.6.1 Todo operador Hermitiano é Diagonalizável . . . . . . 11
2.1.9.1 Observáveis . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2.1 Reversibilidade . . . . . . . . . . . . . . . . . . . . . . . 19
vii
3.3 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 O algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.1 Registradores C e B . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.5 Medição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
viii
5 Implementação 57
6 Trabalhos Futuros 61
Referências 63
B Teste SWAP 71
C Amplicação de Amplitude 73
D Método de Newton 76
ix
Capítulo 1
Introdução
resolução de tais sistemas é a base para muitas tecnologias modernas como previsão
resolução, e assim, cando limitados até mesmo quando são usados os melhores
supercomputadores modernos.
propriedades da solução.
ses teóricas da álgebra linear e mecânica quântica requeridas para seu entendimento,
Conceitos
quântica requerem um conhecimento prévio da mecânica quântica, esta por sua vez
pressupõe um estudo de álgebra linear elementar. Uma vez com este conhecimento-
fundação, consideramos que o leitor leigo seja capaz de trabalhar sobre problemas
o que já é conhecido dos métodos clássicos, iniciando-se por noções básicas sobre
viés quântico.
2.1. ÁLGEBRA LINEAR 4
quântica deu a importância à álgebra linear nos dias de hoje, e é possivel notar sua
interessante para nosso estudo. Cada elemento deste espaço vetorial é chamado
Uma vez que a mecânica quântica é nossa principal motivação para o estudo
∣ψ⟩ (2.1)
onde ψ é o rótulo do vetor (qualquer rótulo é válido, embora seja comum utilizar ψ
e φ), e a notação ∣.⟩ é usada para indicar que o objeto é um vetor.
diferentes.
armente dependente.
Denição: Base
Além disso, pode ser demonstrado que todo espaço vetorial nitamente gerado
então
matriz A com dimensão m × n e entradas Aij representa um operador linear que leva
2.1. ÁLGEBRA LINEAR 6
representado por uma matriz de forma que, se {∣v1 ⟩, ⋯, ∣vm ⟩} for uma base de V e
{∣w1 ⟩, ⋯, ∣wn ⟩} for uma base de W, temos números complexos A1j a Anj (1 ≤ j ≤ m)
tais que
n
A ∣vj ⟩ = ∑ Aij ∣wi ⟩. (2.5)
i=1
Deniremos aqui o que chamamos de matriz esparsa, conceito este que será
aquela cuja maioria dos elementos vale zero - a fração de elementos com valor nulo
é chamada esparsidade.
⎛0 8 0 0⎞
⎜ ⎟
⎜5 0 0 0⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟ (2.6)
⎜0 0 3 0⎟
⎜ ⎟
⎜ ⎟
⎝0 0 0 6⎠
tem dimensão 4×4 apesar de apresentar somente 4 elementos diferentes de zero.
de forma mais eciente do que uma matriz genérica, quando utilizamos algoritmos
quântica para vetores ∣u⟩ e ∣v⟩ , o produto hermitiano será representado por ⟨u∣v⟩
em que ⟨u∣ é o vetor dual de ∣u⟩ , isto é, seu transposto-conjugado.
⎡ ⎤
⎢ u1 ⎥
⎢ ⎥
⎢ ⎥
⟨v∣u⟩ = ∑ vi ui = [v1 ⋯ vn ⎢⎢ ⋮ ⎥⎥ ,
] (2.7)
⎢ ⎥
i
⎢ ⎥
⎢un ⎥
⎣ ⎦
em que a representa o conjugado do número complexo a.
Dois vetores ∣u⟩ e ∣v⟩ são ortogonais se seu produto interno vale zero. Além
√
∥ ∣v⟩∥ = ⟨v∣v⟩. (2.8)
Assim como o produto hermitiano toma dois vetores para formar um escalar
complexo, o produto tensorial será aplicado a dois espaços vetoriais para formar um
condições:
Por exemplo, se o espaço vetorial V tem como base os vetores ∣0⟩e ∣1⟩ , então
Utilizaremos a notação ∣vw⟩ para o produto tensor ∣v⟩ ⊗ ∣w⟩ , assim como ∣ψ⟩ ⊗k
para representar o produto tensorial de ∣ψ⟩ consigo mesmo k vezes; por exemplo,
⎡ ⎤
⎢ a11 B ⋯ a1n B ⎥
⎢ ⎥
⎢ ⎥
⎢
A⊗B =⎢ ⋮ ⋮ ⋮ ⎥⎥ . (2.9)
⎢ ⎥
⎢ ⎥
⎢am1 B ⋯ amn B ⎥
⎣ ⎦
Notamos no exemplo
⎡ ⎤
⎢0 5 0 10⎥⎥
⎢
⎡ ⎤ ⎡ ⎤ ⎢⎢ ⎥
⎢1 2⎥ ⎢0 5⎥ ⎢ 6 7 12
⎢ ⎥ ⎢ ⎥ ⎢ 14⎥⎥
⎢ ⎥⊗⎢ ⎥=⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎥ (2.10)
⎢3 4⎥ ⎢6 7⎥ ⎢⎢ 0 15 0 20⎥⎥
⎣ ⎦ ⎣ ⎦ ⎢ ⎥
m×n p×q ⎢ ⎥
⎢18 21 24 28⎥
⎣ ⎦
mp×nq
(m × p, n × q) = 4 × 4.
de tal função pode variar a partir de uma pequena diferença na entrada. Em outras
palavras, o número de condição mede quão sensível à entrada é certa função e assim,
O número de condição pode ou não ser nito, e é comumente dado pela razão
entre o maior e o menor valor singular (denidos, por sua vez, como as raízes-
um operador hermitiano (ver seção 2.1.6), o número de condição será dado por
RRR R
λmax (A) RRRR
κ(A) = RRRRR R
RRR λmin (A) RRRRR
(2.12)
em que λmax (A) e λmin (A) são, respectivamente, o maior e o menor (em módulo)
autovalores de A.
⎛1 0⎞ ⎛0 1 ⎞
σ0 = I = ⎜ ⎟ σ1 = σx = X = ⎜ ⎟
⎝0 1⎠ ⎝1 0 ⎠
2.1. ÁLGEBRA LINEAR 10
⎛0 −i⎞ ⎛1 0 ⎞
σ2 = σy = Y = ⎜ ⎟ σ3 = σz = Z = ⎜ ⎟
⎝i 0 ⎠ ⎝0 −1⎠
mecânica quântica, são vistas na equação de Pauli, que leva em conta a interação
para todo x, y ∈ V .
especial dos operadores unitários, que são aqueles para os quais vale a propriedade
servam o produto interno entre vetores. Isto é, supondo ∣v⟩ e ∣w⟩ vetores, o produto
interno entre U ∣v⟩ e U ∣w⟩ tem o mesmo valor do produto interno entre ∣v⟩ e ∣w⟩ :
Obs.: Vale notar que as matrizes de Pauli apresentadas na seção 2.1.5 são her-
hermitianas de dimensão 2 × 2.
2.1. ÁLGEBRA LINEAR 11
Teorema 2. Se A for uma matriz qualquer, existe uma matriz unitária U de forma
que U −1 AU é triangular superior.
Prova. Como sabemos, A tem pelo menos um autovetor unitário v⃗1 . Deniremos a
⎛ ⎞
⎜ ⎟
⎜v⃗ ⋯ v⃗ ⎟
⎜ 1 n⎟ (2.19)
⎜ ⎟
⎝ ⎠
2.1. ÁLGEBRA LINEAR 12
⎛λ1 ∗ ∗⎞
⎜ ⎟
⎜ 0 ∗ ∗⎟
⎜ ⎟ (2.21)
⎜ ⎟
⎝ 0 ∗ ∗⎠
(a matriz de dimensão 3×3 foi escrita por conveniência, mas a prova funciona para
qualquer n).
U −1 AU = T (2.22)
(U −1 AU ) = U A (U −1 ) = U −1 AU. (2.23)
x2 x3 x4
ex = 1 + x + + + +⋯ (2.24)
2! 3! 4!
2.1. ÁLGEBRA LINEAR 13
Funções de matrizes diagonais são ainda mais simples, uma vez que poderemos
de D.
como também está denida a norma de cada vetor com respeito à distância induzida
fazer as propriedades:
⟨x∣y⟩ = ⟨y∣x⟩;
⟨x∣x⟩ ≥ 0.
√
∥x∥ = ⟨x∣x⟩, (2.26)
√
d(x, y) = ∥x − y∥ = ⟨x − y∣x − y⟩. (2.27)
2.1. ÁLGEBRA LINEAR 14
A existência desta função d(x, y) nos leva à conclusão que o espaço vetorial H é
des:
d(x, x) = 0;
satisfeita.
t1 e t2 , em que ∣ψ ′ ⟩ = U ∣ψ⟩ .
como a energia potencial das mesmas. Dessa forma, para diferentes sistemas físicos
2.1. ÁLGEBRA LINEAR 15
quântico completamente, desde que seu estado inicial também seja conhecido:
∣ψ(t)⟩ = e ∣ψ(0)⟩
−iHt
~ (2.29)
−iHt
em que e ~ representa a série de potências em H.
que varia de acordo com o tempo (ou seja, que não é constante) e assim, teríamos
quântico é ∣ψ⟩ , a probabilidade de que o resultado m ocorra é p(m) = ⟨ψ∣ Mm Mm ∣ψ⟩ .
O conjunto de operadores {Mm } satisfaz a equação de completude ∑m p(m) = 1.
M = ∑ mPm (2.30)
m
o estado ∣ψ⟩ , a probabilidade de se obter o resultado m será p(m) = ⟨ψ∣ Pm ∣ψ⟩ , como
visto acima.
res médios e desvio padrão, após uma série de medições. Utilizaremos o conceito
E(M ) = ∑ mp(m)
m
= ∑ m ⟨ψ∣ Pm ∣ψ⟩
m
= ⟨ψ∣ ( ∑ mPm ) ∣ψ⟩
m
= ⟨ψ∣ M ∣ψ⟩. (2.31)
2.1.9.1 Observáveis
cia de operações físicas são os observáveis do sistema, como por exemplo posição,
momentos e energia.
tivas, no sentido que o processo afetará o sistema de uma forma não determinística
ocorre quando pares ou grupos de partículas interagem de forma que o estado quân-
tico de cada uma não pode ser descrito independentemente, e ao invés disso, um
é de tal forma que seu spin total é zero, e sabe-se que uma destas partículas tem spin
em sentido horário em certo eixo, então a outra partícula terá seu spin no sentido
Se considerarmos dois sistemas A e B, que não interagem entre si, em que ∣ψ⟩ A
é o estado do primeiro sistema e ∣φ⟩ B é o estado do segundo sistema, então o estado
Estados do sistema composto que podem ser representados desta forma são chama-
dos estados separáveis. Mas, uma vez xadas as bases {∣i⟩ A } e {∣j⟩ B } para os espaços
de Hilbert HA de A e HB de B, os estados do sistema composto serão escritos, de
Por exemplo, dados os vetores {∣0⟩ A , ∣1⟩ A } base de HA e {∣0⟩ B , ∣1⟩ B } base de HB ,
um dos estados emaranhados do sistema composto HA ⊗ HB é
1
√ ( ∣0⟩ A ⊗ ∣1⟩ B − ∣1⟩ A ⊗ ∣0⟩ B ). (2.35)
2
análogo do bit clássico. Um qubit é qualquer sistema quântico de dois estados, como,
por exemplo, a polarização de um fóton (horizontal ou vertical) ou o spin de um
elétron (up ou down). Em um sistema clássico, o bit precisaria estar em um dos dois
estados, mas para um qubit é possível estar em uma superposição dos dois estados
simultaneamente.
Os dois estados em que um qubit pode ser mensurado são chamados estados base,
comumente representados como ∣0⟩ e ∣1⟩ . O estado de um qubit ∣ψ⟩ é, portanto,
medir o valor de ∣ψ⟩ na base padrão, a probabilidade de se obter ∣0⟩ e ∣1⟩ será dada
teremos que α e β devem satisfazer a equação ∣α∣2 + ∣β∣2 = 1 pelo fato de que são os
cos, os e portas lógicas, o computador quântico será construído a partir de circuitos
⎛0 1⎞
X =⎜ ⎟ (2.37)
⎝1 0⎠
⎛α⎞
α ∣0⟩ + β ∣1⟩ = ⎜ ⎟ (2.38)
⎝β ⎠
e assim aplicando a porta lógica
⎛α⎞ ⎛β ⎞
X ⎜ ⎟ = ⎜ ⎟. (2.39)
⎝β ⎠ ⎝α⎠
Importante notar que nem todo tipo de matriz pode descrever as portas quân-
Além da porta NOT para um qubit de entrada, também existem outras portas
que terão aplicação em vários algoritmos quânticos, dentre elas a chamada ip que
mapeia ∣0⟩ → ∣0⟩ e altera o sinal de ∣1⟩ da forma ∣1⟩ → − ∣1⟩ . Além da ip, uma porta
1 ⎛1 1 ⎞
H=√ ⎜ ⎟ (2.40)
2 ⎝1 −1⎠
√ √
que mapeia ∣0⟩ → (∣0⟩ + ∣1⟩)/ 2 e ∣1⟩ → (∣0⟩ − ∣1⟩)/ 2, justamente na `metade do
2.2.2.1 Reversibilidade
não são reversíveis. Assim, por exemplo, para uma porta AND, é impossível obter
A B A∧B
0 0 0
0 1 0
1 0 0
1 1 1
No exemplo, se a saída obtida for o valor 0, não seremos capazes de dizer qual
Ao contrário das portas clássicas, as portas lógicas quânticas são sempre reversí-
veis: dado que as portas quânticas são unitárias, de forma a manter o somatório de
matrizes unitárias são inversíveis, basta que sejamos capazes de construir a matriz
inversa da matriz que descreve a porta quântica para que tenhamos denido a porta
quântica inversa.
quânticos não permitem `loops', sendo portanto, acíclicos, e também não permitem
a união de os, seja para entrada ou na saída de alguma porta lógica, devido ao
quânticos, regras estas que são quebradas nos circuitos de união ou separação (o que
abaixo representa o qubit alvo. A ação da porta pode ser descrita da seguinte
forma: se valor do qubit de controle for 1, então o valor do qubit alvo é alternado;
2.2. COMPUTAÇÃO QUÂNTICA 21
∣00⟩ → ∣00⟩;
∣01⟩ → ∣01⟩;
∣10⟩ → ∣11⟩;
∣11⟩ → ∣10⟩.
Podemos representá-la também por um operador matricial, que pode ser apli-
⎛1 0 0 0⎞
⎜ ⎟
⎜0 1 0 0⎟
⎜ ⎟
UCN OT =⎜
⎜
⎟,
⎟
⎜0 0 0 1⎟
⎜ ⎟
⎜ ⎟
⎝0 0 1 0⎠
⎡ ⎤
⎢a⎥
⎢ ⎥
∣ψ⟩ = ⎢ ⎥ (2.41)
⎢ ⎥
⎢b⎥
⎣ ⎦
e aplicarmos UCN OT com qubit de controle ∣0⟩ , teremos
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢1 0 0 0⎥⎥ ⎢⎢a⎥⎥ ⎢⎢a⎥⎥
⎢
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢0 1 0 0⎥⎥ ⎢⎢ b ⎥⎥ ⎢⎢ b ⎥⎥
⎢
UCN OT ( ∣0⟩ ∣ψ⟩) = ⎢⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ = ∣0⟩ ∣ψ⟩.
⎥⎢ ⎥ ⎢ ⎥ (2.42)
⎢0 0 0 1⎥⎥ ⎢⎢0⎥⎥ ⎢⎢0⎥⎥
⎢
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢0 0 1 0⎥ ⎢0⎥ ⎢0⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢1 0 0 0⎥ ⎢0⎥ ⎢0⎥ ⎢0⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 1 0 0⎥ ⎢0⎥ ⎢0⎥ ⎢0⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
UCN OT ( ∣1⟩ ∣ψ⟩) = ⎢⎢ ⎥⎢ ⎥ = ⎢ ⎥ + ⎢ ⎥
⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 0 0 1⎥ ⎢a⎥ ⎢0⎥ ⎢ b ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 0 1 0⎥ ⎢ b ⎥ ⎢a⎥ ⎢0⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
= a ∣1⟩ ∣1⟩ + b ∣1⟩ ∣0⟩ = ∣1⟩(a ∣1⟩ + b ∣0⟩)
= ∣1⟩∣ψ⟩, (2.43)
em que ∣ψ⟩ representa a troca das amplitudes das entradas de ∣ψ⟩ , ou seja, por
exemplo, se
então
Da mesma forma que a porta CNOT recebe como entrada dois qubits e toma o
qubit de controle para alternar o qubit alvo, a porta de Fredkin receberá três qubits
e baseado no valor do qubit de controle, trocará os valores dos outros dois qubits,
A B C A′ B′ C′
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 0 1
1 1 1 1 1 1
unitário UF redkin :
⎡ ⎤
⎢1 0 0 0 0 0 0 0⎥⎥
⎢
⎢ ⎥
⎢0 1 0 0 0 0 0 0⎥⎥
⎢
⎢ ⎥
⎢ ⎥
⎢0 0 1 0 0 0 0 0⎥⎥
⎢
⎢ ⎥
⎢0 0 0 1 0 0 0 0⎥⎥
⎢
UF redkin = ⎢⎢ ⎥.
⎥ (2.46)
⎢0 0 0 0 1 0 0 0⎥⎥
⎢
⎢ ⎥
⎢ ⎥
⎢0 0 0 0 0 0 1 0⎥
⎢ ⎥
⎢ ⎥
⎢0 0 0 0 0 1 0 0⎥⎥
⎢
⎢ ⎥
⎢ ⎥
⎢0 0 0 0 0 0 0 1⎥⎦
⎣
forma que exista um qubit de controle para ativar ou não a operação U sobre os
2.2. COMPUTAÇÃO QUÂNTICA 24
⎡ ⎤
⎢x00 x01 ⎥
⎢ ⎥
U =⎢ ⎥,
⎢ ⎥
⎢x10 x11 ⎥
⎣ ⎦
então a porta U controlado operará em dois qubits mapeando os estados base de
forma
∣00⟩ → ∣00⟩;
∣01⟩ → ∣01⟩;
verterá de um estado do tipo ∣ψ⟩ = α ∣0⟩ + β ∣1⟩ em um dos estados base com proba-
Circuitos quânticos são modelos úteis para processos quânticos, incluindo com-
Como exemplica Semião [12], suponha uma função f (x) ∶ {0, 1} → {0, 1} rever-
∣1⟩ caso contrário; em que ⊕ representa o operador lógico ou-exclusivo (XOR), cuja
tabela verdade é
A B A⊕B
0 0 0
0 1 1 .
1 0 1
1 1 0
É importante notar, contudo, que o paralelismo quântico não nos fornecerá todos
os valores que f (x) pode assumir, uma vez que será necessária a realização de uma
medição, que resultará imediatamente na obtenção de um dos dois estados ∣0, f (0)⟩
ou ∣1, f (1)⟩ . Podemos, porém, obter informações sobre as propriedades de f (x)
devido à interferência existente entre ambos os estados no instante em que ainda
estão emaranhados.
obter propriedades globais das funções de entrada, ao invés de seus valores, que o
periodicidade, uma vez que nos ajuda a extrair tal periodicidade da função para
Como os qubits nada mais são do que vetores de números complexos, somos ca-
−1
pazes de lhes aplicar a TF discreta: dado um qubit j=0 αj ∣j⟩ , computaremos
∣ψ⟩ = ∑N
sua transformada de Fourier quântica (TFQ) como
N −1 ⎛ ⎞
1 N −1
F ∣ψ⟩ = ∑ √ ∑ αj e2πijk/N ∣k⟩. (2.49)
k=0 ⎝ N j=0 ⎠
Por exemplo, se o estado tiver dois qubits ∣ψ⟩ = α00 ∣00⟩ + α01 ∣01⟩ + α10 ∣10⟩ +
α11 ∣11⟩ , então N = 4. Assim, βk = 21 ∑3j=0 αj e2πijk/4 e teremos:
1 3 1
β0 = ∑ αj = (α00 + α01 + α10 + α11 );
2 j=0 2
1 3 1
β1 = ∑ αj e2πij/4 = (α00 + α01 eiπ/2 + α10 eiπ + α11 e3iπ/2 );
2 j=0 2
1 3 1
β2 = ∑ αj e4πij/4 = (α00 + α01 eiπ + α10 e2iπ + α11 e3iπ );
2 j=0 2
1 3 1
β3 = ∑ αj e6πij/4 = (α00 + α01 e3iπ/2 + α10 e3iπ + α11 e9iπ/2 ).
2 j=0 2
trabalho, uma vez que a TFQ pode ser usada para encontrar períodos e também
até aqui é a utilização de sistemas óticos, que envolve fótons como portadores de in-
Em geral, os estados ∣0⟩ e ∣1⟩ são representados por fótons em diferentes modos
óticos, que podem ser por exemplo, as polarizações vertical e horizontal, diferentes
canais de frequência, ou até uma combinação destes dois casos. A notação que é
utilizada pelos físicos passa a levar em conta estes modos, por exemplo de forma
∣0⟩ V ∣1⟩ H , para representar um estado de dois qubits com o fóton 0 na polarização
uorescentes.
ótica linear. Um exemplo simples é dado pelos espelhos, cuja taxa de reexão é de
sua utilização é o mesmo que aplicar uma rotação ao estado quântico representado
aplicar um operador
⎡ ⎤
⎢ cos θ − sen θ⎥
⎢ ⎥
R(θ) = ⎢ ⎥. (2.50)
⎢ ⎥
⎢ sen θ cos θ ⎥
⎣ ⎦
○
Na maioria dos casos, o ângulo θ = 45 , mas isto pode variar dependendo do espelho
podem ser concatenados para simular a ação de portas lógicas quânticas, e estes,
qual são aplicadas. Por exemplo, um feixe de luz coerente colocado como entrada em
um destes elementos produzirá um feixe também coerente como saída; assim como
saída, [16].
Uma das limitações dos sistemas óticos é o fato de que os fótons dicilmente
2.2. COMPUTAÇÃO QUÂNTICA 29
sistemas, uma vez que operações não-lineares cam difíceis de ser implementadas
[17].
Capítulo 3
dias de hoje, e sua resolução, seja com objetivo de obter os valores das soluções ou
para estes problemas vem crescendo muito rapidamente, de forma que mesmo os
para posterior comparação com o método quântico que é tema deste trabalho.
que a parte inferior esquerda da matriz esteja preenchida com a maior quantidade
Troca de linhas,
Dizemos que a matriz está escalonada quando todas as linhas não-nulas estão
acima de linhas compostas de zeros; o pivô de cada linha está numa coluna à direita
do pivô da linha anterior e todos os elementos abaixo de um pivô são nulos. Neste
caso, o valor das variáveis do sistema linear representado pela matriz de coecientes
os valores das incógnitas em ordem reversa, serão necessárias n(n − 1)/2 divisões,
(2n3 + 3n2 − 5n)/6 multiplicações e (2n3 + 3n2 − 5n)/6 subtrações, isto é, um total de
lineares, casos estes similares aos que serão tratados pelo algoritmo quântico apre-
Supondo que A seja uma matriz simétrica e positiva denida, diremos que dois
1
f (x) = xT Ax − xT b, x ∈ Rn (3.1)
2
admita um único ponto de mínimo x∗ . Assim, sempre que f (x) diminuir de uma
pela equação
vendo que
n
⃗b = A⃗
x∗ = ∑ αi A⃗
pi . (3.4)
i=1
p⃗Ti A⃗
rk
p⃗k = r⃗k − ∑ T p⃗i . (3.6)
i<n p⃗i A⃗pi
Através da equação 3.2, poderemos calcular a localização do próximo valor ótimo,
p⃗Tk ⃗b p⃗Tk (⃗
rk−1 + A⃗ xk−1 ) p⃗Tk r⃗k−1
αk = = = T . (3.7)
p⃗Tk A⃗ pk p⃗Tk A⃗
pk p⃗k A⃗ pk
Note que p⃗k e x⃗k−1 são conjugados.
de iterações necessárias para atingir o limite com uma matriz de coecientes cujo
número de condição é κ, é
⎡ ⎤
⎢1√ 2 ⎥⎥
⎢
i≤⎢ κ ln ( )⎥ (3.8)
⎢2 ⎥
⎢ ⎥
e assim, concluímos que a complexidade de tempo para execução do algoritmo do
√
gradiente conjugado para resolução de sistemas lineares é O(m κ) [19].
3.2. VISÃO GERAL 34
aproximação dos valores de x⃗ fazendo algo similar à inversão matricial que resolveria
o sistema no caso clássico: x⃗ = A−1⃗b.
estado ∣b⟩ e então implementará a transformação eiAt ∣b⟩ através da técnica de es-
forma ∑j (βj ∣ψj ⟩) ∣λj ⟩ , aplicaremos uma transformação que nos levará ao estado
∑j λ−1
j (βj ∣ψj ⟩) ∣λj ⟩ para então realizarmos medições de forma a obter ∣x⟩ = A−1 ∣b⟩ .
Teremos, então, construído ∣x⟩ como representação quântica do desejado vetor x⃗.
desta média, ou seja, obteremos ⟨x∣ M ∣x⟩ . Uma grande variedade de propriedades
3.3 Aplicações
várias áreas, desde casos em que a própria resolução é o problema, como também em
aqui aplicações simples em que o algoritmo quântico poderia ser aplicado de forma
que propriedades extraídas da solução do sistema (ao invés da solução em si) são
desta distribuição será dado por ∣x⟩ = (I − A)−1 ∣b⟩ , e deniremos x̃t = Ãx̃t−1 + b̃ e
assim ∣x̃⟩ = (I − Ã)−1 ∣b̃⟩ . Para determinarmos se ∣x⟩ e ∣x̃⟩ são similares, utilizaremos
Este método pode ser utilizado por alguém que busque determinar similaridades
poderão, por sua vez, ser utilizados como um auxílio para a visualização de dados,
sim o aprendizado de máquina, por exemplo) e para sintetizar as relações entre duas
ou mais variáveis.
nições das relações entre os dados que dependerão destes parâmetros. Ajustar uma
Figura 3.1: Exemplo de ajuste de curva, com pontos gerados por uma função Seno,
muito grande, o ajuste pode se tornar muito custoso, como é o caso de problemas de
física de alta energia com gigabytes de dados produzidos por segundo, como ocorre
no LHC (grande colisor de hádrons). A análise estrutural se inicia com uma ten-
tativa inicial e vai sendo melhorada através de iterações que testam variações dos
los, e comparações entre eles sejam feitas de forma a determinar a aproximação mais
precisa.
lução de sistemas lineares em destaque neste trabalho para obter, de forma eciente
Por sua vez, o artigo [21] mostra que um classicador binário otimizado (a cha-
3.4. PREPARAÇÃO DA ENTRADA 37
A.
Com isso, a entrada de nosso algoritmo quântico será composta por três sub-
sistemas: um qubit auxiliar inicializado em ∣0⟩ que será usado para determinar o
d
i~ ∣ψ(t)⟩ = H(t) ∣ψ(t)⟩ (3.9)
dt
d d
i~ ∣ψ(t)⟩ = i~ Ut,0 ∣ψ(0)⟩ = H(t)Ut,0 ∣ψ(0)⟩. (3.11)
dt dt
3.4. PREPARAÇÃO DA ENTRADA 38
d
i~ Ut,0 = H(t)Ut,0 . (3.12)
dt
Uma vez com os valores das simulações de cada Aj , é possivel simular, eciente-
⎡ ⎤
⎢ 0 A⎥
⎢ ⎥
C=⎢ ⎥, (3.14)
⎢ ⎥
⎢A 0 ⎥
⎣ ⎦
que é, por sua vez, uma matriz hermitiana. Tendo obtido C, poderemos resolver a
equação
⎡⃗⎤
⎢b⎥
⎢ ⎥
C y⃗ = ⎢ ⎥ (3.15)
⎢ ⎥
⎢0⎥
⎣ ⎦
3.5. O ALGORITMO 39
⎡ ⎤
⎢0⎥
⎢ ⎥
y⃗ = ⎢ ⎥ . (3.16)
⎢ ⎥
⎢x⃗⎥
⎣ ⎦
Para produzir o estado de entrada ∣b⟩ , suporemos que existe um operador unitá-
e mais complexo, assim como ser um procedimento como em [24], que descreve a
√
∣ψ({pi })⟩ = ∑ pi ∣i⟩ (3.17)
i
dada uma distribuição probabilística {pi }, e em que ∣i⟩ representa um dos vetores
É importante notar que, uma vez que a preparação de ∣b⟩ através de B é uma
rotina externa ao algoritmo aqui apresentado, não temos outra forma de produzir
o estado esperado assim como também não é possível executar alguma vericação
sua produção. Assim, todo e qualquer erro na produção de ∣b⟩ irá necessariamente
ser propagado em erros no estado nal ∣x⟩ obtido pelo algoritmo de resolução de
3.5 O algoritmo
o recíproco de cada um dos autovalores. Uma vez que estes autovalores estarão
emaranhados no estado quântico obtido, será necessário aplicar uma operação não-
algoritmo. A seguir, uma medição será feita neste qubit, na tentativa de obter
dado. Dada a medição esperada, será possível extrair o estado ∣x⟩ = A−1 ∣b⟩ . A
N vezes, de forma a ler uma entrada por vez. Porém, quando se está interessado em
obter um valor médio x⃗T M x⃗ dado por um operador linear qualquer M, que possa
Na gura 3.2, podemos ver em mais detalhes cada etapa do algoritmo represen-
tadas num circuito quântico. Uma vez preparada a entrada do algoritmo, teremos
o estado inicial
registrador B.
3.5. O ALGORITMO 41
Figura 3.2: Circuito para resolução de sistemas lineares, adaptado de [2], em que
requer que 2m seja maior do que todos os autovalores de A, isto é, m ≥ ⌈log λmax ⌉
1
e que o registrador L tenha qubits sucientes para que o maior possa ser
λmin
codicado, ou seja, l ≥ ⌈log λmin ⌉. Reunindo as duas condições, teremos que
λmax
m − l ≈ log ≈ log κ. (3.19)
λmin
3.5.1 Registradores C e B
Partiremos do estado
1 2 −1
t
satisfazer
espaço de Hilbert. Portanto, um estado ∣φ(t)⟩ , qualquer, pode ser expandido sobre
eles de acordo com uma combinação linear dos autovetores que formam a base de
3.5. O ALGORITMO 43
em que ϕj (t) = ⟨µj ∣φ(t)⟩ representa a amplitude para obtenção do valor µj se for
feita uma medição do estado em que foi aplicado Ĥ no tempo t, [25], [26].
n
∣b⟩ = ∑ βj ∣ψj ⟩, (3.25)
j=1
1 2 −1
t n
∣η1 ⟩ = √ ∑ ∣σ⟩ ⊗ ∑ βj ∣ψj ⟩, (3.26)
( 2)t σ=0 j=1
ou também
1 2 −1 n
t
em
∞ ∞ λr
Ar j
e ∣ψj ⟩ = ∑
A
∣ψj ⟩ = ∑ ∣ψj ⟩ = eλj ∣ψj ⟩, (3.28)
r=0 r! r=0 r!
como descrito na seção 2.1.6.2. Estendendo esta denição para o caso estudado,
−iAt0 n −iλj t0
e 2t ∣b⟩ = ∑ e 2t βj ∣ψj ⟩, (3.29)
j=1
que o valor de controle da porta lógica for não-nulo. Unindo todas essas denições,
n −i2πλj
∑e 2t
σ
βj ∣ψj ⟩. (3.30)
j=1
1 2 −1 n
t
2πiλj
∣η2 ⟩ = √ ∑ ∑ βj e 2t σ ∣σ⟩ ∣ψj ⟩, (3.31)
( 2)t σ=0 j=1
que novamente, pode ser reescrito como
⎛ 2 −1 2πiλj ⎞
n t
1
∣η2 ⟩ = √ ∑ βj ∑ e 2t σ ∣σ⟩ ∣ψj ⟩. (3.32)
( 2)t j=1 ⎝ σ=0 ⎠
seguinte comportamento:
µ−1 ⎛ ⎞
1 µ−1
F ∣φ⟩ = ∑ √ ∑ αj e2πijk/µ ∣k⟩. (3.33)
k=0 ⎝ µ j=0 ⎠
1 2 −1 −2πiτ
t
F ∣σ⟩ = √ ∑ e 2t ∣τ ⟩
σ
(3.34)
( 2) τ =0
t
e assim,
⎡ 2t −1 2πiλ ⎤
1 1 n ⎢ 2t −1 −2πiτ ⎥
∣η3 ⟩ = √ ⎢
√ ∑ βj ⎢ ∑ e 2 ( ∑ e 2
t
j
σ t σ
∣τ ⟩)⎥⎥ ∣ψj ⟩, (3.35)
( 2)t ( 2)t j=1 ⎢⎣ σ=0 τ =0 ⎥
⎦
que pode ser reescrito como
n 2t
2 −1 2 −1 2πiσ t t
1
∣η3 ⟩ = ( √ ) ∑ βj ∑ ( ∑ e 2t (λj −τ ) ) ∣τ ⟩ ∣ψj ⟩. (3.36)
2 j=1 τ =0 σ=0
2t −1 2t −1
2πiσ
(λj −τ ) 2πiσ
∑e 2t = ∑e 2t
k
(3.37)
σ=0 σ=0
2πi
k
pode ser reescrito como uma soma de progressão geométrica de razão e 2t , de forma
2t −1 σ 2 2t −1
2πi 2πi 2πi 2πi
∑ (e ) = 1 + (e ) + (e ) + ⋯ + (e )
k k k k
2t 2t 2t 2t . (3.38)
σ=0
2t −1
2πi 2πi
2t −1 σ 1 − (e 2t
k
) (e 2t k )
2πi 1 − e2πik
∑ (e 2t ) = =
k
2πi 2πi , (3.39)
σ=0 1 − e 2t k
1 − e 2t k
que se anula, uma vez que e2πik = 1 pela fórmula de Euler eix = cos x + i sen x. Logo,
toda vez que λj ≠ τ o valor deste termo se anulará. Assim, poderemos simplicar a
2t −1 2t −1
2πiσ
(λj −τ )
∑e 2t = ∑ 1 = 2t . (3.40)
σ=0 σ=0
3.5. O ALGORITMO 46
n 2t n
1
∣η3 ⟩ = ( √ ) 2t ∑ βj ∣λj ⟩ ∣ψj ⟩ = ∑ βj ∣λj ⟩ ∣ψj ⟩. (3.41)
2 j=1 j=1
lores da matriz A. Além disso, devemos lembrar, que o valor λj obtido em ∣η3 ⟩
foi codicado por um número nito de qubits, e portanto, não é o valor exato do
autovalor de A, mas sim uma aproximação sob um certo grau de precisão baseado
Até o momento, o estado global do sistema que obtemos após a aplicação das
Neste passo, estamos interessados em extrair os autovalores de A−1 para que possa-
a raiz da função
1
g(x) = − λ, (3.44)
x
em que λ é o autovalor cujo recíproco buscamos, uma vez que
1
g(x) = 0 ↔ x = . (3.45)
λ
A iteração de Newton para a função g será dada por
g(xi )
1
xi −λ
xi+1 = xi + ′ = xi + = 2xi − λx2i . (3.46)
g (xi ) 1
x2i
3.5. O ALGORITMO 47
vez que sua representação binária é uma aproximação por truncamento em m bits
Uma vez obtida a aproximação inicial xj0 para o método de Newton que calculará
usando um circuito quântico como o representado na gura 3.5. Este tipo de circuito
adaptado de [2].
de Newton será
n
∣υ0 ⟩ = ∑ βj ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩, (3.50)
j=1
n
∣υ0 ⟩ ≈ ∑ βj ∣1/λj ⟩ ∣λj ⟩ ∣ψj ⟩. (3.51)
j=1
3.5. O ALGORITMO 48
⎡ ⎤
⎢ cos θ sen 2θ ⎥⎥ −i θ σy
⎢
Ry = ⎢ 2
⎥=e 2 , (3.52)
⎢ θ⎥
⎢− sen 2θ cos 2 ⎥
⎣ ⎦
em que σy é a matriz Y de Pauli
⎡ ⎤
⎢0 −i⎥
⎢ ⎥
σy = ⎢ ⎥, (3.53)
⎢ ⎥
⎢i 0 ⎥
⎣ ⎦
que mapeia os estados de forma
θ θ
Ry (θ) = e−i 2 σy = cos 1 − i sen σy .
θ
(3.56)
2 2
n
ϑj ϑ
∣υ2 ⟩ = ∑ ( cos 1 − i sen j σy ) ∣0⟩ ⊗ βj ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩
j=1 2 2
n
ϑj ϑj
= ∑ ( cos ∣0⟩ − i sen ⋅ i ∣1⟩) ⊗ βj ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩
j=1 2 2
n
ϑj ϑj
= ∑ ( cos ∣0⟩ + sen ∣1⟩) ⊗ βj ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩
j=1 2 2
Como sabemos,
ϑj ϑj
sen 2 ( ) + cos2 ( ) = 1, (3.58)
2 2
3.5. O ALGORITMO 49
e então √
ϑj ϑj
cos ( ) = 1 − sen 2 ( ). (3.59)
2 2
Escolhendo a constante C tal que
C ϑj
= sen ( ) , (3.60)
λj 2
podemos reescrever o estado como
¿
n Á 2
∣υ2 ⟩ = ∑ (ÁÀ1 − C ∣0⟩ + C ∣1⟩) ⊗ βj ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩, (3.61)
j=1 λ2j λj
em que 0 < C ≤ minj {λj }, ou seja C = O(1/κ). Unindo os termos do produto
tensorial, obteremos
¿
n Á 2
À1 − C ∣0⟩ + C ∣1⟩) ∣ϑj ⟩ ∣λj ⟩ ∣ψj ⟩.
∣υ2 ⟩ = ∑ βj (Á (3.62)
2
j=1 λj λj
ϑj ϑj ϑj
Vale lembrar que, para valores de pequenos, teremos sen ( )≈ , e nestes
2 2 2
ϑj λj
casos, C≈ .
2
Como vimos na seção 2.2.2.2, as portas quânticas unitárias são reversíveis. Por-
O estado que tínhamos será então alterado de forma que o segundo e terceiro
o estado ¿
n Á 2
À1 − C ∣0⟩ + C ∣1⟩) ∣0l ⟩ ∣0m ⟩ ∣ψj ⟩.
∣ν⟩ = ∑ βj (Á (3.63)
j=1 λ2j λj
Passando a levar em conta somente o primeiro e último registradores, podemos
n
A−1 ∣b⟩ = A−1 ∑ βj ∣ψj ⟩
j=1
n
= ∑ βj A−1 ∣ψj ⟩
j=1
n
1
= ∑ βj ∣ψj ⟩,
j=1 λj
e que
A ∣ψj ⟩ = λj ∣ψj ⟩
3.5.5 Medição
√
∣ν⟩ = ∣0⟩( 1 − C 2 A−2 ∣b⟩) + ∣1⟩(CA−1 ∣b⟩), (3.64)
n
∣1⟩ ∑ Cβj λ−1
j ∣ψj ⟩, (3.65)
¯ j=1
aux.
3.5. O ALGORITMO 51
bilidade de obter ∣1⟩ no último passo. Como o estado nal do algoritmo pode ser
escrito como ¿
n Á C2 n
C
∑ Á
À 1 − ∣0⟩β j ∣ψj ⟩ + ∑ ∣1⟩βj ∣ψj ⟩, (3.66)
2
j=1 λj j=1 λj
Por outro lado, se a medição do qubit auxiliar for projetada em ∣0⟩ , o estado em
saída como entrada de uma nova iteração do circuito, e executá-lo até que a medição
Finalmente, faremos uma medição M cujo valor médio (esperança) ⟨x∣ M ∣x⟩
corresponde à propriedade de x⃗ que gostaríamos de avaliar.
Capítulo 4
fase introduzirá um erro de ordem O(1/t) enquanto estima o autovalor λ, e que será
propagado em um erro relativo de O(1/λt) quando consideramos a inversão λ−1 .
Como temos que λ ≥ 1/κ, onde κ é o número de condição da matriz A, se tomarmos
ordem
na dependência em N ), [29].
4.2 Experimentos
concomitantemente.
4.2. EXPERIMENTOS 54
A utilização de qubits codicados pela polarização fotônica, com ∣0⟩ e ∣1⟩ deno-
magnética (a NMR, na sigla em inglês, utiliza o spin das moléculas como qubits)
pseudo-puro usando o método da transição seletiva por linha, descrito em [31] e [32].
do sistema de equações.
Assim como no primeiro experimento, aqui são preparados quatro fótons como
⟨x∣ M ∣x⟩ onde M é um operador, sendo este no caso dos experimentos testado com
os valores dos operadores de Pauli. Os estados de saída são medidos com delidade
onadas estão ligadas à conguração ótica inicial usada no experimento, por eventos
PDBS. Ainda assim, a delidade obtida nos experimentos realizados ca em torno
dos 90%.
Capítulo 5
Implementação
O sistema linear que será resolvido será de forma x = ⃗b, em que A é uma matriz
A⃗
2 × 2 hermitiana e com autovalores que possam ser representados como potências de
2, e b é um vetor 2×1 qualquer.
⎛3 1⎞
A =⎜ ⎟ (5.1)
⎝1 3⎠
⎛1⎞
b =⎜ ⎟, (5.2)
⎝0⎠
⎛3 1⎞ ⎛x1 ⎞ ⎛1⎞
⎜ ⎟⎜ ⎟ = ⎜ ⎟. (5.3)
⎝1 3⎠ ⎝x2 ⎠ ⎝0⎠
58
Podemos notar que A é hermitiana, uma vez que A = A , seus autovalores são
⎛−1 1⎞ ⎛2 0⎞ ⎛− 1 1 ⎞
−1
A=S ⋅D⋅S =⎜ ⎟⋅⎜ ⎟⋅⎜ 2 2
⎟. (5.4)
⎝ 1 1⎠ ⎝0 4⎠ ⎝ 12 1
2 . ⎠
Resolvendo classicamente o sistema, é fácil encontrar as entradas de x⃗, que equivalem
a
⎛x1 ⎞ ⎛ 3 ⎞
x⃗ = ⎜ ⎟ = ⎜ 8 ⎟ . (5.5)
⎝x2 ⎠ ⎝− 18 ⎠
O circuito quântico implementado para resolver este tipo de sistema é uma sim-
entrada são potências de 2, e podem ser escritos facilmente através de sua repre-
SW AP
∣λ1 ⟩ = ∣2⟩ = ∣010⟩ C ÐÐÐ→ ∣001⟩ = ∣4⟩ = ∣ 21 × 23 ⟩;
SW AP
∣λ2 ⟩ = ∣4⟩ = ∣001⟩ C ÐÐÐ→ ∣010⟩ = ∣2⟩ = ∣ 41 × 23 ⟩.
gura 5.1.
em que
1 ⎛1 1 ⎞
H=√ ⎜ ⎟. (5.8)
2 ⎝1 −1⎠
59
m na etapa de rotação. De cima para baixo temos o qubit auxiliar, três qubits para
linear apresentado acima, tendo selecionado m=2 como precisão das rotações, está
psi_9 = − 0.125|00000 > + − 0.375|00001 > + %i * 0.375|00010 > + −%i * 0.375|00011 > +
− 0.125|00100 > + 0.125|00101 > + −%i * 0.375|00110 > + −%i * 0.125|00111 > +
0.375|10000 > + 0.125|10001 > + −%i * 0.125|10010 > + %i * 0.125|10011 > +
− 0.125|10100 > + 0.125|10101 > + −%i * 0.375|10110 > + −%i * 0.125|10111 >
60
que como podemos ver, é uma combinação de estados quânticos cujas amplitudes
variam entre os valores −0.375, −0.125, 0.125 e 0.375 na dimensão real e complexa.
Ora, estes valores são proporcionais justamente aos valores das entradas de x⃗ que
Trabalhos Futuros
lineares com número de condição mais alto com as chamadas matrizes mal condici-
onadas [33] e/ou a diminuição da dependência dos circuitos neste parâmetro, o que
tão presente com a dimensão física dos registradores quânticos a serem construídos
Exemplos teóricos estão descritos para os casos até dimensão 8×8 em [2], e seria
interessante adaptar o código apresentado neste trabalho para dar um suporte mais
62
abrangente à implementação.
Referências
[1] A. Harrow, A. Hassidim, and S. Lloyd, Quantum algorithm for linear systems
[3] D. Newell, The 2010 codata recommended values of the fundamental physical
constants, 2011.
[6] C. Adami and N. J. Cerf, Quantum computation with linear optics, in Lecture
Notes in Computer Science, pp. 391401, Springer Science Business Media,
1999.
computation with linear optics, Nature, vol. 409, pp. 4652, jan 2001.
operator, Phys. Rev. Lett., vol. 73, pp. 5861, jul 1994.
via measurement, Journal of Modern Optics, vol. 51, pp. 12111222, may 2004.
[13] Krishnavedala, This graph shows a series of points (generated by a sin function)
[16] S. Lloyd, Universal quantum simulators, Science, New Series, Vol. 273, No.
5278, 1996.
[19] Y. Cao, A. Daskin, S. Frankel, and S. Kais, Quantum circuit design for solving
pendence. http://ocw.mit.edu/courses/chemistry/
5-73-introductory-quantum-mechanics-i-fall-2005/lecture-notes/
sec5.pdf, 2005. Accesso: 2014-10-01.
lution. http://ocw.mit.edu/courses/nuclear-engineering/
REFERÊNCIAS 65
22-51-quantum-theory-of-radiation-interactions-fall-2012/
lecture-notes/MIT22_51F12_Ch5.pdf, 2012. Acesso: 2014-10-01.
[22] N. Wiebe and M. Roetteler, Quantum arithmetic and numerical analysis using
2010.
[25] V. Russo, Quantum algorithm for solving systems of linear equations, 2013.
[28] J. Pan, Y. Cao, X. Yao, Z. Li, C. Ju, X. Peng, S. Kais, and J. Du, Experimental
[29] X. Peng, X. Zhu, X. Fang, M. Feng, K. Gao, X. Yang, and M. Liu, Preparation
[30] X. Peng, Z. Luo, W. Zheng, S. Kou, D. Suter, and J. Du, Experimental im-
vices, 2009.
[34] L. Grover, Quantum computers can search rapidly by using almost any trans-
formation, Phys. Rev. Lett., vol. 80, pp. 43294332, may 1998.
[36] T. Dence, Cubics, chaos and newton's method, The Mathematical Gazette,
vol. 81, pp. 403408, nov 1997.
ingrediente chave para muitos algoritmos quânticos interessantes, dentre eles os al-
mais rápido na tarefa de calcular estas mesmas transformadas do que sua contraparte
clássica, mas nos habilita a realizar o algoritmo de estimativa de fase, que aproxima
autovalores de operadores unitários. Isso, por sua vez, nos permite resolver uma
por
1 N −1
yk = √ ∑ xj e2πijk/N . (A.1)
N j=0
uma base ortonormal ∣0⟩, ⋯, ∣N − 1⟩ é um operador linear que atua da seguinte forma
68
descrita como
N −1 N −1
∑ xj ∣j⟩ → ∑ yk ∣k⟩ (A.3)
j=0 k=0
xj .
escrever o estado ∣j⟩ usando a representação binária j = j1 j2 j3 ⋯jn , ou, mais formal-
mente, j = j1 2n−1 +j2 2n−2 +⋯+jn 20 . Além disso, adotaremos a notação 0, jl ⋯jm para
2n −1
1 n
∣j⟩ → ∑ e2πijk/2 ∣k⟩
2n/2 k=0
1 1
1 −l )
∑ ⋯ ∑ e2πij(∑l=1 kl 2
n
= ∣k1 ⋯kn ⟩
2n/2 k1 =0 kn =0
1 1 n
1
= ∑ ⋯ ∑ ⊗ e2πijkl 2 ∣kl ⟩
−l
2n/2 k1 =0 kn =0 l=1
n 1
1
= ⊗ ( ∑ e2πijkl 2 ∣kl ⟩)
−l
2n/2 l=1 kl =0
1 n
= ⊗ ( ∣0⟩ + e2πij2 ∣1⟩)
−l
2n/2 l=1
( ∣0⟩ + e2πi0,jn ∣1⟩)( ∣0⟩ + e2πi0,jn−1 jn ∣1⟩)⋯( ∣0⟩ + e2πi0,j1 j2 ⋯jn ∣1⟩)
= . (A.4)
2n/2
69
de Fourier quântica:
unitária
⎡ ⎤
⎢1 0 ⎥⎥
⎢
Rk = ⎢ ⎥. (A.5)
⎢ k⎥
⎢0 e2πi/2 ⎥
⎣ ⎦
1
( ∣0⟩ + e2πi0,j1 ∣1⟩) ∣j2 ⋯jn ⟩, (A.6)
21/2
k
e a aplicação das portas Rk em sequência multiplicará o estado por uma fase e2πi/2
em ∣1⟩ para cada k. Obteremos assim, ao nal da aplicação de todas as Rk portas,
o estado
1
( ∣0⟩ + e2πi0,j1 j2 ⋯jn ∣1⟩) ∣j2 ⋯jn ⟩. (A.7)
21/2
A seguir, executaremos um procedimento similar no segundo qubit: a aplicação da
1
( ∣0⟩ + e2πi0,j1 j2 ⋯jn ∣1⟩)( ∣0⟩ + e2πi0,j2 ∣1⟩) ∣j3 ⋯jn ⟩, (A.8)
22/2
1
( ∣0⟩ + e2πi0,j1 j2 ⋯jn ∣1⟩)( ∣0⟩ + e2πi0,j2 ⋯jn ∣1⟩) ∣j3 ⋯jn ⟩. (A.9)
22/2
70
1
( ∣0⟩ + e2π0,j1 j2 ⋯jn ∣1⟩)( ∣0⟩ + e2π0,j2 ⋯jn ∣1⟩)⋯( ∣0⟩ + e2π0,jn ∣1⟩). (A.10)
2n/2
1
( ∣0⟩ + e2πi0,jn ∣1⟩)( ∣0⟩ + e2πi0,jn−1 jn ∣1⟩)⋯( ∣0⟩ + e2πi0,j1 j2 ⋯jn ∣1⟩). (A.11)
2n/2
Devido ao fato de que todas as portas quânticas do circuito são unitárias, pode-
assim, pode ser revertida, como é o caso em vários algoritmos quânticos modernos.
transformada de Fourier.
Apêndice B
Teste SWAP
São muitos os casos em que precisamos comparar dois conjuntos de dados, desde
lado, comparar estados quânticos é mais complicado. Para testar se dois estados
∣ψ⟩ = ∣ψ ′ ⟩. (B.1)
1
∣a⟩ = √ (∣0⟩ + ∣1⟩), (B.3)
2
e assim, podemos reescrever ∣φ0 ⟩ :
1 1
∣φ0 ⟩ = √ (∣0⟩ + ∣1⟩) ∣ψ⟩ ∣ψ ′ ⟩ = √ ( ∣0⟩ ∣ψ⟩ ∣ψ ′ ⟩ + ∣1⟩ ∣ψ⟩ ∣ψ ′ ⟩). (B.4)
2 2
Após a aplicação da porta de Fredkin, descrita na seção 2.2.2.3, obteremos
1
∣φ1 ⟩ = √ ( ∣0⟩ ∣ψ⟩ ∣ψ ′ ⟩ + ∣1⟩ ∣ψ ′ ⟩ ∣ψ⟩), (B.5)
2
em que, como podemos notar, os qubits do segundo termo foram trocados de posição:
daí o nome teste SWAP (em tradução livre: teste troca ). Após a aplicação da porta
1
∣φ2 ⟩ = [( ∣0⟩ + ∣1⟩) ∣ψ⟩ ∣ψ ′ ⟩ + ( ∣0⟩ − ∣1⟩) ∣ψ ′ ⟩ ∣ψ⟩], (B.6)
2
1
∣φ2 ⟩ = [ ∣0⟩( ∣ψ⟩ ∣ψ ′ ⟩ + ∣ψ ′ ⟩ ∣ψ⟩) + ∣1⟩( ∣ψ⟩ ∣ψ ′ ⟩ − ∣ψ ′ ⟩ ∣ψ⟩)]. (B.7)
2
Agora é fácil ver que se os estados ∣ψ⟩ = ∣ψ ′ ⟩ , então ∣φ2 ⟩ = ∣0⟩ ∣ψ⟩ ∣ψ⟩ , que colapsará
para ∣0⟩ quando feita a medição. Caso contrário, o resultado poderá ser medido
∣ψ⟩ ≠ ∣ψ ′ ⟩ .
Apêndice C
Amplicação de Amplitude
de busca de Grover [35], em que se busca por uma das entradas de um banco de N
√
dados em tempo O( N ). O algoritmo pode ser usado para obter um aumento de
B = {∣0⟩, ⋯, ∣N − 1⟩}, uma função oráculo χ ∶ Z → {0, 1} e uma base ortonormal ope-
racional Bop = {∣ω0 ⟩, ⋯, ∣ωN −1 ⟩} em que um operador hermitiano P ∶ H → H a
descreve de forma
⎧
⎪
⎪
⎪H1 ∶=
⎪ Imagem(P ), de geradores {∣ωk ⟩ ∈ Bop ∣ χ(k) = 1},
⎨ (C.2)
⎪
⎪
⎪
⎩H0 ∶=
⎪ Núcleo(P ), de geradores {∣ωk ⟩ ∈ Bop ∣ χ(k) = 0}.
em que θ = arcsen (∣P ∣ψ⟩∣) ∈ [0, π/2] e ∣ψ1 ⟩ e ∣ψ0 ⟩ são as projeções de ∣ψ⟩ nos
⎧
⎪
⎪
⎪Sψ = I − 2 ∣ψ⟩ ⟨ψ∣
⎪ e
⎨ (C.4)
⎪
⎪
⎪
⎩SP = I − 2P .
⎪
Como podemos notar, Sψ inverte a fase do estado inicial ∣ψ⟩ e SP inverte a fase dos
estados que pertencem ao subespaço bom. A ação deste operador em Hψ é dada por
Q ∣ψ0 ⟩ = −Sψ ∣ψ0 ⟩ = (2 cos2 (θ) − 1) ∣ψ0 ⟩ + 2 sin(θ) cos(θ) ∣ψ1 ⟩, (C.5)
que representa rotações do estado entre os subespaços bom e ruim. Após n iterações,
a probabilidade de encontrar o sistema em um estado bom é sen 2 ((2n + 1)θ). Esta
π
n=⌊ ⌋. (C.9)
4θ
1 N −1
∣ψ⟩ = √ ∑ ∣k⟩ (C.10)
N k=0
75
√
G
∣P ∣ψ⟩∣ = sen (θ) = . (C.11)
N
⎢ √ ⎥ √
π π ⎢π N ⎥
n=⌊ ⌋≈⌊ ⌋ = ⎢⎢ ⎥ = O( N ).
⎥ (C.12)
4θ 4 sin(θ) ⎢4 G⎥
⎣ ⎦
Como cada aplicação de SP requer uma chamada à função oráculo, seremos capazes
√
de encontrar as entradas buscadas com somente O( N ) chamadas, obtendo assim
Método de Newton
Uma das formas de encontrar aproximações para as raízes (ou zeros) de funções
Newton-Raphson ).
Dada uma função f diferenciável, denida sobre os números reais, e sua derivada
aproximação melhor de x∗ . Deniremos a equação da reta que passa por (x0 , f (x0 ))
e é tangente à curva em (x0 , f (x0 )) por
e portanto teremos
f (x0 )
x1 = x0 − . (D.3)
f ′ (x0 )
De modo geral, as iterações do método de Newton serão dadas por
f (xn )
xn+1 = xn − , (D.4)
f ′ (xn )
e poderemos repetir o cálculo das iterações para um n tão grande quanto necessário
para atingir a precisão da aproximação buscada [36].
D.1. CONVERGÊNCIA QUADRÁTICA 77
abaixo.
aproxima de x∗ :
1 ′′
R1 = f (ψn )(x∗ − xn )2 , (D.6)
2!
em que ψn ∈ [xn , x∗ ]. Reescreveremos a equação acima obtendo
1
0 = f (x∗ ) = f (xn ) + f ′ (xn )(x∗ − xn ) + f ′′ (ψn )(x∗ − xn )2 . (D.7)
2
f (xn ) −f ′′ (ψn )
′
+ (x ∗ − x n ) = ′
(x∗ − xn )2 . (D.8)
f (xn ) 2f (xn )
−f ′′ (ψn )
x∗ − xn+1 = (x∗ − xn )2 , (D.9)
2f ′ (xn )
−f ′′ (ψn ) 2
n+1 = . (D.10)
2f ′ (xn ) n
Tirando o valor absoluto dos dois lados da equação, seremos capazes de ver que
(n + 1)-ésima:
∣f ′′ (ψn )∣ 2
∣n+1 ∣ = . (D.11)
2∣f ′ (xn )∣ n
D.2. FUNÇÕES COMPLEXAS 78
todo de Newton pode ser aplicado de forma similar. Cada um dos n zeros de uma
função do n-ésimo grau terá uma bacia de atração no plano complexo, isto é, uma
região do plano cujos pontos convergem para aquela raiz quando utilizados como
palpite inicial do método. Estes conjuntos de pontos podem ser mapeados como nas
imagens abaixo.
Em alguns casos, existem regiões do plano complexo que não estão contidas em
D.2. FUNÇÕES COMPLEXAS 79
nenhuma das bacias de atração, signicando que suas iterações não convergem. Por
function v=q ( n )
if n
v=[0;1];
el se
v=[1;0];
end
endfunction
function H = hadamard ( n )
// Create n −bit hadamard matrix .
i f n==1
H = [ 1 1 ; 1 − 1]/ sqrt ( 2 ) ;
el se
H1 = hadamard ( 1 ) ;
H=1;
for i =1:n
H=kron (H, H1) ;
end
end
endfunction
endfunction
function p h i = b i n 2 v e c ( b i n )
dec=b i n 2 d e c ( b i n ) ;
p h i=d e c 2 v e c ( dec , length ( b i n ) ) ;
endfunction
function s = v e c 2 s t r u c t ( p h i )
s=s t r u c t ( ' b i n ' , ' a l p h a ' )
n=log2 ( s i z e ( phi , 1 ) ) ;
i n=find ( p h i ~=0) ; // n o n z e r o
function s t r = p r e t t y ( s , b_dec )
i f argn ( 2 ) <2,b_dec=0; end
if ~isstruct (s)
s=v e c 2 s t r u c t ( s ) ;
end
str =[];
s t r=part ( s t r , 1 : length ( s t r ) − 1)
endfunction
w=exp ( 2 * %pi*%i/q ) ;
s = zeros ( q ) ;
row =0:q − 1 ;
for r =1:q
m( r , : ) =row * ( r − 1) ;
end
m = w. ^m;
m = m/ sqrt ( q ) ;
endfunction
r = rand ( ) ;
i =1;
while r>sp ( i )
i=i +1;
end
obs=i p ( i ) ;
p h i=zeros ( s i z e ( p s i ) ) ;
p h i ( obs ) =1;
endfunction
83
function S = SWAP( )
S = [1 ,0 ,0 ,0;0 ,0 ,1 ,0;0 ,1 ,0 ,0;0 ,0 ,0 ,1]
endfunction
function C = c o n t r o l l e d (U)
[ dim , i ] = s i z e (U)
C = eye ( 2 * dim , 2*dim )
i n i t i a l = dim +1
f i n a l = 2*dim
grp = i n i t i a l : f i n a l
C( grp , grp ) = U
endfunction
function HHL(A, b )
// A = [3 ,1;1 ,3]
// b = [1 ,0] '
// x = [3/8 , −1/8]
quantumB = b ( 1 , 1 ) *q ( 0 ) + b ( 2 , 1 ) * q ( 1 )
r o t 2 = eye ( 8 , 8 )
opR2 = Ry( 2 * %pi / 2^(m− 1) )
r 0 = opR2 * q ( 0 )
r 1 = opR2 * q ( 1 )
rot2 ( 2 , 2 ) = r0 (1)
rot2 ( 6 , 2 ) = r0 (2)
rot2 ( 4 , 4 ) = r0 (1)
rot2 ( 8 , 4 ) = r0 (2)
rot2 ( 2 , 6 ) = r1 (1)
rot2 ( 6 , 6 ) = r1 (2)
rot2 ( 4 , 8 ) = r1 (1)
rot2 ( 8 , 8 ) = r1 (2)
psi_5 = ( r o t 2 . * . eye ( 2 , 2 ) . * . eye ( 2 , 2 ) ) * psi_5
r o t 3 = eye ( 1 6 , 1 6 )
opR3 = Ry( %pi / 2^(m− 1) )
r 0 = opR3 * q ( 0 )
r 1 = opR3 * q ( 1 )
rot3 ( 2 , 2 ) = r0 (1)
rot3 (10 ,2) = r0 (2)
rot3 ( 4 , 4 ) = r0 (1)
rot3 (12 ,4) = r0 (2)
rot3 ( 6 , 6 ) = r0 (1)
rot3 (14 ,6) = r0 (2)
rot3 ( 8 , 8 ) = r0 (1)
rot3 (16 ,8) = r0 (2)
disp ( psi_10 )
s t r 1 0 = v e c 2 s t r u c t ( psi_10 )
printf ( " = | %s>" , s t r 1 0 . b i n )
endfunction
Apêndice F
0. 0. 0. 0. 0. 0. 1. = |110 >