• Nenhum resultado encontrado

Introdução à computação e códigos de correção de erro quânticos

N/A
N/A
Protected

Academic year: 2021

Share "Introdução à computação e códigos de correção de erro quânticos"

Copied!
83
0
0

Texto

(1)

Escola de Engenharia

Curso de Gradua¸

ao em Engenharia de

Telecomunica¸

oes

Jo˜

ao Bernardo Vieira Gomes

Introdu¸c˜

ao `

a

computa¸c˜

ao e c´

odigos de corre¸c˜

ao de erro

quˆ

anticos

Niter´

oi – RJ

2019

(2)

Jo˜ao Bernardo Vieira Gomes

Introdu¸c˜ao `a computa¸c˜ao e c´odigos de corre¸c˜ao de erro quˆanticos

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de Engenheiro de Telecomunica¸c˜oes.

Orientador: Prof. Dr. Jos´e Santo G. Panaro

Niter´oi – RJ 2019

(3)

.

(4)

iii Jo˜ao Bernardo Vieira Gomes

Introdu¸c˜ao `a computa¸c˜ao e c´odigos de corre¸c˜ao de erro quˆanticos

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de Engenheiro de Telecomunica¸c˜oes.

Aprovada em 10 de Dezembro de 2019.

BANCA EXAMINADORA

Dr. Jo´se Santo G. Panaro - Orientador Universidade Federal Fluminese - UFF

Dr. Jo˜ao Marcos Meirelles da Silva Universidade Federal Fluminese - UFF

Dr. Daniel Jost Brod

Universidade Federal Fluminese - UFF

Niter´oi – RJ 2019

(5)

Resumo

Este trabalho tem como objetivo introduzir o leitor ao que ´e a computa¸c˜ao quˆantica e quais s˜ao os mecanismos b´asicos utilizados para corrigir erros nessa ´area. O trabalho come¸ca fazendo uma breve introdu¸c˜ao aos conceitos da ´algebra linear utilizados na computa¸c˜ao quˆantica e segue apresentando o formalismo matem´atico dessa teoria. Al´em disso, alguns algoritmos e protocolos s˜ao discutidos para que o leitor possa ter dimens˜ao dos poss´ıveis benef´ıcios trazidos pela computa¸c˜ao quˆantica. Em seguida, uma descri¸c˜ao dos erros que atuam sobre computadores quˆanticos ´e realizada e alguns c´odigos b´asicos de detec¸c˜ao e corre¸c˜ao de erro s˜ao discutidos. Por fim, s˜ao apresentadas algumas aplica¸c˜oes pr´aticas desenvolvidas pelo autor.

(6)

v

Abstract

This work aims to introduce the reader to the theory of quantum computing and to present the fundamental mechanisms used to correct errors on this field. It starts going through a small introduction on some linear algebra concepts used in the quantum computing theory and then it continues presenting the mathematical formalism of this theory. Also, some quantum algorithms and protocols are discussed so that the reader can see the possible improvements brought by quantum computing. After that, a description of the errors that impact quantum computers is presented, and some basic quantum error detection and correction codes are discussed. Finally, some applications developed by the author are presented.

(7)

Este trabalho ´e dedicado ao meu avˆo, Ov´ı-dio da Cunha Vieira, que faleceu em janeiro de 2018 e, infelizmente, n˜ao pˆode me ver for-mar. Ele sempre demonstrou muito orgulho em ver o neto cursando Engenharia de Tele-comunica¸c˜oes.

(8)

vii

Agradecimentos

Agrade¸co aos meus pais que atrav´es de suas hist´orias de vida me ensinaram que dedica¸c˜ao e esfor¸co s˜ao a chave principal para alcan¸car meus objetivos.

Agrade¸co `a minha namorada, Roberta Diuana, pelo seu carinho e ajuda nos meus momentos de dificuldades. E por compartilhar suas experiˆencias de vida comigo, tornou-se a grande respons´avel pelo meu amadurecimento profissional.

Agrade¸co ao meu orientador Jos´e Santo Guiscafr´e Panaro por ter aceitado de mente aberta um tema t˜ao desafiador e por ser, al´em de um orientador, um amigo.

Agrade¸co ao professor Daniel Jost Brod por ter me auxiliado com as d´uvidas te´ o-ricas que eu tive ao longo da confec¸c˜ao deste trabalho e por ter permitido que, mesmo sem atender a todos pr´e-requisitos, eu realizasse o seu excelente curso de computa¸c˜ao quˆantica.

Agrade¸co ao professor Rainer Zanghi pela disposi¸c˜ao e simpatia com a ajuda pres-tada em um projeto no est´agio. Apesar de n˜ao ter sido seu aluno, ele sempre se mostrou muito disposto a ajudar e conversar sobre novas tecnologias.

(9)

Lista de Figuras

3.1 Esfera de Bloch. . . 11

3.2 Portas de Pauli. . . 16

3.3 Porta de Hadammard. . . 17

3.4 Porta CNOT. . . 17

3.5 Circuito para criar emaranhamento. . . 18

3.6 Protocolo de codifica¸c˜ao superdensa. . . 19

3.7 Circuito do algoritmo de Bernstein-Vazirani. . . 22

3.8 Eixos |x0i e |x⊥0i . . . 25

3.9 A¸c˜ao do operador G . . . 25

4.1 Medi¸c˜ao de s´ındrome. . . 31

4.2 Codifica¸c˜ao de trˆes qubits para bit flip . . . 32

4.3 Corre¸c˜ao do erro de bit flip. . . 32

4.4 Codifica¸c˜ao e corre¸c˜ao do erro de phase flip. . . 34

4.5 Diagrama de blocos de codifica¸c˜ao e corre¸c˜ao do c´odigo de nove qubits de Shor. . . 35

4.6 Bloco de codifica¸c˜ao do c´odigo de nove qubits de Shor. . . 35

4.7 Bloco de corre¸c˜ao de bit flip do c´odigo de nove qubits de Shor. . . 36

4.8 Bloco de corre¸c˜ao de phase flip do c´odigo de nove qubits de Shor. . . 37

4.9 Codifica¸c˜ao em c´odigos estabilizadores. . . 40

4.10 Codifica¸c˜ao |0iL do c´odigo de Steane. . . 41

4.11 Circuito n˜ao tolerante a falhas. . . 44

4.12 Circuito tolerante a falhas. . . 44

4.13 Codifica¸c˜ao tolerante a falhas em c´odigos estabilizadores. . . 45

4.14 Circuito para detec¸c˜ao de erro nos estados codificados pela Equa¸c˜ao 4.24. . 47

4.15 Circuito para codifica¸c˜ao do estado |00i pela Equa¸c˜ao 4.24. . . 48 viii

(10)

ix 4.16 Circuito tolerante a falhas para codifica¸c˜ao do estado |00i pela Equa¸c˜ao 4.24. 48 5.1 Simula¸c˜ao dos circuitos de detec¸c˜ao de erro. . . 51 5.2 Circuito para corre¸c˜ao de erros tolerante a falhas dividido em quatro etapas. 52 5.3 Simula¸c˜ao dos circuitos de corre¸c˜ao de erro. . . 53 5.4 Diagrama de liga¸c˜oes do computador Vigo da IBM. . . 54 5.5 Circuito da Figura 4.15 convertido para executar no computador Vigo da

IBM. . . 55 5.6 Taxas de erro obtidas por simula¸c˜ao dos circuitos tolerante a falhas, n˜ao

tolerante a falhas e sem codifica¸c˜ao. . . 56 5.7 Circuito tolerante a falhas ap´os processo de transpile. . . 57 5.8 Circuito n˜ao tolerante a falhas ap´os processo de transpile. . . 57

(11)

Lista de Tabelas

5.1 Taxas de erro do canal para portas de um qubit em fun¸c˜ao de pe. . . 50

5.2 Taxas de erro do canal para portas de dois qubits em fun¸c˜ao de pe onde,

(12)

Conte´

udo

Resumo iv Abstract v Agradecimentos vii Lista de Figuras ix Lista de Tabelas x 1 Introdu¸c˜ao 1

2 Introdu¸c˜ao `a ´algebra linear 4

2.1 Nota¸c˜ao de Dirac . . . 4

2.1.1 Produto interno ou escalar . . . 5

2.1.2 Produto externo ou vetorial . . . 5

2.1.3 Produto tensorial . . . 6

2.2 Operadores . . . 7

2.3 Teorema espectral e fun¸c˜ao de operadores . . . 8

3 Computa¸c˜ao quˆantica 9 3.1 Postulados da mecˆanica quˆantica . . . 9

3.1.1 Postulado do espa¸co de estados . . . 9

3.1.2 Postulado da evolu¸c˜ao temporal de um sistema fechado . . . 11

3.1.3 Postulado das medi¸c˜oes . . . 12

3.1.4 Postulado da composi¸c˜ao de sistemas . . . 13

3.2 Circuitos quˆanticos . . . 15 3.2.1 Introdu¸c˜ao aos circuitos quˆanticos e ao teorema da n˜ao clonagem . 15

(13)

3.2.2 Nota¸c˜ao de circuitos . . . 16

3.2.3 Protocolos quˆanticos . . . 18

3.3 Algoritmos Quˆanticos . . . 22

3.3.1 Algoritmo de Bernstein-Vazirani . . . 22

3.3.2 Algoritmo de busca de Grover . . . 23

4 Corre¸c˜ao de erros e a computa¸c˜ao quˆantica 27 4.1 Erros na computa¸c˜ao quˆantica . . . 28

4.1.1 Imperfei¸c˜ao nas portas quˆanticas . . . 28

4.1.2 Intera¸c˜ao com o ambiente externo . . . 29

4.2 C´odigo de 9 qubits de Shor . . . 31

4.2.1 C´odigo de 3 qubits para bit flip . . . 32

4.2.2 C´odigo de trˆes qubits para phase flip . . . 33

4.2.3 C´odigo de Shor . . . 34

4.3 C´odigos estabilizadores . . . 38

4.4 T´ecnicas de tolerˆancia a falhas . . . 43

4.5 Concatena¸c˜ao de c´odigos e limite da probabilidade de erro . . . 45

4.6 Detec¸c˜ao de Erros . . . 46

5 Aplica¸c˜oes 49 5.1 Simula¸c˜oes . . . 49

5.1.1 Circuitos para detec¸c˜ao de erros . . . 49

5.1.2 Circuitos para corre¸c˜ao de erros . . . 51

5.2 Execu¸c˜ao em computadores IBM . . . 54

6 Conclus˜ao 58

Referˆencias Bibliogr´aficas 60

Apˆendice 62

A C´odigo da simula¸c˜ao dos circuitos de detec¸c˜ao de erros 63 B C´odigo da simula¸c˜ao dos circuitos de corre¸c˜ao de erros 66

(14)

Cap´ıtulo 1

Introdu¸

ao

“ ´E um pequeno passo para o homem, mas um grande salto para a Humanidade.” -Neil Armstrong

A computa¸c˜ao quˆantica ´e uma nova forma de processar informa¸c˜ao e teve in´ıcio na segunda metade do s´eculo XX. Esse novo modelo de computa¸c˜ao ´e baseado em opera¸c˜oes com-putacionais revers´ıveis e utiliza propriedades da mecˆanica quˆantica, como superposi¸c˜ao e emaranhamento, para aumentar a capacidade de processamento de informa¸c˜ao.

Um dos primeiros artigos na ´area de processamento de informa¸c˜ao utilizando sis-temas quˆanticos foi publicado por Alexander Holevo [1], em 1973, e mostrou que apesar de ser poss´ıvel manipular mais informa¸c˜ao utilizando-se qubits (bits em um sistema quˆ an-tico) ao inv´es de bits cl´assicos, o limite de informa¸c˜ao que pode ser extra´ıda de um qubit ´e de no m´aximo um bit. Esse resultado ficou conhecido como teorema de Holevo.

Na d´ecada seguinte, em 1980, Paul Benioff [2] apresentou a descri¸c˜ao daquilo que viria a ser conhecido como computador quˆantico, ou seja, um computador capaz de operar segundo as leis da mecˆanica quˆantica. Al´em disso, durante o primeiro congresso sobre a f´ısica da computa¸c˜ao, em 1981, o famoso f´ısico Richard Feynman [3] discursou sobre a ineficiˆencia de computadores cl´assicos para simular sistemas quˆanticos e propˆos a utiliza¸c˜ao de sistemas quˆanticos para realizar essas opera¸c˜oes.

Outro importante resultado alcan¸cado na d´ecada de 80 foi publicado por Charles H. Bennett e Gilles Brassard [4]. Nesse artigo foi proposto o primeiro protocolo quˆantico que apresentou uma forma segura para distribui¸c˜ao de chaves criptogr´aficas utilizando sistemas quˆanticos.

(15)

Ao longo dessas duas d´ecadas diversos resultados importantes foram publicados como, por exemplo, a proposta do primeiro computador quˆantico universal apresentada por David Deutsch [5]. Entretanto, foi no ano de 1994 que Peter Shor publicou um artigo descrevendo um algoritmo que viria a ser um dos resultados mais famosos da computa¸c˜ao quˆantica, conhecido como algoritmo de Shor [6]. Esse resultado apresenta uma forma mais eficiente de realizar a fatora¸c˜ao de n´umeros inteiros, com um ganho quase exponencial em rela¸c˜ao `a computa¸c˜ao cl´assica.

A fatora¸c˜ao de n´umeros grandes ´e uma tarefa dif´ıcil em computadores cl´assicos. Esta dificuldade ´e utilizada, atualmente, na criptografia de conex˜oes na internet. Portanto, o algoritmo de Shor apresenta uma certa amea¸ca `a comunica¸c˜ao segura e foi esse fato que o tornou uma das aplica¸c˜oes mais famosas na computa¸c˜ao quˆantica, embora o maior n´umero j´a fatorado em um computador quˆantico, utilizando o algoritmo de Shor, tenha sido o n´umero 21, por Enrique Martin-Lopez, Anthony Laing, Thomas Lawson, Roberto Alvarez, Xiao-Qi Zhou e Jeremy L. O’Brien [7].

Naquele momento, existiam muitas d´uvidas sobre se seria poss´ıvel a constru¸c˜ao de um computador quˆantico de larga escala, pois o ru´ıdo presente na manipula¸c˜ao de sistemas quˆanticos destruiria qualquer informa¸c˜ao presente na computa¸c˜ao. Foi ent˜ao que, nos anos de 1995 e 1996, protocolos para corre¸c˜ao de erro foram propostos por Peter Shor [8] e Andrew Steane [9]. Esses protocolos foram de grande importˆancia porque renovaram a esperan¸ca da comunidade cient´ıfica que a constru¸c˜ao de computadores quˆanticos maiores seria uma tarefa realiz´avel.

Desde ent˜ao, muitos outros avan¸cos aconteceram na computa¸c˜ao quˆantica. Diver-sas empreDiver-sas como Google, IBM e Microsoft passaram a investir em pesquisa nessa ´area e, como resultado, computadores quˆanticos de pequena escala foram constru´ıdos. Al´em disso, a IBM passou a disponibilizar computadores quˆanticos, com poucos qubits para a comunidade de pesquisadores utilizar gratuitamente. Com a populariza¸c˜ao dessa ´area de pesquisa, surgiram algoritmos mais modernos e eficientes como o HHL, desenvolvido por Aram W. Harrow, Avinatan Hassidim, Seth Lloyd [10], utilizado na resolu¸c˜ao de sistemas de equa¸c˜oes lineares e, com isso, outros ramos de pesquisa ganharam for¸ca, como o de aprendizagem de m´aquina quˆantico.

A mensura¸c˜ao do poder de um computador quˆantico ´e algo um pouco subjetivo, pois n˜ao depende apenas do n´umero de qubits presentes no computador mas, tamb´em,

(16)

3 da qualidade desses qubits. No entanto, ao longo da elabora¸c˜ao deste trabalho, a Google publicou um artigo na revista Nature [11] anunciando ter alcan¸cado a supremacia quˆantica com um computador de 54 qubits, denominado Sycamore. Este computador foi capaz de realizar uma tarefa de forma muito mais eficiente do que um computador cl´assico. Segundo a Google, o Sycamore foi capaz de realizar um c´alculo que demoraria 10.000 anos em um computador cl´assico em apenas 200 segundos. Apesar deste resultado ter sido contestado pela IBM, que afirma que um computador cl´assico poderia realizar essa tarefa em apenas 2,5 dias [12], este ´e um marco hist´orico, e mostra como pode ser promissor o futuro da computa¸c˜ao quˆantica.

(17)

Cap´ıtulo 2

Introdu¸

ao `

a ´

algebra linear

“A ciˆencia explica a natureza e cria novos mundos que n˜ao percebemos com nossos sentidos.”

-Marcelo Gleiser

Na teoria da computa¸c˜ao quˆantica os espa¸cos vetoriais que devem ser considerados s˜ao os espa¸cos dos n´umeros complexos com produto interno (ou escalar) hermitiano e de dimens˜ao finita. Esses espa¸cos fazem parte de uma classe denominada de espa¸cos de Hilbert e satisfazem uma s´erie de propriedades alg´ebricas. A descri¸c˜ao dos elementos e opera¸c˜oes nesse espa¸co utiliza a nota¸c˜ao de Dirac [13], que ser´a vista no decorrer do cap´ıtulo.

2.1

Nota¸

ao de Dirac

Para come¸car a entender a computa¸c˜ao quˆantica do ponto de vista matem´atico ´e con-veniente que antes seja introduzida a nota¸c˜ao criada por Paul Dirac, chamada nota¸c˜ao Bra-ket. Seu objetivo ´e descrever estados quˆanticos sem que seja necess´ario carregar a nota¸c˜ao de vetores, tornando mais intuitiva a visualiza¸c˜ao de opera¸c˜oes como produto interno, produto externo e produto tensorial.

Em geral nos livros de matem´atica e f´ısica, vetores s˜ao identificados por uma seta sobre uma letra, isto ´e, ~v ou, ent˜ao, essa letra em negrito. J´a na nota¸c˜ao de Dirac, um vetor ´e escrito dentro de um ’ket’ da seguinte forma, |ψi. O vetor dual ao ’ket’ ´e o ’bra’, que ´e definido como o seu conjugado transposto e ´e escrito como hψ|.

(18)

5 A forma padr˜ao para associar vetores coluna ao ’ket’ ´e apresentada a seguir:

|ψi =         x1 x2 .. . xm         , (2.1)

enquanto que o vetor ’bra’ ´e associado ao seguinte vetor linha: hψ| =hx∗1 x∗2 · · · , x∗

m

i

, (2.2)

onde x∗k representa o complexo conjugado de xk.

Nas subse¸c˜oes seguintes s˜ao apresentados exemplos de algumas das opera¸c˜oes b´ a-sicas da ´algebra linear utilizadas na computa¸c˜ao quˆantica, escritas na forma da nota¸c˜ao de Dirac. Nos exemplos ser˜ao utilizados os seguintes vetores:

|xi =         x1 x2 .. . xm         e |yi =         y1 y2 .. . ym         . (2.3)

2.1.1

Produto interno ou escalar

O produto interno ser´a muito utilizado para calcular a probabilidade de um sistema quˆ an-tico ser encontrado em determinado estado ap´os uma medi¸c˜ao, sendo definido como:

hx|yi =hx∗1 x∗2 · · · x∗m i         y1 y2 .. . ym         = x∗1y1+ x∗2y2+ · · · + x∗mym. (2.4)

2.1.2

Produto externo ou vetorial

O produto externo ser´a utilizado para encontrar a matriz de densidade de um dado sis-tema. Ele ´e definido como:

|xi hy| =         y1 y2 .. . ym         h x∗1 x∗2 · · · x∗m i =         y1x∗1 y1x∗2 · · · y1x∗m y2x∗1 y2x∗2 · · · y2x∗m .. . ... ... ... ymx∗1 ymx∗2 · · · ymx∗m         . (2.5)

(19)

2.1.3

Produto tensorial

O produto tensorial ´e a forma utilizada para combinar espa¸cos vetoriais e portanto repre-sentar sistemas compostos por m´ultiplos subsistemas. Se H1 e H2 s˜ao espa¸cos de Hilbert

de dimens˜ao n e m, respectivamente, ent˜ao H1 ⊗ H2 ´e um novo espa¸co de Hilbert de

dimens˜ao n x m. O produto tensorial entre |yi ⊗ |xi ´e tido como:

|yi ⊗ |xi =                              y1x1 .. . y1xm y2x1 .. . y2xm .. . .. . ymx1 .. . ymxm                              . (2.6)

No caso do produto tensorial da matriz A de dimens˜oes m x n e da matriz B de dimens˜oes p x q o resultado ser´a a matriz de dimens˜ao mp x nq definida por:

A ⊗ B =                     A11B11 · · · A11B1q · · · A1nB11 · · · A1nB1q .. . ... ... ... ... ... ... A11Bp1 · · · A11Bpq · · · A1nBp1 · · · A1nBpq .. . ... ... ... ... ... ... .. . ... ... ... ... ... ... Am1B11 · · · Am1B1q · · · AmnB11 · · · AmnB1q .. . ... ... ... ... ... ... Am1Bp1 · · · Am1Bpq · · · AmnBp1 · · · AmnBpq                     . (2.7)

Vale notar que o produto tensorial muitas vezes ´e escrito de forma abreviada como |xi |yi ou at´e mesmo |xyi.

Al´em disso, o produto tensorial entre dois operadores A ∈ H1 e B ∈ H2 definido

por A ⊗ B ´e um operador do espa¸co H1 ⊗ H2 e atua sobre o estado |ψi ⊗ |φi da seguinte

forma:

(20)

7

2.2

Operadores

Operadores lineares s˜ao respons´aveis por transformar os vetores do espa¸co sobre os quais est˜ao agindo. No pr´oximo cap´ıtulo ser´a visto, em um dos postulados da mecˆanica quˆ an-tica, que operadores lineares unit´arios s˜ao respons´aveis por descrever a evolu¸c˜ao de um sistema quˆantico fechado. Na computa¸c˜ao quˆantica, esses sistemas ser˜ao chamados qu-bits. Portanto, os operadores lineares unit´arios ser˜ao de grande importˆancia, agindo como portas l´ogicas fundamentais para o processamento da informa¸c˜ao.

Por defini¸c˜ao um operador linear no espa¸co de Hilbert ´e uma transforma¸c˜ao linear T : H → H, do espa¸co vetorial para si mesmo. A seguir est˜ao listados alguns tipos de operadores utilizados na teoria quˆantica.

• O operador adjunto de T ´e T† e corresponde ao conjugado complexo transposto de

T ou conjugado hermitiano. Sua a¸c˜ao pode ser descrita de forma que

(hψ| T†|φi)∗ = hφ| T |ψi (2.9)

ou, ent˜ao, escrevendo de outra forma:

hφ| (T |ψi) = (hφ| T†) |ψi . (2.10)

• Um operador ´e unit´ario se T†= T−1, logo T T†= I. Esse tipo de operador preserva a norma dos vetores, o que ´e importante, pois ser´a visto que isso implica em manter a probabilidade total dos resultados de medidas igual a 1.

Por exemplo, o produto interno de U |ψi com U |φi ´e:

hψ| U†U |φi = hφ| |ψi . (2.11)

• Um operador ´e hermitiano se T = T†. Al´em disso, pode-se provar que os autovalores

de um operador hermitiano pertencem ao conjunto dos n´umeros reais [14]. Ou seja, dado o autovetor |ψi de U, tem-se que

U |ψi = λ |ψi , onde λ ´e real. (2.12)

• Um operador ´e normal se T T† = TT . Vale observar que tanto os operadores

(21)

2.3

Teorema espectral e fun¸

ao de operadores

O teorema espectral da ´algebra linear afirma que para todo operador normal T agindo sobre o espa¸co de Hilbert de dimens˜ao finita, existe uma base ortonormal nesse espa¸co formada pelos autovetores |xii de T. Al´em disso, pode-se provar que T ´e diagonal na

sua autobase, ou seja, ´e diagonal quando escrito em termos da base |xii. Portanto, todo

operador linear normal pode ser expandido na seguinte forma

T =X

i

λi|xii hxi| , (2.13)

pois λi s˜ao os autovalores de T.

Esse resultado ´e importante pois simplifica certas opera¸c˜oes com os operadores. Um exemplo disso ´e o c´alculo do operador T elevado `a potˆencia m que, ent˜ao, pode ser realizado bastando elevar os autovalores `a m, conforme demonstrado a seguir para m = 2: (|xii hxi|)2 = |xii hxi|xii hxi| = |xii hxi| (2.14) e, portanto, T2 = (X i λi|xii hxi|)2 = X i (λi)2|xii hxi| , (2.15) onde hxi|xji = 0 ∀ i 6= j.

Outra consequˆencia desse resultado ´e a capacidade de definir fun¸c˜oes de operadores, constatando-se que a s´erie de Taylor de uma fun¸c˜ao f(x) tem o seguinte formato:

f (x) =

X

m=0

amxm (2.16)

e, portanto, pode-se definir a a¸c˜ao de uma fun¸c˜ao sobre um operador T como: f (T ) =

X

m=0

amTm. (2.17)

Substituindo T pela sua decomposi¸c˜ao espectral:

∞ X m=0 am( X i λi|xii hxi|)m = ∞ X m=0 am X i (λi)m|xii hxi| (2.18)

e, por fim, invertendo a ordem do somat´orio X i ( ∞ X m=0 am(λi)m) |xii hxi| = X i f (λi) |xii hxi| . (2.19)

Isso mostra que a partir do teorema espectral ´e poss´ıvel decompor um operador linear normal em sua base de autovetores e, ent˜ao, encontrar o resultado de uma fun¸c˜ao f que atua sobre o operador apenas aplicando a fun¸c˜ao nos seus autovalores.

(22)

Cap´ıtulo 3

Computa¸

ao quˆ

antica

“N´os devemos estar certos de que quando se trata de ´atomos, a linguagem pode ser usada apenas como na poesia.”

-Niels Bohr

A computa¸c˜ao quˆantica ´e uma nova forma de processar informa¸c˜ao cujas regras s˜ao defi-nidas pela mecˆanica quˆantica. A sua estrutura fundamental ´e denominada qubit e gra¸cas a fenˆomenos quˆanticos como superposi¸c˜ao, interferˆencia e emaranhamento, a computa-¸c˜ao quˆantica consegue obter capacidades diferenciadas quando comparada ao computador cl´assico.

3.1

Postulados da mecˆ

anica quˆ

antica

3.1.1

Postulado do espa¸

co de estados

O primeiro postulado da mecˆanica quˆantica fala sobre como caracterizar um sistema. Sua formula¸c˜ao afirma que:

“A qualquer sistema f´ısico isolado pode-se associar um espa¸co vetorial complexo dotado de produto interno (espa¸co de Hilbert) e os estados do sistema s˜ao vetores unit´arios nesse espa¸co.”

Como mencionado anteriormente, a unidade b´asica da computa¸c˜ao quˆantica ´e o qubit, que pertence a um espa¸co de duas dimens˜oes de Hilbert. A escolha do qubit como unidade b´asica se deve ao fato dele representar o sistema mais simples poss´ıvel, onde uma medida do estado quˆantico vai apresentar apenas um dos dois resultados poss´ıveis.

(23)

O qubit ´e um vetor unit´ario definido na base computacional, que tem como base os vetores ortoganais: |0i =   1 0   e |1i =   0 1  . (3.1)

Portanto, a defini¸c˜ao de um qubit gen´erico na base computacional pode ser expressa por

|ψi = α |0i + β |1i =   α β  , (3.2)

onde, α e β s˜ao amplitudes complexas associadas `a probabilidade de medir o sistema em cada um dos estados, como ser´a visto adiante no postulado da medida. Al´em disso, vale mencionar que um certo estado ´e equivalente a outro estado que possui as mesmas ampli-tudes, por´em multiplicado por uma fase global. Isso acontece porque a probabilidade de medir o sistema em cada um dos estados (|0i e |1i se a medida for na base computacional) ´e igual em ambos os qubits. Portanto, |ψi e eiθ|ψi s˜ao equivalentes.

A condi¸c˜ao de que o estado seja descrito por um vetor unit´ario significa dizer que |α|2+ |β|2 = 1, e tem como objetivo garantir que a probabilidade total seja igual a um,

como ser´a visto no postulado da medida.

Um exemplo de sistema f´ısico cujos estados podem ser representados por um qubit ´e o spin de part´ıculas do tipo spin-1/2 como, por exemplo, o el´etron. Nesta representa¸c˜ao, um spin-up pode ser associado ao estado |0i e o spin-down ao estado |1i da base compu-tacional. Outros exemplos s˜ao baseados nos n´ıveis de energia de um el´etron ou, ainda, na polariza¸c˜ao de f´otons, mas esses exemplos n˜ao ser˜ao explicitados aqui.

Um qubit tamb´em pode ser expresso em termos de outras bases, al´em da compu-tacional. Uma base que ´e muito utilizada na computa¸c˜ao quˆantica e que aparecer´a com frequˆencia ao longo deste trabalho ´e a base de Hadamard, que possui os vetores |+i e |−i expressos da seguinte forma:

|+i = √1

2(|0i + |1i) e |−i = 1 √

2(|0i − |1i). (3.3)

Al´em disso, uma ferramenta muito ´util na visualiza¸c˜ao dos qubits ´e a chamada esfera de Bloch. Nela, o qubit ´e um vetor de comprimento unit´ario, pois a soma das probabilidades deve ser igual a 1, e ´e representado como:

|ψi = cosθ

2|0i + e

senθ

(24)

11 A representa¸c˜ao de um qubit na esfera de Bloch pode ser vista na Figura 3.1.

|ψi x φ y z θ

Figura 3.1: Esfera de Bloch.

Por fim vale notar que um qubit no estado |0i ou |1i ´e an´alogo a um bit 0 ou 1 cl´assico. A maneira como um qubit difere de um bit cl´assico ´e quando ele forma um estado |ψi = α |0i + β |1i, que ´e uma superposi¸c˜ao de ambos os estados da base computacional. Essa superposi¸c˜ao permite a realiza¸c˜ao de c´alculos utilizando |0i e |1i simultaneamente, e isso ´e o que torna, em certos casos, a computa¸c˜ao quˆantica mais eficiente do que a computa¸c˜ao cl´assica. Por´em, apenas um desses estados pode ser acessado atrav´es de uma medi¸c˜ao e o grande desafio da computa¸c˜ao quˆantica ´e, justamente, fazer com que os qubits interfiram de forma a produzir um estado final no qual a informa¸c˜ao desejada seja acess´ıvel atrav´es de medi¸c˜oes do sistema.

3.1.2

Postulado da evolu¸

ao temporal de um sistema fechado

O segundo postulado da mecˆanica quˆantica descreve como se d´a a evolu¸c˜ao temporal de um sistema fechado e pode ser formulado assim:

“A evolu¸c˜ao temporal de um sistema quˆantico fechado ´e descrita por uma trans-forma¸c˜ao unit´aria, isto ´e, |ψ2i = U |ψ1i”

onde |ψ1i ´e o sistema no estado inicial e |ψ2i ´e o sistema ap´os a evolu¸c˜ao. Al´em

disso, como o sistema ´e fechado, este n˜ao troca informa¸c˜ao com o meio exterior.

Os operadores que caracterizam as transforma¸c˜oes unit´arias efetuadas sobre siste-mas de apenas 1 qubit s˜ao matrizes 2x2. Uma classe muito utilizada desses operadores

(25)

s˜ao as matrizes (portas) de Pauli: I =   1 0 0 1  , X =   0 1 1 0  , Y =   0 −i i 0  , Z =   1 0 0 −1  . (3.5)

Essas matrizes realizam rota¸c˜oes ao longo dos eixos x, y e z da Bloch sphere. As suas aplica¸c˜oes na forma como est˜ao definidas acima, realizam rota¸c˜oes de 180◦ em torno dos eixos x, y e z. Por´em, para realizar rota¸c˜oes parciais, s˜ao definidas as seguintes matrizes Rx(θ) ≡ e−i(θ/2)X =      cos(θ/2) −isen(θ/2) −isen(θ/2) cos(θ/2)      , (3.6) Ry(θ) ≡ e−i(θ/2)Y =      cos(θ/2) −sen(θ/2) sen(θ/2) cos(θ/2)      , (3.7) Rz(θ) ≡ e−i(θ/2)Z =      e−i(θ/2) 0 0 e−i(θ/2)      , (3.8)

onde e−i(θ/2)X, e−i(θ/2)Y e e−i(θ/2)Z s˜ao fun¸c˜oes de operadores que podem ser expandidas em uma s´erie de Taylor conforme:

eiAθ = ∞ X m=0 (iAx)m m! = ∞ X m=0 (ix)m m! A m = ∞ X p=(par) (ix)p p! I + ∞ X k=(´ımpar) (ix)k k! A = cos(θ)I + isen(θ)A (3.9)

para toda matriz A que satisfa¸ca A2 = I.

Al´em de realizar rota¸c˜oes, as matrizes de Pauli s˜ao importantes porque formam uma base para os operadores hermitianos, cujos autovalores representam os poss´ıveis valores de leitura de um experimento na mecˆanica quˆantica. Ou seja, qualquer operador hermitiano de um qubit pode ser expresso em termos dessas quatro matrizes.

3.1.3

Postulado das medi¸

oes

O terceiro postulado da mecˆanica quˆantica trata do processo de medi¸c˜ao de um estado qualquer. Sua formula¸c˜ao diz que, dado um estado |ψi = α |0i + β |1i, para realizar uma

(26)

13 medida em uma base ortonormal qualquer B = {|φii}, o estado |ψi pode ser escrito como

|ψi =P

iαi|φii e o ato de medir pode levar |ψi ao estado |φii com probabilidade |αi| 2.

A partir desse postulado, fica claro que dois estados que diferem por uma fase global s˜ao iguais do ponto de vista de uma medida. Dado o estado |ψi = P

iαie iθ

ii,

ap´os a medi¸c˜ao, o estado resultante ser´a |φii com probabilidade,

p(i) = |αieiθ|2 = αieiθα∗ie −iθ

= αiα∗i = |αi|2, (3.10)

que ´e similar a probabilidade de encontrar |φii no estado |ψi =

P

iαi|φii sem a fase

global.

Um exemplo de medi¸c˜ao pode ser visto a seguir, onde um qubit no estado |ψi = |0i ´e medido na base de Hadamard, definida pela Equa¸c˜ao 3.3, cuja probabilidade de observar o resultado |+i ´e:

p+ = | h+|ψi |2 = h+|ψi h+|ψi ∗

= h+|ψi hψ|+i = h+|0i h0|+i =  1 √ 2(h0| + h1|) |0i   h0|√1 2(|0i + |1i)  =  1 √ 2h0|0i   1 √ 2h0|0i  = 1 2. (3.11)

Utilizando o mesmo racioc´ınio chega-se ao resultado de que a probabilidade p−de observar

o resultado |−i tamb´em ´e igual a 1/2.

3.1.4

Postulado da composi¸

ao de sistemas

O quarto postulado da mecˆanica quˆantica fala sobre como ´e descrito um sistema composto por m´ultiplos subsistemas. Sua formula¸c˜ao diz:

”O espa¸co de estados de um sistema f´ısico composto ´e o produto tensorial dos espa¸cos de estados dos sistemas componentes.”

Ou seja, se um estado |ψi1 pertence ao espa¸co de estados H1 e um estado |ψi2

pertence ao espa¸co de estados H2 ent˜ao o sistema resultante da composi¸c˜ao dos dois

subsistemas ´e descrito por |ψi1⊗ |ψi2 e pertence ao espa¸co de estados H1 ⊗ H2.

Um exemplo de composi¸c˜ao de sistema ´e visto a seguir, onde dois qubits no estado |ψi e |φi passam passam a forma um sistema composto |ψφi.

Considerando que

(27)

ent˜ao, a composi¸c˜ao dos sistemas ´e descrita pelo seguinte sistema de 2-qubits:

|ψφi = αγ |00i + αδ |01i + βγ |10i + βδ |11i =         αγ αδ βγ βδ         . (3.13)

Um detalhe importante a se notar ´e o fato de que nem todos os estados compostos podem ser descritos por um produto tensorial de subsistemas. Quando isso acontece, ´e dito que os qubits est˜ao emaranhados. Se ao longo da prepara¸c˜ao do estado, cada um dos qubits ´e preparado de maneira isolada um do outro, ent˜ao eles formam subsistemas fechados e, portanto, o sistema formado pela composi¸c˜ao desses qubits pode ser descrito por meio de um produto tensorial. Por´em, se os qubit interagem entre si ao longo da sua prepara¸c˜ao, esses subsistemas deixam de ser fechados e o sistema formado pela composi¸c˜ao dos qubits passa a ser um sistema emaranhado que n˜ao pode ser descrito por um produto tensorial.

Para exemplificar, ´e apresentado o seguinte estado emaranhado: |ψi = √1

2(|00i + |11i) . (3.14)

Para provar que n˜ao ´e poss´ıvel escrever esse estado como um produto tensorial de dois qubits, primeiro s˜ao apresentados dois qubits com amplitudes gen´ericas,

|φ1i = α |0i + β |1i (3.15)

e,

|φ2i = γ |0i + δ |1i , (3.16)

o produto tensorial desses dois qubits ´e,

|φ1φ2i = αγ |00i + αδ |01i + βγ |10i + βδ |11i . (3.17)

Para que esse produto fosse igual ao estado emaranhado |ψi seria necess´ario que, αγ = βδ = √1

2, (3.18)

por´em, tamb´em seria necess´ario que,

(28)

15 o que ´e claramente uma impossibilidade matem´atica.

Uma fato interessante sobre estados emaranhados pode ser observado a partir do exemplo anterior. Na Equa¸c˜ao 3.14, ap´os uma medi¸c˜ao no primeiro qubit, que pode re-sultar em |0i ou |1i com probabilidade 1/2 cada, o estado do segundo qubit passa a ser conhecido imediatamente, pois ser´a idˆentico ao primeiro. Esse fato gerou profundo incˆ o-modo em Einstein, que acreditava que a mecˆanica quˆantica possu´ıa natureza probabil´ıstica apenas por ser uma teoria incompleta, ou seja, por conta da falta de conhecimento dos cientistas sobre o sistema completo e que, no fundo, a mecˆanica quˆantica se comportava de maneira cl´assica. Foi ent˜ao que junto aos cientistas Boris Podolsky e Nathan Rosen, Einstein publicou um artigo conhecido como o paradoxo de EPR [15]. Segundo eles, a mecˆanica quˆantica era uma teoria incompleta porque estados emaranhados acarretavam em qubits serem capazes de influenciar outros qubits, mesmo que separados por uma grande distˆancia, de forma mais r´apida do que a velocidade da luz. Para Einstein isto seria algo imposs´ıvel pois violaria o limite imposto pela teoria da relatividade, na qual a velocidade m´axima no universo ´e a velocidade da luz. Por´em, em 1964, o f´ısico te´orico John Bell estabeleceu um teorema conhecido como desigualdade de Bell que permitia um experimento de laborat´orio para comprovar se a realidade era de fato cl´assica, como Eins-tein imaginava, ou se ela apresentava fatores como n˜ao localidade ou n˜ao realismo. Esse experimento foi realizado pela primeira vez em 1972 pelos f´ısicos Stuart J. Freedman e John F. Clauser, e provou que a realidade n˜ao ´e cl´assica, ou seja, n˜ao ´e local e realista. Desde ent˜ao, v´arios cientistas refizeram os experimentos para eliminar poss´ıveis falhas ou loopholes que permitiriam que c´eticos com rela¸c˜ao ao assunto encontrassem formas de con-testar a veracidade do experimento. Infelizmente, Albert Einstein n˜ao viveu o suficiente para apreciar o teorema de Bell e nem contemplar os experimentos que o comprovaram.

3.2

Circuitos quˆ

anticos

3.2.1

Introdu¸

ao aos circuitos quˆ

anticos e ao teorema da n˜

ao

clonagem

A representa¸c˜ao de sistemas quˆanticos por meio de circuitos ´e um modelo de computa¸c˜ao quˆantica, an´alogo `a computa¸c˜ao cl´assica, no qual os qubits s˜ao representados por linhas e os operadores que atuam sobre estes s˜ao representados por portas l´ogicas. Entretanto,

(29)

as portas l´ogicas que aparecem na computa¸c˜ao quˆantica s˜ao todas unit´arias devido ao postulado da evolu¸c˜ao temporal de um sistema fechado. Isso implica que toda as portas sejam revers´ıveis, ou seja, a partir do conhecimento da sa´ıda, pode-se descobrir o estado da entrada na porta l´ogica. J´a na computa¸c˜ao cl´assica, nem todas as portas s˜ao revers´ıveis (um exemplo ´e a porta AND). Outra diferen¸ca para os circuitos cl´assicos ´e o fato de que na computa¸c˜ao quˆantica, de acordo com o teorema da n˜ao clonagem mostrado a seguir, um qubit qualquer n˜ao pode ser clonado em outro qubit. Isto ´e, n˜ao existe nenhum operador unit´ario C capaz de realizar as opera¸c˜oes:

C(|ψ1i |0i) = |ψ1i |ψ1i

C(|ψ2i |0i) = |ψ2i |ψ2i ,

(3.20)

para |ψ1i n˜ao ortogonal `a |ψ2i. Ou seja, n˜ao existe porta quˆantica capaz de copiar um

estado arbitr´ario qualquer em outro qubit (por´em ´e poss´ıvel fazer com que uma porta espec´ıfica copie um estado j´a conhecido previamente em outro qubit). Por isso, circuitos em paralelo n˜ao existem na computa¸c˜ao quˆantica.

A prova do teorema da n˜ao clonagem ´e feita por contradi¸c˜ao, onde sup˜oem-se que C ´e unit´ario e capaz de realizar as opera¸c˜oes descritas na Equa¸c˜ao 3.20. Ent˜ao,

hψ1|ψ2i = hψ1|ψ2i h0|0i

= (hψ1| h0|)C†C(|ψ2i |0i)

= (hψ1| hψ1|)(|ψ2i |ψ2i)

= (hψ1|ψ2i)2,

(3.21)

que s´o ´e valido para |ψ1i ortogonal `a |ψ2i ou |ψ1i = eiα|ψ2i, onde eiα ´e uma fase global.

3.2.2

Nota¸

ao de circuitos

Como dito anteriormente, na representa¸c˜ao de estados quˆantico por meio de circuitos, os qubits s˜ao representados por linhas e os operadores que atuam sobre o sistema por portas l´ogicas. Na Se¸c˜ao 3.1.2 foi visto que as matrizes de Pauli s˜ao uma classe muito importante de operadores de 1 qubit e portanto ser˜ao portas l´ogicas representadas por:

I ≡ I X ≡ X

Y ≡ Y Z ≡ Z

(30)

17 A a¸c˜ao dessas portas sobre os qubits na base computacional pode ser mostrada atrav´es de suas atua¸c˜oes no qubit |ψi = α |0i + β |1i, de acordo com as seguintes equa¸c˜oes:

I |ψi = |ψi ,

X |ψi = α |1i + β |0i , Y |ψi = iα |1i − iβ |0i , Z |ψi = α |0i − β |1i .

(3.22)

Na Se¸c˜ao 3.1.1 foi dito que a base de Hadamard ´e constantemente utilizada na computa¸c˜ao quˆantica. A porta que transforma o qubit |0i em |+i e |1i em |−i ´e a porta de Hadamard e ela ´e importante pois cria uma superposi¸c˜ao com amplitudes iguais entre |0i e |1i. Sua representa¸c˜ao matricial e na forma de porta l´ogica s˜ao mostradas na Figura 3.3. H = √1 2   1 1 1 −1  ≡

H

Figura 3.3: Porta de Hadammard.

Por fim, outra porta de extrema importˆancia que aparecer´a muitas vezes ao longo deste texto ´e a porta CNOT. Essa porta controla o segundo qubit baseado no estado do primeiro qubit. Ou seja, ela transforma |10i em |11i, |11i em |10i e copia a entrada se a mesma for |01i ou |00i. A porta CNOT age sobre 2 qubits e, portanto, ´e uma matriz 4x4. Sua representa¸c˜ao matricial e na forma de porta l´ogica est˜ao mostradas na Figura 3.4.

CN OT =         1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0         ≡

Figura 3.4: Porta CNOT.

Vale notar que a porta CNOT ´e uma porta que faz com que dois qubits interajam entre si e, portanto, esta pode criar emaranhamento. Um exemplo ´e o circuito b´asico que cria emaranhamento transformando o estado |00i em √1

2(|00i + |11i). A sua estrutura pode ser vista na Figura 3.5.

(31)

|0i H • |0i

1 2 3

Figura 3.5: Circuito para criar emaranhamento.

Na Figura 3.5, o circuito foi dividido em trˆes etapas para facilitar a an´alise. O estado dos qubits a cada momento ´e descrito a seguir:

1 Qubits de entrada do circuito no estado |0i ⊗ |0i

2 A porta Hadamard ´e aplicada ao primeiro qubit, fazendo com que o estado do circuito passe a ser √1

2(|0i + |1i) ⊗ |0i = 1 √

2(|00i + |10i)

3 A porta CNOT ´e aplicada e o estado final do circuito se torna √1

2(|00i + |11i) Ressalta-se que os medidores representados ap´os a terceira etapa simbolizam uma medi¸c˜ao na base computacional. Ou seja, ap´os a medi¸c˜ao, o circuito vai mostrar o estado |00i ou o estado |11i ambos com 50% de probabilidade.

3.2.3

Protocolos quˆ

anticos

Al´em de algoritmos consideravelmente mais eficientes do que algoritmos cl´assicos, a teoria da informa¸c˜ao quˆantica permitiu que alguns protocolos interessantes fossem desenvolvidos. Dentre eles est˜ao o protocolo de codifica¸c˜ao superdensa e o de distribui¸c˜ao de chaves criptogr´aficas BB84. Ambos ser˜ao descritos a seguir.

O protocolo de codifica¸c˜ao superdensa consiste em um protocolo de transmiss˜ao de informa¸c˜ao cl´assica (bits) utilizando informa¸c˜ao quˆantica (qubits). Nele, apenas um qubit emaranhado ´e utilizado para transmitir dois bits de informa¸c˜ao cl´assica entre dois interlocutores, Alice e Bob. A Figura 3.6 ilustra o circuito que realiza esse protocolo.

(32)

19 b2 b1 X Z Alice                    |ψi · · · ·· · · ·· · · ·· · · ·· · · ·· · · ··· · · · ·· · · · Bob • H b1 b2 1 2 3

Figura 3.6: Protocolo de codifica¸c˜ao superdensa.

Para alcan¸car a codifica¸c˜ao superdensa Alice e Bob devem, cada um, possuir um dos qubits do estado emaranhado de entrada do circuito |ψi = √1

2(|00i + |11i) (na Figura 3.6 Alice possui o primeiro qubit e Bob o segundo). Em seguida, Alice escolhe quais bits quer enviar (b1b2) e aplica as portas X e Z baseada no valor desses bits. Por exemplo, se

b2 = 1 e b1 = 0 ela aplica apenas a porta X no seu qubit. Ent˜ao, Alice envia seu qubit

para Bob que aplica as portas CNOT e Hadamard para desemaranhar os qubits e, em seguida, realiza a medi¸c˜ao na base computacional para descobrir quais os bits enviados por Alice. Com esse protocolo, Alice consegue enviar para Bob dois bits de informa¸c˜ao utilizando apenas um qubit emaranhado e ´e por isso que ele ´e chamado de codifica¸c˜ao superdensa.

Para demonstrar o funcionamento do circuito, um exemplo da transmiss˜ao da men-sagem 01 ´e apresentado a seguir, onde o estado dos qubits ´e explicitado em cada um dos 3 pontos cruciais do circuito.

1 Qubits de entrada do circuito no estado |ψi = √1

2(|00i + |11i)

2 Alice aplica apenas a porta X ao seu qubit, fazendo com que o estado do circuito passe a ser √1

2(|10i + |01i)

3 Ap´os a transferˆencia do qubit, Bob aplica a porta CNOT e os qubits passam a ser 1

2(|11i + |01i) = 1 √

2(|1i + |0i) ⊗ |1i. Por fim a porta de Hadamard ´e aplicada e o estado final obtido no circuito ´e |01i.

(33)

quando Bob j´a est´a em posse do qubit, ´e um circuito de medi¸c˜ao na base de Hadamard, isto ´e, para medir um qubit nessa base, basta aplicar uma porta de Hadamard e, em seguida, realizar a medida na base computacional.

O protocolo BB84 foi desenvolvido por Charles Bennett e Gilles Brassard em 1984 e ´e o mais antigo protocolo de distribui¸c˜ao de chaves quˆantico. Ele foi criado visando garantir a seguran¸ca na comunica¸c˜ao entre dois n´os baseando-se apenas nas leis da f´ısica, ao inv´es de se basear em algum problema muito dif´ıcil de se resolver, como acontece nos protocolos cl´assicos. A descri¸c˜ao deste protocolo encontra-se a seguir.

Alice deseja enviar uma mensagem para Bob. Para isso, ela necessita de uma chave de uso ´unico, que ´e segura se utilizada apenas uma vez, que deve ser gerada pelo protocolo BB84 toda vez que uma mensagem for trocada entre os dois. Essa chave consiste em uma sequˆencia de bits conhecida apenas por Alice e Bob que deve ser utilizada para realizar a opera¸c˜ao XOR (soma m´odulo dois) com a sequˆencia de bits de mensagem e, assim, criptografar a mensagem original.

Para gerar essa chave de uso ´unico (com o protocolo BB84), Alice deve inicialmente preparar duas sequˆencias bin´arias aleat´orias, x e y. Ent˜ao, Alice prepara uma sequˆencia de qubits baseando-se na seguinte l´ogica:

• Se xi = 0 e yi = 0 ela prepara o qubit |0i.

• Se xi = 1 e yi = 0 ela prepara o qubit |1i.

• Se xi = 0 e yi = 1 ela prepara o qubit |+i.

• Se xi = 1 e yi = 1 ela prepara o qubit |−i.

Por exemplo, se x = [0 1 1 0 1 0 0 1 0 0 1 1 1] e y = [1 0 1 1 0 0 0 1 0 1 1 0 1], ent˜ao, a sequˆencia de qubits ´e: |+i |1i |−i |+i |1i |0i |0i |−i |0i |+i |−i |1i |−i.

Em seguida, Alice envia esta sequˆencia de qubits para Bob. Para medi-los, Bob gera uma sequˆencia aleat´oria de bits z e mede os qubits de acordo com a seguinte l´ogica:

• Se zi = 0 Bob mede o qubit na base computacional.

• Se zi = 1 Bob mede o qubit na base de Hadamard.

´

E importante lembrar que ao medir o qubit |0i ou |1i na base de Hadamard, a sa´ıda da medi¸c˜ao ´e 0 ou 1, ambos com 50% de probabilidade, pois ´e equivalente a aplicar a porta H ao qubit e depois fazer a medi¸c˜ao na base computacional.

(34)

21 Por exemplo, para z = [ 0 1 0 1 0 1 1 0 0 0 1 1 0 ], o resultado da medi¸c˜ao da sequˆencia enviada por Alice no exemplo anterior ser´a armazenado em uma sequˆencia bin´aria c = [ a a a 0 1 a a a 0 a 1 a a ], onde o bit ’a’ representa um bit aleat´orio 0 ou 1, com probabilidade igual a 50%.

Ap´os a medi¸c˜ao, Alice e Bob publicam as sequˆencias y e z para que ambos possam verificar em que momento a base de medi¸c˜ao de Bob coincidiu com a base de codifica¸c˜ao de Alice, simplesmente analisando em que posi¸c˜oes y e z s˜ao iguais. Ent˜ao, os valores dos bits nessas posi¸c˜oes nos vetores x e c s˜ao utilizados como chave de criptografia. No caso do exemplo anterior, a chave criptogr´afica seria [0 1 0 1].

Esse m´etodo de distribui¸c˜ao se baseia no fato de que se um espi˜ao entre Alice e Bob tentar medir os qubits enviados por Alice, ele ir´a colapsar o estado desses qubits, por exemplo, um qubit que possu´ıa o valor |+i colapsa para 0 ou 1 se for medido na base computacional (que nesse caso ´e a base errada). Al´em disso, a base de medida do espi˜ao ser´a aleat´oria e, consequentemente, apenas parte dos qubits medidos por ele estar˜ao corretos. Portanto, ao reenviar a sequˆencia de qubits medidos por ele para Bob, essa sequˆencia ser´a diferente da que Alice havia enviado inicialmente. Ent˜ao, se Bob e Alice adicionarem um checksum na mensagem, ao analisarem quais qubits foram medidos de maneira correta baseados nos seus vetores y e z, eles ir˜ao perceber que o checksum n˜ao est´a correto, pois a sequˆencia de qubits medida por Bob foi alterada pelo espi˜ao.

Caso o espi˜ao conseguisse gerar m´ultiplas c´opias dos estados enviados por Alice, seria poss´ıvel que ele realizasse medidas em mais de uma base e, al´em disso, ele conseguiria reenviar os estados idˆenticos para Bob que, consequentemente, n˜ao iria constatar erro no checksum. Por´em, ´e justamente o teorema da n˜ao clonagem visto na Subse¸c˜ao 3.2.1 que garante que ´e imposs´ıvel gerar m´ultiplas c´opias desse estado arbitr´ario enviado por Alice e, com isso, garante a seguran¸ca do protocolo.

O protocolo BB84 foi o pioneiro na ´area de distribui¸c˜ao de chaves criptogr´aficas quˆanticas. Atualmente, algumas vulnerabilidades j´a foram encontradas em alguns casos onde, por exemplo, a sequˆencia gerada por Alice e Bob n˜ao ´e de fato aleat´oria ou caso o espi˜ao tenha acesso ao dispositivo codificador e decodificador de Alice e Bob. Entretanto, m´etodos mais modernos de distribui¸c˜ao de chaves quˆanticos j´a foram desenvolvidos e essa ´e uma das ´areas mais promissoras de pesquisa em informa¸c˜ao quˆantica.

(35)

3.3

Algoritmos Quˆ

anticos

Nessa se¸c˜ao ser˜ao apresentados dois algoritmos quˆanticos conhecidos como algoritmo de Bernstein-Vazirani [16] e o de busca de Grover [17]. O primeiro ´e um exemplo b´asico, apenas para ilustrar, de maneira simples e r´apida, a superioridade da computa¸c˜ao quˆantica em rela¸c˜ao a computa¸c˜ao cl´assica quando se trata de certos problemas computacionais. O segundo ´e um dos algoritmos mais importantes da computa¸c˜ao quˆantica e, junto com a transformada de Fourier quˆantica e a simula¸c˜ao quˆantica, faz parte do grupo dos pilares da computa¸c˜ao quˆantica que est˜ao presentes na maioria das aplica¸c˜oes na ´area.

3.3.1

Algoritmo de Bernstein-Vazirani

O algoritmo de Bernstein-Vazirani foi desenvolvido por Ethan Bernstein e Umesh Vazirani em 1992. Ele serve para encontrar o valor da sequˆencia de bits s utilizada na fun¸c˜ao f (x) = s.x, onde s e x s˜ao sequˆencias de n bits e o seu produto pode ser entendido como o produto interno entre os vetores formados por essas sequˆencias, ou seja, Pn

i=1sixi.

Para isso, ser´a considerado que o algoritmo quˆantico tem acesso a um or´aculo de fase Of, que ´e basicamente uma porta l´ogica de n qubits que funciona da seguinte maneira,

dado o qubit |ψi de entrada:

Of|ψi = (−1)f (ψ)|ψi (3.23)

A Figura 3.7 mostra o circuito quˆantico que realiza o algoritmo de Bernstein-Vazirani. |0i H Of H .. . ... ... ... .. . ... ... ... |0i H H 1 2 3 4

Figura 3.7: Circuito do algoritmo de Bernstein-Vazirani.

O passo a passo do estado dos n qubits de entrada encontra-se descrito a seguir: 1 Qubits de entrada no estado |01....0ni = |0i

⊗n

.

(36)

23 ser H⊗n|0i⊗n = (√1

2)

n(|0i + |1i) ⊗ .... ⊗ (|0i + |1i) = (1

2)

nP2n−1

x=0 |xi, onde no

somat´orio x representa um n´umero inteiro bin´ario variando de 0 at´e 2n−1.

3 Ap´os a aplica¸c˜ao do or´aculo, obt´em-se que (√1 2) nP2n−1 x=0 (−1) f (x)|xi = (1 2) nP2n−1 x=0 (−1) s.x|xi = (√1 2)

n(|0i + (−1)s1|1i) ⊗ .... ⊗ (|0i + (−1)sn|1i).

4 Finalmente, ao aplicar n portas de Hadamard no final do circuito, descobre-se o estado |s1....sni.

Neste algoritmo nota-se que o grande benef´ıcio da computa¸c˜ao quˆantica foi per-mitir que uma superposi¸c˜ao de estados fosse criada a partir da aplica¸c˜ao de n portas de Hadamard e, com isso, a fun¸c˜ao f(x) pˆode ser calculada simultaneamente em todos os estados. Por´em, esses estados n˜ao s˜ao acess´ıveis de maneira simultˆanea e, portanto, n portas de Hadamard devem ser aplicadas novamente a fim de gerar interferˆencia entre os diferentes estados e terminar a computa¸c˜ao com o ´unico estado desejado, correspondente `

a sequˆencia s.

Percebe-se, ent˜ao, que com apenas uma utiliza¸c˜ao da fun¸c˜ao f(x), o algoritmo de Bernstein-Vazirani foi capaz de descobrir o valor de s. J´a um algoritmo cl´assico precisaria chamar a fun¸c˜ao n vezes pois, para descobrir s1, utilizaria f(100...0), para descobrir s2,

f(010...0) e, assim, sucessivamente at´e sn. Isso mostra uma melhora polinomial do

algo-ritmo quˆantico em rela¸c˜ao `a computa¸c˜ao cl´assica. Entretanto, essa melhora n˜ao apresenta um ganho t˜ao significativo quanto outros algoritmos mais elaborados como o de Shor ou o de Grover.

3.3.2

Algoritmo de busca de Grover

O algoritmo de Grover foi desenvolvido por Lov Grover em 1996 e ´e um algoritmo base-ado em amplifica¸c˜ao de amplitude. Esse m´etodo permite que um computador quˆantico encontre um elemento x0 em uma lista desordenada de N elementos, onde o computador

tem acesso a um or´aculo de fase, atuando como na Equa¸c˜ao 3.23, que executa a fun¸c˜ao f(x), definida como:

f (x) = 1 se x = x0

f (x) = 0 se x 6= x0.

(37)

Ou seja, essa fun¸c˜ao deve ser capaz de distinguir o elemento desejado dos demais elementos na lista.

O procedimento computacional do algoritmo consiste em aplicar o chamado opera-dor de Grover G sobre o estado |ψi = H⊗n|0i⊗n um certo n´umero de vezes e, em seguida, medir os qubits na base computacional. O operador de Grover pode ser definido por:

G = H⊗nRH⊗nOf (3.25)

onde n ´e o n´umero de qubits sobre o qual o operador atua, H⊗n ´e a porta de Hadamard aplicada nos n qubits, Of ´e o or´aculo de fase e R ´e uma porta de n qubits (ou seja, uma

matriz 2nx2n) que pode ser constru´ıda utilizando-se um n´umero polinomial de portas

l´ogicas e que multiplica qualquer sequˆencia de n qubits na base computacional por −1 exceto a sequˆencia |0i⊗n, conforme definido a seguir:

R =            1 0 · · · 0 0 0 −1 · · · 0 0 .. . ... ... ... ... 0 0 · · · −1 0 0 0 · · · 0 −1            = 2 |0i h0| − I. (3.26)

A compreens˜ao de como o operador G atua sobre os qubits de entrada |ψi ´e facilitada quando ele ´e analisado do ponto de vista geom´etrico. Para isso, o estado de entrada |ψi ´e escrito como: |ψi = (√1 N) |x0i + ( r N − 1 N ) |x ⊥ 0i (3.27)

onde |x0i ´e a sequˆencia de qubits que deseja-se encontrar e |x⊥0i s˜ao todas as outras

sequˆencias, que formam uma superposi¸c˜ao de estados ortogonais `a |x0i. Vale notar que

N ´e o n´umero total de elementos que formam a superposi¸c˜ao, ou seja, N = 2n. Definindo

o ˆangulo θ = arcsen(√1

N), pode-se reescrever o estado de entrada como sendo:

|ψi = sen(θ) |x0i + cos(θ) |x⊥0i . (3.28)

Agora esse estado pode ser visualizado como dois eixos em um plano cartesiano com |x0i no eixo das ordenadas e |x⊥0i no eixo das abscissas conforme mostrado na Figura

(38)

25 |x⊥ 0i |x0i |ψi θ Figura 3.8: Eixos |x0i e |x⊥0i

Em seguida, nota-se que a a¸c˜ao do or´aculo ´e levar |x0i para − |x0i e n˜ao alterar |x⊥0i.

Isso pode ser visto como uma reflex˜ao ao redor do eixo |x⊥0i. J´a a a¸c˜ao de H⊗nRH⊗n = 2 |ψi hψ| − I, n˜ao altera |ψi e leva |ψ⊥i para − |ψ⊥i onde |ψi ´e ortogonal `a |ψi . Essa

opera¸c˜ao tamb´em pode ser interpretada como um reflex˜ao, por´em em torno do eixo |ψi. O resultado da rota¸c˜ao total do operador G ´e um deslocamento de 2θ na dire¸c˜ao do eixo |x0i, como pode ser observado na Figura 3.9.

|x⊥ 0i |x0i |ψi G |ψi Of|ψi θ 2θ θ

Figura 3.9: A¸c˜ao do operador G

Ap´os k aplica¸c˜oes do operador G, o estado do qubit |ψi passa a ser:

(39)

Como o ˆangulo θ aumentou, fica claro que a amplitude associada ao estado |x0i

tamb´em aumentou. Isso mostra que o algoritmo de Grover amplificou a probabilidade de o estado ser medido como |x0i. Para saber o n´umero k de aplica¸c˜oes necess´arias do

operador G, basta fazer (2k + 1)θ = π

2, logo, k = π 4θ −

1

2. Por´em, nessa defini¸c˜ao, k n˜ao costuma ser um n´umero inteiro e portanto, aproxima-se k = ˜k, onde ˜k ´e o inteiro mais pr´oximo de k.Assim, tem-se que (2˜k + 1)θ = π

2 + ε, onde |ε| ´e o erro que no pior caso, aproxima-se de √1

N para valores grandes de N. Logo, utilizando a desigualdade trigonom´etrica 1 − cos x ≤ x

2

2, obt´em-se que a probabilidade, Pk, do algoritmo acertar no pior dos casos ´e:

Pk= sen2( π 2 + ε) ≈ sen( π 2 + ε) = cos ε ≥ 1 − ε2 2 ≈ 1 − 1 N. (3.30)

Este resultado representa uma grande vantagem em rela¸c˜ao aos algoritmos cl´ assi-cos, pois, com apenas k ≈ √N = 2(n/2) consultas, o algoritmo de Grover foi capaz de

encontrar o elemento na lista com uma probabilidade de erro da ordem de 1

N. Um al-goritmo cl´assico determin´ıstico, que encontra o elemento com 100% de certeza, utilizaria N = 2n consultas e, ainda que fosse utilizado um algoritmo probabil´ıstico, seriam

neces-s´arias aproximadamente pN = p2n consultas, onde p ´e a probabilidade de acerto que ele

teria. Ou seja, para se obter uma probabilidade de acerto p = 1 − 1

N seriam necess´arias N − 1 = 2n− 1 consultas.

Ressalta-se que, neste exemplo, o algoritmo realizou a busca em uma lista de entrada de elementos em uma superposi¸c˜ao uniforme, mas o algoritmo de Grover pode ser adaptado para realizar uma busca em qualquer lista de entrada.

Esse algoritmo mostra o qu˜ao eficiente pode ser a computa¸c˜ao quˆantica quando comparada `a algumas aplica¸c˜oes da computa¸c˜ao cl´assica. Existem outros algoritmos ainda mais eficientes na computa¸c˜ao quˆantica como, por exemplo, o de Shor que ´e capaz de fatorar um n´umero inteiro N e que resulta numa melhoria quase exponencial em rela¸c˜ao `

a computa¸c˜ao cl´assica, mas a apresenta¸c˜ao desse algoritmo ´e mais complexa e, por isso, n˜ao est´a no escopo deste trabalho.

(40)

Cap´ıtulo 4

Corre¸

ao de erros e a computa¸

ao

quˆ

antica

“N˜ao apenas mais estranho do que pensamos, o Universo ´e mais estranho do que podemos pensar.”

— Werner Heisenberg

No in´ıcio do s´eculo XX, a computa¸c˜ao cl´assica ainda estava em seus prim´ordios e o prin-cipal elemento dos computadores eram as v´alvulas. Essas v´alvulas eram extremamente problem´aticas pois, al´em de superaquecer, queimavam rapidamente e consumiam muita energia. Naquela ´epoca, c´eticos com rela¸c˜ao `a computa¸c˜ao acreditavam ser imposs´ıvel construir um computador de grande porte, pois, pareceria imposs´ıvel trabalhar com mui-tas v´alvulas simultaneamente. Entretanto, com o avan¸co da tecnologia, foram desenvol-vidos os transistores que tiveram papel fundamental no desenvolvimento da computa¸c˜ao, de modo que ela se tornasse indispens´avel na vida humana como ´e nos dias de hoje.

Atualmente, a computa¸c˜ao quˆantica tamb´em est´a em seus estados iniciais e as principais empresas que desenvolvem pesquisa nessa ´area ainda s˜ao incapazes de criar computadores de grande escala, muito por conta da dificuldade de se criar sistemas con-fi´aveis de baixo ru´ıdo, isto ´e, com poucos erros computacionais. A causa do ru´ıdo ´e que, em certas arquiteturas de computadores quˆanticos atuais, para que os qubits preservem suas caracter´ısticas, estes devem ser mantidos resfriados em temperaturas pr´oximas do zero absoluto. Al´em disso, erros causados pela aplica¸c˜ao de portas l´ogicas com imperfei-¸c˜oes, falta de isolamento do sistema com rela¸c˜ao ao meio externo e erros na medi¸c˜ao dos qubits dificultam ainda mais a cria¸c˜ao de sistemas confi´aveis.

(41)

Nesse cen´ario, surgiram alguns estudos como, por exemplo, o artigo publicado por Gil Kalai [18], que aponta que a computa¸c˜ao quˆantica em larga escala n˜ao deve ser alcan¸cada por conta de uma barreira fundamental dos sistemas quˆanticos que s˜ao inerentemente ruidosos e n˜ao apenas por desafio de engenharia. Entretanto, apesar de ainda existir a d´uvida sobre a viabilidade de constru¸c˜ao de um computador quˆantico de larga escala, a teoria de corre¸c˜ao quˆantica de erros juntamente com esquemas que respeitam as t´ecnicas de tolerˆancia `a falhas (fault-tolerance) conforme mostrado em [19], fazem com que a maior parte da comunidade cient´ıfica, inclusive empresas como Google, IBM e Microsoft, que tˆem investido bilh˜oes de d´olares na ´area, acredite que essa tarefa ´e alcan¸c´avel e se trata, apenas, de obst´aculos de engenharia. ´E por isso que a teoria de corre¸c˜ao de erros quˆanticos ´e extremamente importante e ´e considerada um dos principais pilares da computa¸c˜ao quˆantica.

4.1

Erros na computa¸

ao quˆ

antica

O objetivo dessa se¸c˜ao ´e esclarecer os principais erros que acontecem na computa¸c˜ao quˆantica e introduzir modelos matem´aticos simples que descrevam a a¸c˜ao desses tipos de erro sobre os qubits. Primeiramente, ser˜ao descritos erros decorrentes da aplica¸c˜ao de uma porta quˆantica com imperfei¸c˜oes e, em seguida, erros oriundos da intera¸c˜ao de um qubit com o ambiente externo.

4.1.1

Imperfei¸

ao nas portas quˆ

anticas

Este ´e um erro muito comum na computa¸c˜ao quˆantica e acontece por conta de imperfei¸c˜oes na constru¸c˜ao ou no controle das portas quˆanticas. Al´em disso, mutias vezes ´e utilizado um conjunto de portas para implementar uma determinada porta quˆantica. Como essa implementa¸c˜ao pode ser aproximada, pequenos erros computacionais podem surgir.

Para dar ideia da ordem de grandeza desse tipo de erro, no per´ıodo da elabora-¸c˜ao deste trabalho, o computador quˆantico de 14 qubits disponibilizado pela IBM para utiliza¸c˜ao p´ublica, denominado como ibmq 16 melbourne, fornecia uma probabilidade de falha da porta U3, que pode ser utilizada para construir qualquer porta de um qubit, da ordem de 10−3 a 10−2, dependendo do qubit sobre o qual ela estivesse operando. Al´em disso, nesse computador, a porta CNOT possu´ıa uma probabilidade de falha entre 10−2 e

(42)

29 10−1, mostrando que este tipo de erro causa um grande impacto sobre as aplica¸c˜oes nos computadores quˆanticos atuais.

Um modelo que caracteriza esse tipo de erro pode ser obtido, por exemplo, consi-derando a aplica¸c˜ao da porta I um n´umero k de vezes sobre o qubit |ψi = |0i. No cen´ario ideal isso implicaria que:

k Y i=1 Ii|ψi = k Y i=1 Ii|0i = |0i . (4.1)

Por´em, em um cen´ario onde I possui certa imperfei¸c˜ao, que aplica, por exemplo, uma pequena rota¸c˜ao ao redor do eixo x da esfera de Bloch no qubit, essa porta pode ser modelada como exp(iεX) e isso implicaria em:

k Y i=1 Ii|ψi = k Y i=1

exp(iεX)|ψi = cos(kε)I |ψi + isen(kε)X |ψi = cos(kε) |0i + isen(kε) |1i .

(4.2)

Nesse caso, a probabilidade de falha da porta, ou seja, de ap´os uma medi¸c˜ao o qubit ser encontrado no estado X |ψi = |1i ´e de aproximadamente (kε)2, para kε  1.

Ressalta-se que para que uma falha seja identificada ´e necess´ario realizar alguma medi¸c˜ao no circuito e, em consequˆencia, os erros passar˜ao por um processo de digitaliza¸c˜ao. O processo de medi¸c˜ao far´a com que o estado final colapse para |0i ou |1i puros, ou seja, o erro que antes levava o estado |ψi em uma superposi¸c˜ao ser´a digitalizado para o estado correto ou, com menor probabilidade, para o estado errado.

4.1.2

Intera¸

ao com o ambiente externo

Qubits s˜ao constru´ıdos a partir de sistemas quˆanticos extremamente sens´ıveis, que devem ser completamente isolados de qualquer intera¸c˜ao com o ambiente externo. Entretanto, ´e comum ocorrerem falhas no sistema que fazem com que vari´aveis externas se misturem com os qubits. Essas vari´aveis ser˜ao descritas como um estado |Ai que ´e acoplado ao estado |ψi inicial do sistema, conforme apresentado em [20].

Esse estado |Ai faz com que o estado |ψi do sistema evolua de maneira diferente ao longo da computa¸c˜ao. Por exemplo:

Se |ψi = |0i , ent˜ao |ψi |Ai = α1|0i |A1i + α2|1i |A2i ,

Se |ψi = |1i , ent˜ao |ψi |Ai = α3|1i |A3i + α4|0i |A4i

(43)

Portanto, o efeito de |Ai atuando sobre um qubit gen´erico |ψi = β0|0i + β1|1i

pode ser expresso por

|ψi |Ai = α1β0|0i |A1i + α2β0|1i |A2i + α3β1|1i |A3i + α4β1|0i |A4i . (4.4)

Esse estado pode ser reescrito como |ψi |Ai =1 2(β0|0i + β1|1i)(α1|A1i + α3|A3i) +1 2(β0|0i − β1|1i)(α1|A1i − α3|A3i) +1 2(β0|1i + β1|0i)(α2|A2i + α4|A4i) +1

2(β0|1i − β1|0i)(α2|A2i − α4|A4i).

(4.5)

que com aux´ılio das portas de Pauli resultam em |ψi |Ai =1 2(|ψi)(α1|A1i + α3|A3i) +1 2(Z |ψi)(α1|A1i − α3|A3i) +1 2(X |ψi)(α2|A2i + α4|A4i) +1 2(XZ |ψi)(α2|A2i − α4|A4i). (4.6)

Portanto, quando o qubit sofre influˆencia do ambiente externo ´e como se ele esti-vesse suscet´ıvel a erros do tipo X (bit flip), Z (phase flip) ou uma combina¸c˜ao de ambos, pois, XZ = -iY.

Logo, para que o c´odigo seja capaz de corrigir um erro aleat´orio no sistema, causado tanto pela intera¸c˜ao com o ambiente externo quanto pela aplica¸c˜ao de portas imperfeitas, basta ele ser capaz de corrigir erros do tipo X, Z e XZ. Al´em disso, foi visto nas duas ´

ultimas subse¸c˜oes que os erros transformam o estado |ψi de forma cont´ınua, levando-o `

a uma superposi¸c˜ao de estados |ψi com os operadores I, X, Z e XZ aplicados. Por´em, antecipa-se que os c´odigos de corre¸c˜ao e detec¸c˜ao de erro utilizam medi¸c˜oes de s´ındromes para descobrir erros do sistema. A medi¸c˜ao utilizada para digitalizar os erros, descrita ao final da Subse¸c˜ao 4.1.1, ´e uma medi¸c˜ao de s´ındrome. O ato de medir a s´ındrome faz com que essa superposi¸c˜ao colapse para apenas um dos estados |ψi, com apenas um dos operadores de Pauli aplicados. Ser´a visto nas pr´oximas se¸c˜oes que essa medi¸c˜ao de s´ındrome n˜ao coleta nenhuma informa¸c˜ao sobre os valores do estado |ψi, apenas sobre um poss´ıvel erro. Assim, ela n˜ao afeta a superposi¸c˜ao ’interna’ do estado |ψi e, por isso, n˜ao afeta o resultado da computa¸c˜ao.

(44)

31 Um exemplo de medi¸c˜ao de s´ındrome pode ser visto na Figura 4.1, onde o erro gerado pela porta E leva o estado |0i em uma superposi¸c˜ao, de forma an´aloga ao processo mostrado na Equa¸c˜ao 4.2 e a s´ındrome ´e medida no terceiro qubit do circuito.

|0i E •

|+i |s1i = |0i

Figura 4.1: Medi¸c˜ao de s´ındrome.

O estado dos qubits ap´os a porta CNOT ´e |ψiout = cos(kε)[|000i + |010i] + isen(kε)[|100i + |110i]. Pode-se notar que, ap´os a medi¸c˜ao do terceiro qubit, esse es-tado ´e colapsado para cos(kε)[|000i + |010i], caso a s´ındrome seja medida como zero ou isen(kε)[|101i + |111i] caso ela seja medida como um. Isso mostra como a sua medi¸c˜ao permite que o erro seja detectado sem que a superposi¸c˜ao do estado seja completamente destru´ıda.

Por fim, existem outros tipos de erro como vazamento ou perda de qubit. Esses erros implicam que o qubit n˜ao perde apenas informa¸c˜ao sobre o seu estado, mas tamb´em deixa de ser um simples qubit. Por exemplo, no vazamento de qubit um estado pode passar a ser do tipo |ψi = α |0i + β |1i + γ |2i. Se o sistema for capaz de detectar esse vazamento ou a perda do qubit, esse qubit pode ser reinicializado no estado |0i e, em seguida, esse erro pode ser tratado da mesma forma que os erros mostrados anteriormente.

4.2

odigo de 9 qubits de Shor

Como j´a mencionado anteriormente, c´odigos de corre¸c˜ao de erro desempenham um papel fundamental na computa¸c˜ao quˆantica. Sem os mesmos a computa¸c˜ao quˆantica prova-velmente n˜ao seria poss´ıvel. Nesta se¸c˜ao ser´a visto o primeiro e mais simples c´odigo de corre¸c˜ao de erro, desenvolvido por Peter Shor no ano de 1995. Este c´odigo utiliza 9 qubits para proteger um qubit de erros do tipo X, Z ou ambos, podendo ser dividido em duas partes, em que uma delas ´e respons´avel por corrigir erros de bit flip e a outra por proteger erros de phase flip. Cada subse¸c˜ao a seguir explica uma parte do c´odigo.

(45)

4.2.1

odigo de 3 qubits para bit flip

A parte inicial do c´odigo de Shor ´e necess´aria para proteger um qubit de at´e um erro de bit flip, corrigindo-o caso aconte¸ca. Para isso um c´odigo de repeti¸c˜ao de trˆes qubits ´e utilizado e os qubits s˜ao codificados da seguinte maneira:

|0iL= |000i |1iL= |111i ,

(4.7)

onde |0iL e |1iL s˜ao os qubits l´ogicos, compostos pela repeti¸c˜ao de trˆes qubits f´ısicos. O circuito para a codifica¸c˜ao desses estado est´a mostrado na Figura 4.2.

|ψi = (α |0i + β |1i) •

|0i • |ψicod = α |000i + β |111i

|0i

Figura 4.2: Codifica¸c˜ao de trˆes qubits para bit flip

A corre¸c˜ao de erros a partir desse estado codificado pode ser feita atrav´es da medi¸c˜ao da s´ındrome de erro, seguida da aplica¸c˜ao da porta U, conforme mostrado na Figura 4.3. Erro • • U |ψicod •            |s1i = |0i • |s2i = |0i •

Figura 4.3: Corre¸c˜ao do erro de bit flip.

Na Figura 4.3 o estado |ψicod passa por um canal sujeito `a erros de bit flip. Em seguida, a s´ındrome de erro ´e calculada empregando-se dois qubits auxiliares. Por fim, os qubits da s´ındrome s˜ao medidos e utilizados para controlar de maneira cl´assica uma porta U que efetua a corre¸c˜ao por decis˜ao majorit´aria e atua de acordo com os seguintes

(46)

33 valores de s´ındrome:

Se, s1s2 = 00, ent˜ao aplica-se I ⊗ I ⊗ I nos trˆes qubits codificados

Se, s1s2 = 01, ent˜ao aplica-se I ⊗ I ⊗ X nos trˆes qubits codificados

Se, s1s2 = 10, ent˜ao aplica-se I ⊗ X ⊗ I nos trˆes qubits codificados

Se, s1s2 = 11, ent˜ao aplica-se X ⊗ I ⊗ I nos trˆes qubits codificados

(4.8)

Neste e nos pr´oximos casos at´e a se¸c˜ao 4.4, considera-se que os erros est˜ao concen-trados em certa regi˜ao do circuito e que as portas utilizadas no circuito de codifica¸c˜ao e corre¸c˜ao de erros s˜ao perfeitas. Por´em, as t´ecnicas de tolerˆancia `a falhas e alguns ajustes nos circuitos, permitir˜ao a ocorrˆencia de erros espalhados pelo sistema.

4.2.2

odigo de trˆ

es qubits para phase flip

Para proteger um qubit de at´e um erro do tipo phase flip ´e necess´ario perceber que esse tipo de erro, atuando sobre a base de Hadamard, ´e an´alogo `a um bit flip. Ou seja:

Z |+i = Z√1

2(|0i + |1i) = 1 √

2(|0i − |1i) = |−i . (4.9)

Isso mostra que ´e poss´ıvel detectar um erro do tipo Z codificando um qubit na base de Hadamard. Logo, para ser poss´ıvel corrigir erros de phase flip, a seguinte codifica¸c˜ao por repeti¸c˜ao ´e empregada:

|0iL = |+ + +i |1iL = |− − −i .

(4.10)

Assim, o circuito para codifica¸c˜ao e corre¸c˜ao de phase flip ´e feito de maneira similar aos respectivos circuitos para erro de bit flip, por´em na base de Hadamard. A sua estrutura pode ser vista a seguir:

Referências

Documentos relacionados

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Nesse mesmo período, foi feito um pedido (Processo do Conjunto da Avenida Rio Branco, no Rio de Janeiro nº 860-T-72) pelo Instituto dos Arquitetos do Brasil e pelo Clube de

Quando conheci o museu, em 2003, momento em foi reaberto, ele já se encontrava em condições precárias quanto à conservação de documentos, administração e organização do acervo,

F REQUÊNCIAS PRÓPRIAS E MODOS DE VIBRAÇÃO ( MÉTODO ANALÍTICO ) ... O RIENTAÇÃO PELAS EQUAÇÕES DE PROPAGAÇÃO DE VIBRAÇÕES ... P REVISÃO DOS VALORES MÁXIMOS DE PPV ...

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.

For additional support to design options the structural analysis of the Vila Fria bridge was carried out using a 3D structural numerical model using the finite element method by

F I G U R E 1   Schematic representation of the experiment undertaken to test different routes of oestradiol benzoate administration for cervical dilation prior to