Notas em Matemática Aplicada 8



Documentos relacionados
Exercícios Teóricos Resolvidos

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

Conceitos Fundamentais

Aula 2 Modelo Simplificado de Computador

a 1 x a n x n = b,

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

PARTE 2 FUNÇÕES VETORIAIS DE UMA VARIÁVEL REAL

Somatórias e produtórias

2. Representação Numérica

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

4.2 Produto Vetorial. Orientação sobre uma reta r

Dadas a base e a altura de um triangulo, determinar sua área.

Potenciação no Conjunto dos Números Inteiros - Z

1 Módulo ou norma de um vetor

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 3

Movimentos Periódicos: representação vetorial

Resolução de sistemas lineares

6. Geometria, Primitivas e Transformações 3D

Análise de Arredondamento em Ponto Flutuante

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Só Matemática O seu portal matemático FUNÇÕES

Capítulo 1. x > y ou x < y ou x = y

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 4

Circuitos Digitais. Engenharia de Automação e Controle Engenharia Elétrica. São Paulo Prof. José dos Santos Garcia Neto

APLICAÇÕES DE NÚMEROS COMPLEXOS

Aplicações de Combinatória e Geometria na Teoria dos Números

Objetivos. Apresentar as superfícies regradas e superfícies de revolução. Analisar as propriedades que caracterizam as superfícies regradas e

9. Derivadas de ordem superior

Unidade: Vetores e Forças. Unidade I:

Vetores. Definição geométrica de vetores

REPRESENTAÇÃO FASORIAL DE SINAIS SENOIDAIS

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Funções Lógicas e Portas Lógicas

Disciplina: Introdução à Álgebra Linear

Åaxwell Mariano de Barros

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

GAAL /1 - Simulado - 1 Vetores e Produto Escalar

Arquitetura de Rede de Computadores

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Notas de Cálculo Numérico

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

Aula 8 Circuitos Integrados

5 Equacionando os problemas

Álgebra Linear. Mauri C. Nascimento Departamento de Matemática UNESP/Bauru. 19 de fevereiro de 2013

O método de Monte Carlo: algumas aplicações na Escola Básica

Números Complexos. Capítulo Unidade Imaginária. 1.2 Números complexos. 1.3 O Plano Complexo

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Sistemas de Numerações.

Construção de tabelas verdades

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

APLICAÇÕES DA DERIVADA

Hoje estou elétrico!

Fórmula versus Algoritmo

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA

Um capacitor é um sistema elétrico formado por dois condutores separados por um material isolante, ou pelo vácuo.

Conceitos e fórmulas

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

ULA Sinais de Controle enviados pela UC

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Leitura e interpretação de gráficos: Cada vez mais os vestibulares exigem essa competência

Conjuntos numéricos. Notasdeaula. Fonte: Leithold 1 e Cálculo A - Flemming. Dr. Régis Quadros

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Modelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello 1

REFLEXÃO DA LUZ: ESPELHOS 412EE TEORIA

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

PROPRIEDADES DOS DETERMINANTES E O CÁLCULO DA ÁREA DE TRIÂN- GULOS: EXEMPLOS SIGNIFICATIVOS

Aritmética Binária e. Bernardo Nunes Gonçalves

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

LEI DE OHM LEI DE OHM. Se quisermos calcular o valor da resistência, basta dividir a tensão pela corrente.

Qual é Mesmo a Definição de Polígono Convexo?

Capítulo 04. Geradores Elétricos. 1. Definição. 2. Força Eletromotriz (fem) de um Gerador. 3. Resistência interna do gerador

UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO. Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014.

O degrau de potencial. Caso II: energia maior que o degrau

SISTEMAS DE NUMERAÇÃO

ficha 3 espaços lineares

Computadores XXI: Busca e execução Final

1.1. Organização de um Sistema Computacional

Prof. Rafael Gross.

Vetores Lidando com grandezas vetoriais

Organização e Arquitetura de Computadores I

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

A ideia de coordenatização (2/2)

3 Sistemas de Numeração:

CAPACITORES. Vestibular1 A melhor ajuda ao vestibulando na Internet Acesse Agora!

Transcrição:

Notas em Matemática Aplicada 8 Editado por Eliana XL de Andrade Universidade Estadual Paulista - UNESP São José do Rio Preto, SP, Brasil Rubens Sampaio Pontifícia Universidade Católica do Rio de Janeiro Rio de janeiro, RJ, Brasil Geraldo N Silva Universidade Estadual Paulista - UNESP São José do Rio Preto, SP, Brasil Sociedade Brasileira de Matemática Aplicada e Computacional

Notas em Matemática Aplicada 1 Restauração de Imagens com Aplicações em Biologia e Engenharia Geraldo Cidade, Antônio Silva Neto e Nilson Costa Roberty Fundamentos, Potencialidades e Aplicações de Algoritmos Evolutivos Leandro dos Santos Coelho 3 Modelos Matemáticos e Métodos Numéricos em Águas Subterrâneas Edson Wendlander 4 Métodos Numéricos para Equações Diferenciais Parciais Maria Cristina de Castro Cunha e Maria Amélia Novais Schleicher 5 Modelagem em Biomatematica Joyce da Silva Bevilacqua, Marat Rafikov e Cláudia de Lello Courtouke Guedes 6 Métodos de Otimização Randômica: algoritmos genéticos e simulated annealing" Sezimária F Pereira Saramago 7 Matemática Aplicada à Fisiologia e Epidemiologia HM Yang, R Sampaio e A Sri Ranga

iii 8 Uma Introdução à Computação Quântica Renato Portugal, Carlile Campos Lavor, Luiz Mariano Carvalho e Nelson Maculan 9 Modelos Matemáticos baseados em automatas celulares para Geoprocessamento Marilton Aguiar, Fábia Amorim da Costa, Graçaliz Pereira Dimuro e Antônio Carlos da Rocha Costa 1 Computabilidade: os limites da Computação Regivan Santiago e Benjamín René Callejas 11 Modelagem Multiescala em Materiais e Estruturas Fernando Rochinha 1 Modelagem em Biomatemática 1 - Modelagem de distribuição de espécies" - Redes complexas e aplicações nas Ciências" 3 - Possíveis níveis de complexidade na modelagem de sistemas biológicos" Coraci Malta, 1 - Rafael Luis Fonseca, - Jose Carlos Mombach e 3 - Henrique Lenzi 13 A lógica na construção dos argumentos Angela Cruz

UMA INTRODUÇÃO À COMPUTAÇÃO QUÂNTICA Renato Portugal - LNCC portugal@lnccbr Carlile Campos Lavor - UERJ carlile@imeuerjbr Luiz Mariano Carvalho - UERJ luizmc@imeuerjbr Nelson Maculan - UFRJ maculan@cosufrjbr Sociedade Brasileira de Matemática Aplicada e Computacional São Carlos - SP, Brasil 4

v Coordenação Editorial: Geraldo Nunes Silva Coordenação Editorial da Série: Geraldo Nunes Silva Editora: SBMAC Impresso na Gráfica: Capa: Matheus Botossi Trindade Patrocínio: SBMAC Copyright c 4 by Renato Portugal, Carlile Campos Lavor, Luiz Mariano Carvalho and Nelson Maculan Direitos reservados, 4 pela SBMAC A publicação nesta série não impede o autor de publicar parte ou a totalidade da obra por outra editora, em qualquer meio, desde que faça citação à edição original Catalogação elaborada pela Biblioteca do IBILCE/UNESP Portugal, Renato Uma Introdução à Computação Quântica - São Carlos, SP : SBMAC, 4 (?), p - (Notas em Matemática Aplicada; 8) ISBN 1 Computação Quântica Algoritmos Quânticos 3 Circuitos Quânticos I Portugal, Renato II Lavor, Carlile Campos III Carvalho, Luiz Mariano IV Maculan, Nelson V Título VI Série AMS 94A8/68U1

Prefácio Apresentamos um estudo introdutório à computação quântica Esse é um domínio recente que combina três áreas bem conhecidas: matemática, física e computação Vamos nos concentrar em aspectos matemáticos da computação quântica Apesar de desejável, nenhum conhecimento prévio sobre física ou computação é necessário Quanto à matemática, a principal exigência é um curso básico de álgebra linear O texto está dividido em quatro capítulos No Capítulo 1, fazemos uma breve exposição sobre computadores clássicos (Seção 11) e apresentamos os conceitos básicos usados no texto (Seção 1) Comparamos, rapidamente, computadores clássicos e quânticos na Seção 11 (essa discussão será mais útil para aqueles com algum conhecimento de computação) A Seção 1 é fundamental para todo o livro e deverá ser consultada constantemente No Capítulo, descrevemos alguns dos circuitos quânticos que serão utilizados nos capítulos seguintes Nos Capítulos 3 e 4, cremos, está a nossa principal contribuição: produzir um texto em português que estimule o estudante de graduação, em qualquer área de ciências exatas, a estudar o assunto Nesses capítulos, descrevemos os dois algoritmos mais divulgados em computação quântica: o algoritmo de Grover (Capítulo 3) e o algoritmo de Shor (Capítulo 4) O quarto capítulo é denso e, por isso, exigirá uma leitura mais atenta No entanto, o texto tem todas as definições e referências necessárias para a compreensão desse algoritmo fundamental Existem ótimos livros sobre o assunto em língua inglesa (veja a bibliografia) O mais famoso, já um clássico, é o livro de Michael A Nielsen e Isaac LChuang [16] Uma tradução para a língua portuguesa está sendo concluída pelo Prof Ivan dos Santos Oliveira Júnior, do Centro Brasileiro de Pesquisas Físicas (CBPF) Para futuras edições melhoradas de nosso trabalho, gostaríamos de receber críticas e sugestões por parte dos leitores Finalmente, agradecemos o apoio da Sociedade Brasileira de Matemática Aplicada e Computacional (SBMAC), do Programa Institutos do Milênio (Informação Quântica), da FAPERJ, do CNPq e, em particular, ao Prof Rubens Sampaio, pelo incentivo Os Autores Rio de Janeiro, 1 de junho de 4 vi

vii

Conteúdo 1 Conceitos Básicos 11 O Computador Clássico 1 O Computador Quântico 5 11 O bit quântico (q-bit) 5 1 Produto tensorial 9 13 Produtos interno e externo 1 Circuitos Quânticos 15 1 Notação e Convenções 15 Porta NOT Quântica 16 3 Porta Hadamard 17 4 Porta de Fase ou Porta S 18 5 Porta π/8 ou Porta T 18 6 Porta CNOT Quântica 19 7 Porta Toffoli Quântica 3 Algoritmo de Grover 3 31 Introdução 3 3 Operadores do Algoritmo 4 33 Custo Computacional do Algoritmo 33 34 Exemplo: N=8 38 35 Circuitos Quânticos para o Operador G 4 351 Circuito quântico para o operador U f 41 35 Circuito quântico para o operador ψ ψ I 41 4 Algoritmo de Shor 43 41 Redução da Fatoração ao Cálculo de Ordem 43 4 Algoritmo Quântico para o Cálculo de Ordem 44 43 A Transformada de Fourier Quântica Discreta 47 44 Generalização por meio de um Exemplo 5 45 Transformada de Fourier em termos de Portas Universais 54 Bibliografia 6

Capítulo 1 Conceitos Básicos 11 O Computador Clássico Um computador clássico pode ser descrito de forma bastante genérica como uma máquina que lê um certo conjunto de dados, codificado em zeros e uns, executa cálculos e gera uma saída também codificada em zeros e uns Zeros e uns são estados que podem ser representados fisicamente No caso dos computadores clássicos, através do potencial elétrico: é um estado de baixo potencial elétrico e 1 é um estado de alto potencial elétrico Zeros e uns formam um número binário que pode ser convertido para a base decimal Pensemos, então, num computador como um dispositivo que calcula uma função f : {,,N 1} {,,N 1}, onde N = n (n é o número de bits usados na memória do computador) Sem perda de generalidade, consideremos que o domínio e a imagem de f são do mesmo tamanho A cada conjunto de n bits de entrada, corresponde um único conjunto de n bits de saída, o que caracteriza f como uma função Representamos o processo de cálculo na Figura 11, onde à esquerda, temos os bits de entrada e à direita, os de saída (o processo de cálculo ocorre da esquerda para a direita) Em geral, f é descrita por blocos elementares que podem ser implementados fisicamente por transistores e outros componentes eletrônicos Os blocos são as portas lógicas AND, OR e NOT, conhecidas como portas universais (na verdade, basta apenas a porta NOT e uma das duas outras portas, OR ou AND) Por exemplo, um exemplo de circuito que realiza a soma em aritmética módulo de dois números, cada um com um bit, é apresentado na Figura 1 As entradas possíveis são, 1, 1 ou 11 As entradas são produzidas através de diferenças de potencial elétrico que geram corrente elétrica Por sua vez, a corrente se propaga através dos fios, da esquerda para a direita, ativando as portas lógicas Os símbolos de medida, à direita, representam que medidas de corrente são realizadas, indicando o valor de cada bit: ou 1 O bit, na posição inferior, dá o resultado da operação O fio para o bit da posição superior é desnecessário, sendo utilizado apenas para exibir a mesma quantidade de bits de entrada e saída

11 O COMPUTADOR CLÁSSICO 3 bit bit bit 1 bit 1 f bit n 1 bit n 1 Figura 11: Esquema genérico para um computador clássico AND OR NOT OR NOT Figura 1: Circuito para realizar a soma de dois números, em aritmética módulo, cada um com um bit O circuito da Figura 1 é irreversível, pois as portas AND e OR são irreversíveis Isso significa, no caso da porta AND, que se a saída for, não se sabe quais os valores dos dois bits de entrada Para a porta OR, ocorre o mesmo, caso a saída seja 1 As portas AND e OR, descritas dessa forma, não podem ser representadas por portas quânticas, pois como veremos, são reversíveis No entanto, o circuito apresentado na Figura 1 pode ser transformado em um equivalente reversível Para tanto, vamos utilizar a porta CNOT, representada na Figura 13 O valor do bit superior (chamado bit de controle) nunca muda nessa porta, enquanto que o bit inferior (chamado bit alvo) é alterado apenas se a = 1 Se a =, nada acontece a ambos os bits (no caso quântico, que será visto adiante, o comportamento é bem diferente) A porta CNOT é uma porta NOT, controlada pelo valor do bit superior Podemos verificar que o valor do bit inferior de saída é dado por a + b (mod )

11 O COMPUTADOR CLÁSSICO 4 a a b a + b (mod ) Figura 13: Porta CNOT Generalizando a porta CNOT, usando dois bits de controle no lugar de apenas um, temos a porta Toffoli (Figura 14), que pode ser usada para obter a contrapartida reversível da porta AND a b a b c c + ab (mod ) Figura 14: Porta Toffoli O valor do bit inferior (o bit alvo) é invertido apenas se a e b valem 1 Caso contrário, nada é alterado A seguir, descrevemos todas as possíveis entradas e as saídas correspondentes: 1 1 1 1 11 11 1 1 11 11 11 111 111 11 A porta AND pode ser representada por uma porta Toffoli colocando c = A saída do bit inferior será, então, a AND b Para obter o equivalente reversível para a porta OR, consulte [16] Ainda na Figura 1, observe que há uma bifurcação de fios e não há problema algum em fazê-lo classicamente Entretanto, isso não é possível em circuitos quânticos, devido ao teorema de não clonagem (veja [19], p 16) Verifique que esse efeito pode ser obtido através de uma porta CNOT, colocando b = Com isso, o valor do bit superior será duplicado Consideremos, novamente, a Figura 11 Se o computador tem n bits de entrada, há n entradas possíveis, e, para cada uma delas, há também n saídas possíveis

1 O COMPUTADOR QUÂNTICO 5 Com isso, o número de funções que pode ser obtido é ( n ) n, ou seja, nn Todas essas funções podem ser reduzidas a circuitos usando as portas universais [16, 18] Uma questão fundamental é a velocidade com que um computador calcula essas funções Isso dependerá do número de portas usadas no circuito que calcula f Se o número de portas cresce polinomialmente com n, dizemos que o circuito é eficiente Por outro lado, se o número de portas cresce exponencialmente com n, dizemos que o circuito é ineficiente Esse é um método grosseiro de medida de eficiência, mas útil para a análise teórica quando n é grande Todos os cálculos realizados em um computador clássico também podem ser efetuados em computadores quânticos Basta substituirmos as portas irreversíveis clássicas pelas homólogas reversíveis quânticas Entretanto, o atrativo da computação quântica é a possibilidade de se ter algoritmos quânticos mais rápidos que os clássicos, para uma mesma classe de problemas Para tanto, os algoritmos quânticos devem usar propriedades quânticas, não disponíveis nos computadores clássicos, como o paralelismo quântico e o emaranhamento 1 O Computador Quântico 11 O bit quântico (q-bit) Em computação quântica, utilizam-se estados quânticos em vez de estados clássicos O bit é, então, substituído pelo bit quântico, o q-bit, e os valores e 1 de um bit são substituídos pelos vetores e 1, representados por = [ 1 ] e 1 = Essa notação, utilizada em mecânica quântica, é conhecida por notação de Dirac A diferença entre um bit e um q-bit é que um q-bit genérico ψ pode também ser uma combinação linear dos vetores e 1, ou seja, [ 1 ] ψ = α + β 1, (11) onde α e β são números complexos Note que os vetores e 1 formam uma base ortonormal do espaço vetorial C Essa base é chamada de base computacional e o vetor ψ é chamado de superposição dos vetores e 1, com amplitudes α e β Em mecânica quântica, vetor é também chamado de estado Usaremos os dois termos com o mesmo significado A interpretação física do q-bit, em (11), é que ele está simultaneamente nos estados e 1 Isso faz com que a quantidade de informação que pode ser armazenada no estado ψ seja infinita Entretanto, essa informação está no nível quântico Para torná-la acessível, no nível clássico, precisamos fazer uma medida A mecânica quântica diz que o processo de medida altera o estado de um q-bit, fazendo-o assumir o estado, com probabilidade α, ou o estado 1, com probabilidade β (isso significa que os valores α e β não podem ser conhecidos através

1 O COMPUTADOR QUÂNTICO 6 de uma medida) Com apenas duas possibilidades, ou 1, temos, então, α + β = 1 (1) Isso significa que a norma do vetor ψ vale 1 (vetor unitário) Resumindo: matematicamente, um q-bit é um vetor de norma 1 de C Na verdade, a definição da base computacional deveria ser = [ (1,) (,) ] e 1 = [ (,) (1,) pois todas as coordenadas são números complexos Para simplificar a notação, usaremos 1 para representar (1,) e para representar (,) Na equação (1), considere α = a + ib (a,b R) e β = c + id (c,d R) Como α = ( a + b ) e β = ( c + d ), podemos escrever ], a + b + c + d = 1 (13) Nesse caso, podemos interpretar um q-bit como sendo um vetor unitário de R 4 Entretanto, existe uma representação geométrica de um q-bit em R 3 : a esfera de Bloch (Figura 15) Para tanto, passemos o q-bit ψ = α + β 1, (14) de coordenadas cartesianas para coordenadas polares (como anteriormente, α = a + ib e β = c + id (a,b,c,d R)) Usando as representações polares de α e β, α = α exp(iγ) e β = β exp(i(γ + ϕ)), e definindo ou ainda cos(θ/) = α e sen(θ/) = β, θ = arccos( a + b ) = arcsen( c + d ), ϕ = arg(β) arg(α), γ = arg(α), (15) podemos, finalmente, escrever ψ = exp(iγ)[cos(θ/) + exp(iϕ) sen(θ/) 1 ] (16) Exercício 11 Usando as definições dadas em (15), demonstre que a expressão (14) pode ser escrita na forma (16)

1 O COMPUTADOR QUÂNTICO 7 Para fins de representação, vamos desconsiderar o termo externo aos colchetes, exp(iγ), também chamado fator de fase global Uma razão que permite essa simplificação é que o valor do quadrado do módulo das amplitudes de um q-bit não se altera, quando excluímos esse fator Por exemplo: α = exp(iγ)cos(θ/) = exp(iγ) cos(θ/) = cos(θ/), o mesmo ocorrendo com β (para um tratamento detalhado desse fato, consulte [16], p 93) Ficamos, então, com uma representação de três parâmetros: dois explícitos, θ e ϕ, e um implícito, o comprimento do vetor, que é sempre igual a um Esses parâmetros podem ser utilizados para obtermos uma representação polar no R 3, da forma x cos ϕsen θ y = sen ϕsen θ, z cos θ onde θ π e ϕ < π Usando essas convenções, a representação da base computacional, na esfera de Bloch (Figura 15), será: = e 1 = 1 1 Ou seja, será o pólo norte da esfera e 1 será seu pólo sul z ψ θ x ϕ y 1 Figura 15: Esfera de Bloch

1 O COMPUTADOR QUÂNTICO 8 Dessa forma, todos os estados de um q-bit podem ser representados (a menos de um fator multiplicativo) na esfera de Bloch Por exemplo, os estados 1 ( + 1 ) e 1 ( 1 ), que serão utilizados mais à frente, são representados por (1,, ) e (-1,, ), respectivamente Exercício 1 Dê uma interpretação, em termos de amplitudes e probabilidades, para os estados representados na interseção entre o plano (x, y, ) e a esfera de Bloch Insistimos que não se pode calcular exatamente os valores de α ou β, em (14), mesmo que haja uma grande quantidade de estados ψ de mesmo valor Vejamos por quê Após serem feitas repetidas medidas dos estados com valores iguais a ψ, teremos apenas os resultados ou 1 Através da quantidade de s e 1 s encontrados, teremos um valor aproximado para os valores α e β Não podemos garantir sua exatidão, pois trata-se de probabilidades E mais, se para sabermos o valor dos coeficientes de um simples q-bit, com uma precisão razoável, precisássemos de um número enorme de medidas repetidas de q-bits com mesmo valor, provavelmente haveria pouco interesse em computadores quânticos Essa seria uma situação paradoxal, pois apenas medindo estados que forneçam os resultados ou 1, não ultrapassaríamos os marcos da computação clássica Ou seja, apesar da quantidade infinita de informação que um q-bit guardaria em potencial, apenas dois valores seriam acessados por nós No entanto, há outro tipo de fenômeno que ocorre com um estado quântico, além daquele ocasionado por sua medida A mecânica quântica também nos diz que a evolução no tempo de um sistema quântico isolado é descrita matematicamente por uma transformação linear [16] Ora, sistemas quânticos isolados são descritos por vetores unitários, e, como sabemos da álgebra linear, as funções que transformam vetores unitários em vetores unitários do mesmo espaço vetorial são as transformações unitárias Transformações lineares unitárias U podem ser definidas (há outras definições equivalentes) como aquelas que atendam à seguinte propriedade: U U = UU = I, onde U =(U ) T, com indicando a conjugação complexa, e T indicando a transposição matricial U é denominada transformação adjunta de U Desse ponto em diante, faremos referência indistintamente à transformação U e à matriz que a representa usando a mesma notação, salvo indicação explícita Usaremos, também, o termo operador com esse mesmo significado Com isso, quando escrevermos U ψ, estaremos falando tanto da aplicação de U, quanto da multiplicação da matriz U pelo estado ψ Resumindo: temos, então, duas interações básicas de um computador quântico com os dados de entrada: transformação unitária e medida A primeira, atuando no nível quântico, e a segunda, fazendo a ligação entre o mundo quântico e o clássico

1 O COMPUTADOR QUÂNTICO 9 1 Produto tensorial Para considerarmos estados com mais de um q-bit, precisamos introduzir o conceito de produto tensorial Há vários graus de generalidade para a introdução dessa definição Usaremos, aqui, a mais simples e que será plenamente suficiente para os nossos propósitos O produto tensorial de dois estados ψ = ψ 1 ψ e ϕ = ϕ 1 ϕ, ψ m ϕ p denotado por ψ ϕ, tem como resultado o estado χ com mp-linhas, dado por χ = ψ 1 ϕ 1 ψ 1 ϕ ψ 1 ϕ p ψ ϕ 1 ψ ϕ ψ ϕ p ψ m ϕ 1 ψ m ϕ ψ m ϕ p, (17) onde ψ i ϕ j é o produto usual dos complexos Usaremos, também, outras notações mais simplificadas para o produto tensorial ψ ϕ São elas: ψ ϕ, ψ, ϕ e ψϕ Por exemplo: e 1 = 1 = 1 = 1 = [ ] 1 [ ] 1 [ ] = 1 [ ] 1 = 1 1

1 O COMPUTADOR QUÂNTICO 1 Note que o produto tensorial não é comutativo O produto tensorial pode ser estendido para matrizes quaisquer Dadas as matrizes A C m n e B C p q, a matriz A B C mp nq é definida por A 11 B A 1 B A 1n B A 1 B A B A n B A B =, (18) A m1 B A m B A mn B onde A ij é o elemento da linha i e da coluna j de A De forma mais precisa, porém mais criptográfica, cada elemento da matriz A B é definido por (A B) rs = A ij B kl, (19) onde r = (i 1)p + k e s = (j 1)q + l, com os índices variando da seguinte forma: 1 i m, 1 j n, 1 k p, 1 l q Por exemplo, se então A B = A = [ 1 1 [ 1 1 ] ] e B = 1 1 1 = 1 1 1, 1 1 1 1 1 1 A seguir, damos algumas propriedades do produto tensorial que serão utilizadas ao longo do texto (considere z C, v, v 1, v C n e w, w 1, w C m ): 1 z( v w ) = (z v ) w = v (z w ), ( v 1 + v ) w = ( v 1 w ) + ( v w ), 3 v ( w 1 + w ) = ( v w 1 ) + ( v w ) Exercício 13 Demonstre as propriedade 1, e 3 do produto tensorial Dadas duas transformações lineares A e B, podemos definir um novo operador linear, A B, por (A B)( u w ) = A u B v, (11) desde que garantidas as dimensões corretas para possibilitar as multiplicações das matrizes pelos vetores Ainda, introduzindo mais algumas notações, diremos que ψ n e A n são os produtos tensoriais de ψ, por ele próprio n vezes, e de A, por ela própria n vezes, respectivamente

1 O COMPUTADOR QUÂNTICO 11 Vejamos, agora, a descrição de um estado genérico ψ de q-bits Esse será uma superposição dos estados, 1, 1 e 11 (estamos usando a notação simplificada para o produto tensorial entre dois estados de 1 q-bit), ou seja, onde ψ = α + β 1 + γ 1 + δ 11, (111) α + β + γ + δ = 1 Visando a reduzir a notação, podemos considerar os zeros e uns que aparecem na equação (111) como números binários, e assim, podem ser abreviados por, 1, 1, 11, 1,, 3, usando a notação decimal É claro que o acima não é o mesmo que aparece na definição de um q-bit, pois têm dimensões diferentes Em cada caso, o contexto esclarecerá a que situação estamos nos referindo Em geral, um estado ψ de n q-bits é uma superposição de n estados da base computacional {, 1,, n 1 }, dada por com as amplitudes α i atendendo a ψ = n 1 α i i, n 1 i= α i = 1 i= Como havíamos comentado anteriormente, a medição do estado genérico ψ produz um resultado i com probabilidade α i, com i n 1 Usualmente, a medida é realizada q-bit a q-bit, produzindo zeros e uns que são lidos em conjunto, gerando a saída i Repetiremos, aqui, uma propriedade central do processo de medida O estado ψ, antes da medição, é inacessível, a não ser que ele pertença à base computacional O procedimento de medida altera inevitavelmente ψ, forçando-o a um colapso para algum dos vetores da base computacional Este colapso, como vimos, é não-determinístico, com probabilidades dadas pelos quadrados dos módulos das amplitudes de ψ Consideremos, agora, outro conceito fundamental em computação quântica: o emaranhamento Um estado de q-bits pode ou não ser o resultado do produto tensorial de estados de 1 q-bit Vejamos Considere os estados de 1 q-bit ϕ = a + b 1 e ψ = c + d 1,

1 O COMPUTADOR QUÂNTICO 1 onde a,b,c,d C O estado definido pelo produto tensorial de ϕ e ψ é ϕ ψ = (a + b 1 ) (c + d 1 ) = ac + ad 1 + bc 1 + bd 11 (11) Observe que um estado de q-bits genérico (111) é da forma (11) se, e somente se, Dessas igualdades, temos que Ou seja, α β = c d α = ac, β = ad, γ = bc, δ = bd e αδ = βγ γ δ = c d Logo, um estado de q-bits, em geral, não é o produto tensorial de estados de 1 q-bit Quando isso acontece, dizemos que o estado está emaranhado Por exemplo, o estado 1 pode, obviamente, ser descrito como produto tensorial dos estados e 1, isto é, No entanto, o estado [ ] 1 = 1 1 = 1 1 [ ] 1 é um estado emaranhado, pois não pode ser descrito como produto tensorial de estados de 1 q-bit 13 Produtos interno e externo Podemos definir o produto interno entre os estados ϕ, ψ C n, denotado por ϕ ψ, como sendo o produto matricial entre ϕ e ψ, ou seja, n ϕ ψ = ( ϕ ) ψ = ϕ i ψ i (113) O estado ϕ é chamado dual de ϕ e denotado por ϕ ( ϕ e ϕ são denominados ket e bra, respectivamente) O produto interno satisfaz às seguintes propriedades: i=1

1 O COMPUTADOR QUÂNTICO 13 1 ψ ϕ = ϕ ψ, ϕ (a u + b v ) = a ϕ u + b ϕ v, 3 ϕ ϕ > (se ϕ ), com a,b C e ϕ, ψ, u, v C n Exercício 14 Demonstre as propriedades 1, e 3 do produto interno A norma de um estado ϕ pode, então, ser definida por ϕ = ϕ ϕ Podemos, também, definir o produto externo entre os estados ϕ C m e ψ C n, denotado por ϕ ψ, como sendo o produto matricial de ϕ por ψ, ou seja, ϕ ψ = ϕ ( ψ ) Note que ϕ ψ é uma matriz de ordem m n Como exemplos das definições acima, considere os estados de 1 q-bit e Temos, então, para o produto interno, e ϕ = α + β 1 ψ = γ + δ 1 ϕ ψ = [ α β ] [ γ δ ϕ ψ = para o produto externo [ α β ] = α γ + β δ, ] [ γ δ ] [ αγ αδ = βγ βδ Exercício 15 Demonstre que, dados dois vetores ϕ, ψ C n, temos ], ( ψ ψ ) ϕ = ψ ϕ ψ (114) Usando o produto interno, podemos definir o ângulo θ entre dois vetores unitários ϕ, ψ R n por θ = arccos( ϕ ψ ) (115) Observe que, usando essa definição, θ [,π] Com os conceitos apresentados até aqui, podemos dar uma representação para um computador quântico (Figura 16), generalizando o computador clássico, apresentado na Figura 11 Os bits de entrada são substituídos por estados de 1 q-bit e a função f é substituída por um operador unitário U que, em geral, é o resultado da composição de vários outros operadores unitários O resultado da computação é dado pela medida de cada q-bit de saída

1 O COMPUTADOR QUÂNTICO 14 ψ 1 ψ U ou 1 ou 1 ψ n ou 1 Figura 16: Esquema genérico para um computador quântico A priori, usando n q-bits, existe a possibilidade de um número infinito de operadores unitários U, representados por matrizes com n n entradas Na prática, há que se levar os erros em conta, o que diminui o número de circuitos implementáveis Mesmo assim, os graus de liberdade são maiores que no computador clássico Cada operador U é implementado com portas formando circuitos quânticos, assunto do próximo capítulo

Capítulo Circuitos Quânticos A representação gráfica de circuitos clássicos é, de certa forma, próxima da realidade física do circuito implementado Por exemplo, linhas correspondem a fios e bifurcações significam que a corrente elétrica passa por ambos os fios Nos circuitos quânticos, os fenômenos ocorrem de outra forma, como veremos 1 Notação e Convenções Para apresentar as convenções usadas em circuitos quânticos, vamos utilizar um circuito (porta U-controlada) em que a entrada e a saída são um estado de q-bits (Figura 1) U Figura 1: Porta quântica U-controlada Entrada: pode ser o produto tensorial entre os q-bits de entrada ou um estado emaranhado (os q-bits não devem ser considerados individualmente) Linhas horizontais: as linhas que aparecem não são necessariamente fios Elas representam a evolução de um q-bit, podendo ser apenas a passagem do tempo ou, por exemplo, o deslocamento de um fóton

PORTA NOT QUÂNTICA 16 Sentido: o circuito descreve a evolução do sistema quântico no tempo, da esquerda para a direita Com isso, não há sentido em aparecer retroalimentação, que pode ocorrer em um circuito clássico Linhas verticais: o segmento vertical que aparece unindo os símbolos e U informa que o circuito atua simultaneamente nos dois q-bits A linha vertical representa o sincronismo, e não o envio de informação Portanto, não são permitidas nem junções, nem bifurcações de q-bits Controle: o símbolo indica que o q-bit representado nessa linha é um q-bit de controle, ou seja, caso esteja no estado 1, a porta U realiza a operação; caso esteja no estado, a porta U não realiza operação alguma Caso o q-bit de controle seja um estado superposto ou os q-bits estejam emaranhados, não é possível compreender o comportamento individual do q-bit de controle e do q-bit alvo Devemos considerar a ação do operador unitário, que representa todo o circuito, atuando simultaneamente nos q-bits Saída: os q-bits que compõem a saída do circuito podem ou não ser medidos Como o q-bit inferior está sendo medido (o símbolo de medida está indicado na Figura 1), o resultado será ou 1 Vistas as principais convenções, vamos apresentar algumas portas quânticas Comecemos por portas de 1 q-bit No caso clássico, há apenas uma possibilidade: a porta NOT O mesmo não ocorre nos circuitos quânticos, como veremos Antes de prosseguir, façamos uma observação A importância do estudo de portas lógicas em computação quântica baseia-se no fato de que toda matriz unitária pode ser representada por um circuito quântico de 1 q-bit e vice-versa [16] Sendo assim, a evolução no tempo de um sistema quântico isolado, dado por um q-bit, pode ser representada tanto matematicamente (por uma transformação unitária) quanto logicamente (por um circuito quântico) Porta NOT Quântica No caso clássico, a porta NOT troca o 1 por e vice-versa A generalização para o caso quântico é dada por um operador X que satisfaz X = 1 e X 1 = (1) Com isso, verifica-se facilmente que a representação matricial do operador X é dada por [ ] 1 X = 1 Exercício 1 Demonstre que X é um operador unitário

3 PORTA HADAMARD 17 Com a porta NOT quântica, temos situações sem contrapartida no caso clássico, pois, se a entrada ϕ for uma superposição dos estados e 1, a saída será ϕ = α + β 1, X ϕ = β + α 1 A porta X é apenas uma da portas de 1 q-bit, já que há infinitas matrizes unitárias 3 Porta Hadamard Uma outra porta de 1 q-bit, largamente utilizada, é a porta Hadamard H, definida pelo operador H = 1 [ ] 1 1 () 1 1 Exercício Demonstre que H é um operador unitário Aplicando H no estado, obtemos H = 1 ( + 1 ), que é uma superposição dos estados e 1, onde a probabilidade de se obter um dos estados, ao se fazer uma medida do estado H, é a mesma: 5% Aplicando o operador H em cada q-bit de um registrador com q-bits no estado, temos: Em notação decimal, H = H H ( ) 1 = ( + 1 ) ( ) 1 ( + 1 ) = 1 ( + 1 + 1 + 11 ) H = 1 ( + 1 + + 3 ) Generalizando para estados com n q-bits, obtemos: H n = (H ) n ( 1 = ( + 1 ) ) n = N 1 1 i n i= Esse resultado será importante no algoritmo de Grover (Capítulo 3)

4 PORTA DE FASE OU PORTA S 18 Exercício 3 Aplique o operador H em um estado superposto qualquer e interprete o resultado 4 Porta de Fase ou Porta S A matriz unitária associada à porta S é [ 1 S = i onde i é a unidade imaginária (i = 1) A porta S pode também ser representada por [ ] 1 S =, exp(iπ/) já que exp(iπ/) = cos(π/) + i sen(π/) = i Aplicando S em um estado genérico obtemos ], ψ = α + β 1, S ψ = α + iβ 1 Note que, se for feita uma medida do estado S ψ, as probabilidades de se obter os estados ou 1 serão as mesmas, comparadas com uma medida realizada sobre o estado ψ Isso não acontece, por exemplo, usando a porta H 5 Porta π/8 ou Porta T A matriz unitária associada à porta T é [ 1 T = exp(iπ/4) que poderia ser representada, também, na forma [ exp( iπ/8) T = exp(iπ/8) exp(iπ/8) Aplicando T em um estado genérico obtemos ψ = α + β 1, ], T ψ = α + exp(iπ/4)β 1 Também, nesse caso, se for feita uma medida do estado T ψ, as probabilidades de se obter os estados ou 1 serão as mesmas, comparadas com uma medida realizada sobre o estado ψ ]

6 PORTA CNOT QUÂNTICA 19 6 Porta CNOT Quântica Outra porta, essa atuando em estados de q-bits, é a contrapartida quântica do circuito clássico apresentado anteriormente na Figura 13 Ela tem q-bits de entrada, o de controle e o alvo (Figura ) Uma porta controlada, como já vimos (Figura 1), age dependendo do valor do q-bit de controle Ela é ativada se o q-bit de controle estiver no estado 1, e nada faz, se ele estiver no estado Essa descrição é adequada apenas quando o q-bit de controle está nos estados ou 1 Entretanto, o que distingue a porta CNOT quântica da clássica é que, na porta CNOT quântica, os q-bits alvo e de controle podem ser estados superpostos, e, além disso, os dois q-bits podem estar emaranhados Figura : Porta CNOT quântica A ação da porta CNOT pode ser caracterizada pelas transformações operadas nos elementos da base computacional associada, ou seja,, 1 1, (3) 1 11, 11 1 Note que podemos representar essa ação na base computacional de forma mais esquemática por onde i, j {,1} e é a adição módulo i,j i,i j, (4)

7 PORTA TOFFOLI QUÂNTICA Para obtermos a matriz U CNOT associada à porta CNOT, basta usarmos os valores dados em (3), isto é, 1 1 U CNOT =, U 1 CNOT = 1, U CNOT 1 =, 1 U CNOT = 1, 1 que resulta em U CNOT = 1 1 1 1 (5) Exercício 4 Demonstre que U CNOT é um operador unitário Exercício 5 Dê um exemplo de estado emaranhado produzido pela porta CNOT Um resultado importante sobre circuitos quânticos é que qualquer operador unitário pode ser representado usando portas CNOT e portas de 1 q-bit [16] Exercício 6 Demonstre que a matriz U CNOT não pode ser descrita como produto tensorial de matrizes Exercício 7 Demonstre que a porta CNOT não pode ser descrita usando portas de 1 q-bit 7 Porta Toffoli Quântica A próxima porta a ser considerada é a correspondente quântica da porta Toffoli (Figura 14) Também é uma porta controlada, só que nesse caso, com dois q- bits de controle (Figura 3) Sua ação na base computacional associada pode ser representada por i,j,k i,j,k ij, onde i, j, k {,1} e é a adição módulo Observe que, nesse caso, a base computacional possui 8 elementos

7 PORTA TOFFOLI QUÂNTICA 1 Figura 3: Porta Toffoli quântica Exercício 8 Exiba a matriz associada à porta Toffoli quântica Exercício 9 Analise se a matriz associada à porta Toffoli quântica pode ser representada pelo produto tensorial de matrizes quadradas de dimensões diferentes de 1 1 A porta Toffoli é usada para simplificar a representação de circuitos quânticos Como já sabemos, ela pode ser descrita usando portas de 1 q-bit e portas CNOT Uma representação possível é dada na Figura 4 (há outras representações [19]) T T T S H T T T T H Figura 4: Decomposição da porta Toffoli em portas de 1 q-bit e portas CNOT Exercício 1 Faça a evolução dos estados da base computacional, na representação da porta Toffoli da Figura 4 Para simplificar ainda mais a representação de circuitos quânticos, temos também a porta Toffoli generalizada (Figura 5), que será utilizada nos capítulos seguintes

7 PORTA TOFFOLI QUÂNTICA n 1 q-bits de controle q-bit alvo { Figura 5: Porta Toffoli generalizada A decomposição da porta Toffoli generalizada, em termos de portas Toffoli simples, é mostrada na Figura 6 Os n q-bits de trabalho são q-bits extras, cujas entradas são conhecidas antecipadamente São utilizados para simplificar a decomposição n 1 q-bits de controle n q-bits de trabalho q-bit alvo { Figura 6: Porta Toffoli generalizada decomposta em portas Toffoli simples Exercício 11 Analise as saídas da porta Toffoli generalizada (Figura 5) e as saídas da sua decomposição (Figura 6), considerando, na entrada, elementos da base computacional

Capítulo 3 Algoritmo de Grover 31 Introdução Considere o seguinte problema: temos uma lista não ordenada com N elementos e desejamos encontrar um elemento específico que está na lista Classicamente, deveríamos testar elemento a elemento No pior caso possível, precisaríamos realizar N testes Como veremos, usando as propriedades da mecânica quântica, a quantidade de testes necessários para a identificação do elemento procurado será proporcional a N Este resultado será obtido usando o algoritmo de Grover [1, 13] Para representar matematicamente o problema, vamos supor que a busca será realizada sobre a lista {,1,,N 1}, onde N = n para algum número natural n, e que a função f : {,1,,N 1} {,1}, definida por f(i) = { 1, se i = i,, se i i, (31) será utilizada para o reconhecimento do elemento procurado i (assumiremos que existe um único elemento i {,1,,N 1} tal que f(i) = 1) Dessa forma, o custo computacional para resolver o problema está associado ao número de vezes que a função f deve ser utilizada Imagine a função f como sendo um oráculo que está à disposição para informar se um dado elemento é ou não o elemento procurado O algoritmo de Grover utiliza dois registradores quânticos (Figura 31): o primeiro, com n q-bits, inicializado no estado, e o segundo, com 1 q-bit, inicializado no estado 1 O primeiro registrador está relacionado aos elementos da lista onde será feita a busca, enquanto que o segundo é um registrador que terá um papel fundamental, como veremos A cada elemento i da lista {,1,,N 1}, associaremos o estado i de n q-bits

3 OPERADORES DO ALGORITMO 4 3 Operadores do Algoritmo Antes da execução propriamente dita do algoritmo, o primeiro registrador é alterado para formar uma superposição de todos os estados associados aos elementos da lista Isso pode ser obtido aplicando o operador Hadamard H () em cada q-bit do primeiro registrador (Figura 31) primeiro registrador (n q-bits) H G G G H ψ ψ G ψ G ψ G k segundo { registrador (1 q-bit) 1 H Figura 31: Esquema genérico para o algoritmo de Grover (G é um operador unitário que será definido mais adiante) A superposição obtida será denotada por ψ, ou seja, ψ = 1 N 1 i (3) N Observe que aplicando n vezes o operador H, obtemos uma superposição de N = n estados com mesma amplitude Para completar a inicialização do algoritmo, o operador H também é aplicado sobre o estado inicial do segundo registrador (Figura 31) Denotando o resultado por, temos: i= = H 1 = 1 ( 1 ) (33) Já sabemos que qualquer alteração de um sistema quântico isolado (que não seja uma medida) é descrita por um operador unitário Para representar quanticamente a função f, em (31), utilizada para a identificação do elemento procurado, imaginemos, então, um operador linear U f que transforme i em f(i), onde i é o estado de n q-bits do primeiro registrador Como U f deve ser unitário, a entrada e a saída de U f devem ter a mesma dimensão Considere, então, i U f i f(i), (34) onde, na entrada e na saída, o primeiro registrador tem n q-bits e o segundo apenas 1 q-bit Usando (34), temos: { i 1, se i = i, U f ( i ) = (35) i, se i i

3 OPERADORES DO ALGORITMO 5 Ou seja, o operador U f altera o estado do segundo registrador quando o primeiro registrador representa o elemento procurado Para completar a definição, precisamos definir o valor de U f ( i 1 ) Mantendo a mesma idéia, definimos: U f ( i 1 ) = { i, se i = i, i 1, se i i (36) Com isso, U f fica bem definido, pois, sendo um operador linear, basta defini-lo nos elementos da base Note que a base é formada usando o produto tensorial Por exemplo, para uma lista com 4 elementos (o primeiro registrador terá q-bits), a base será {, 1, 1, 1 1,, 1, 3, 3 1 }, ou melhor, 1, 1, 1, 1, 1, 1, 1, 1 Exercício 31 Exiba a matriz que representa U f Para facilitar os cálculos a seguir, representaremos (35) e (36) de uma única maneira, isto é, U f ( i j ) = i j f(i), (37) onde i é o estado de n q-bits do primeiro registrador (i {, 1,,N 1}), j é o estado de 1 q-bit do segundo registrador (j {, 1}) e é a soma módulo Note que U f C (n+1 n+1) Exercício 3 Demonstre que U f é um operador unitário O operador U f foi definido para simular quanticamente o papel da função f (31) Para identificar o elemento procurado i, bastaria aplicar U f em cada estado associado aos elementos da lista e manter o segundo registrador no estado ou 1 Quando o estado do segundo registrador fosse alterado, saberíamos que o elemento buscado teria sido encontrado Neste caso, o estado do primeiro registrador seria i No entanto, isso não proporcionaria ganho algum em relação ao caso clássico, usando a função f O que vai fazer diferença é que podemos também aplicar U f em estados superpostos Vejamos O próximo passo do algoritmo é aplicar o operador U f sobre o estado ψ, resultante da inicialização (Figura 3) Ou seja, U f ( ψ ) = U f (( 1 N N 1 i= i ) )

3 OPERADORES DO ALGORITMO 6 ψ H U f H 1 H Figura 3: Aplicação do operador U f sobre o estado ψ Usando a distributividade do produto tensorial em relação à adição de vetores, ( ) N 1 1 U f ( ψ ) = U f i N Da linearidade do operador U f, U f ( ψ ) = 1 N 1 U f ( i ) N Substituindo a definição do estado, dada em (33), na expressão acima, obtemos: i= i= U f ( ψ ) = = N 1 1 ( )) 1 U f ( i ( 1 ) N i= N 1 1 ( ) 1 U f ( i i 1 ) N i= Novamente, da linearidade de U f, U f ( ψ ) = 1 N 1 1 (U f ( i ) U f ( i 1 )) N i= Da definição de U f, em (37), temos: U f ( ψ ) = = N 1 1 1 ( i f(i) i 1 f(i) ) N i= N 1 1 1 ( i ( f(i) 1 f(i) )) (38) N i=

3 OPERADORES DO ALGORITMO 7 Da definição de f, em (31), i ( f(i) 1 f(i) ) = { i ( 1 ), se i = i, i ( 1 ), se i i (39) Substituindo a expressão anterior em (38), temos: U f ( ψ ) = 1 N 1 ( ) 1 ( i ( 1 )) + 1 ( i ( 1 )) N i=,i i Novamente, da definição de, 1 U f ( ψ ) = N Ou ainda, = N 1 i=,i i i ( N 1 ) 1 ( 1) f(i) i N i= i ( ) N 1 1 U f ( ψ ) = ( 1) f(i) i (31) N Note que o estado do segundo registrador não se altera (como visto acima, isso não quer dizer que ele seja desnecessário!) O estado do primeiro registrador continua sendo uma superposição de todos os estados associados aos elementos da lista 1 Entretanto, a amplitude do elemento procurado foi alterada de N para 1 N Após a aplicação do operador U f, um fato interessante ocorreu Além da função f ter sido avaliada em todos os elementos da lista onde está sendo feita a busca, com apenas uma aplicação de U f (este fenômeno é conhecido como paralelismo quântico [16]), o estado associado ao elemento procurado foi identificado como sendo o único que teve sua amplitude alterada No entanto, essa informação só está disponível quanticamente Não adiantaria fazer uma medida do primeiro registrador, pois a probabilidade de se obter o elemento procurado é i= 1 = 1 N N Antes de prosseguirmos, consideremos a seguinte questão: a aplicação do operador U f sobre um estado qualquer, no primeiro registrador, ainda mantém o segundo registrador no estado? Vejamos

3 OPERADORES DO ALGORITMO 8 Seja i, um estado qualquer da base computacional {, 1,, N 1 } Usando as definições do operador U f e do estado, temos: ( )) 1 U f ( i ) = U f ( i ( 1 ) ( ) 1 = U f ( i i 1 ) = 1 (U f ( i ) U f ( i 1 )) = 1 ( i f(i) i 1 f(i) ) Da mesma forma que fizemos no cálculo de U f ( ψ ), obtemos: Ou seja, U f ( i ) = ( 1) f(i) i U f ( i ) = { i, se i = i, i, se i i Usando este resultado e aplicando U f sobre um vetor unitário qualquer (311) v = N 1 i=,i i α i i + α i i, gerado pelos elementos da base computacional {, 1,, N 1 }, no primeiro registrador, e mantendo o estado, no segundo registrador, temos: N 1 N 1 U f α i i + α i i = U f α i i + α i i i=,i i i=,i i = = = N 1 i=,i i α i U f ( i ) + α i U f ( i ) N 1 α i i α i i i=,i i N 1 α i i α i i (31) i=,i i Conclusão: a aplicação de U f sobre o estado v não altera o estado do segundo registrador Portanto, para simplificar os cálculos, sempre que o estado do segundo registrador for, como é o caso no algoritmo de Grover, omitiremos o segundo registrador É importante destacar que o estado é fundamental no processo de marcação do elemento procurado

3 OPERADORES DO ALGORITMO 9 Exercício 33 Verifique o que acontece se, ao aplicarmos o operador U f, o estado do segundo registrador não for o estado Voltemos ao algoritmo Com o elemento a ser buscado já identificado quanticamente, o próximo passo será aumentar a probabilidade de esse elemento ser obtido, após uma medida O novo estado do primeiro registrador será denotado por ψ 1, isto é, ψ 1 = 1 N 1 ( 1) f(i) i (313) N i= Olhando com mais cuidado o resultado da aplicação de U f sobre o estado v, em (31), podemos obter uma interpretação geométrica do efeito do operador U f sobre o primeiro registrador: a aplicação de U f sobre um vetor unitário qualquer gerado pelos elementos da base computacional {, 1,, N 1 } resulta numa reflexão desse vetor em relação ao subespaço ortogonal a i, gerado por todos os outros elementos da base computacional Para visualizar esse resultado, podemos considerar essa reflexão como uma reflexão em relação à projeção de v sobre o subespaço ortogonal a i Denotando essa projeção pelo vetor unitário u, temos: u = N 1 1 N 1 i=,i i i (314) Exercício 34 Demonstre que a projeção de ψ, definido em (3), sobre o subespaço ortogonal a i pode ser representada por N 1 u = ψ i (315) N 1 N 1 Para completar a visualização, calculemos os ângulos entre ψ e i e entre u e i Usando o produto interno, temos: ψ i = 1 N 1 i i = 1 i i = 1 (316) N N N i= e u i = N 1 1 N 1 i=,i i i i = (317) Ou seja, o ângulo entre ψ e i é menor do que π/ rad (se N é grande, o ângulo é quase π/ rad) e o ângulo entre u e i é exatamente π/ rad Usando os resultados (316), (317) e a expressão dada em (315), podemos, finalmente, obter uma representação geométrica para a ação do operador U f sobre o estado ψ, dada na Figura 33

3 OPERADORES DO ALGORITMO 3 i ψ u ψ 1 = U f ψ Figura 33: Ação de U f sobre o estado ψ Induzidos por essa representação, poderíamos, então, refletir o vetor ψ 1 em relação ao vetor ψ, para aumentar a amplitude do elemento procurado i, em relação à sua amplitude no estado ψ (Figura 34) i ψ ψ 1 = U f ψ Figura 34: Reflexão de ψ 1 em relação a ψ Uma observação importante: como todas as amplitudes dos estados envolvidos no algoritmo de Grover são números reais, o produto interno sempre resultará em

3 OPERADORES DO ALGORITMO 31 um número real Isso possibilita a comparação entre ângulos de dois pares de estados quaisquer A partir de agora, teremos em mente esse fato A projeção de ψ 1 sobre ψ é dada por ψ ψ 1 ψ Motivados pelo losango abaixo (Figura 35), vemos que o vetor resultante da reflexão de ψ 1 em relação a ψ pode ser descrito como ( ψ ψ 1 ) ψ ψ 1 (318) ψ ψ 1 ψ ψ 1 ψ 1 ψ ψ 1 ψ ψ 1 Figura 35: Reflexão de ψ 1 em relação a ψ O que desejamos é obter um novo operador que produza essa reflexão Usando a propriedade (114), podemos reescrever a expressão acima, obtendo: ( ψ ψ 1 ) ψ ψ 1 = ( ψ ψ ) ψ 1 ψ 1 = ( ψ ψ I) ψ 1 Ou seja, o operador que procuramos é ψ ψ I, (319) onde I é o operador identidade O estado resultante do primeiro registrador, após a aplicação do operador U f, em (313), pode ser reescrito como ψ 1 = ψ N i, (3) onde ψ = 1 N 1 i (31) N i=

3 OPERADORES DO ALGORITMO 3 e i é o elemento procurado Denotando por ψ G (Figura 36), o estado resultante da aplicação do operador ψ ψ I sobre ψ 1, e usando (3), obtemos: ψ G = ( ψ ψ I) ψ 1 ( = ( ψ ψ I) ψ ) i N ( ) 4 = ( ψ ψ ) ψ ψ i ψ ψ + i (3) N N Substituindo (316) em (3), temos: ψ G = N 4 N ψ + N i (33) Esse é, então, o estado do primeiro registrador após a aplicação dos operadores U f e ψ ψ I (o estado do segundo registrador permanece inalterado) A composição desses dois operadores é chamada de operador de Grover G, isto é, G = (( ψ ψ I) I)U f (34) O segundo operador identidade aparece, porque o operador ψ ψ I é aplicado apenas no primeiro registrador (Figura 36) H ψ ψ 1 ψ G U f ψ ψ I H 1 H Figura 36: Uma aplicação do operador de Grover (G) Exercício 35 Demonstre que G é um operador unitário De (33), obtemos a amplitude do estado i, após a primeira aplicação do operador G: ( )( ) N 4 1 + ( ) 3N 4 = N N N N N Por exemplo, para N = 4, a probabilidade de se obter o elemento procurado, após uma medida do estado ψ, em (31), é 5% Já a probabilidade de se obter o elemento procurado, após uma medida do estado ψ G, em (33), é 1% No

33 CUSTO COMPUTACIONAL DO ALGORITMO 33 entanto, para valores grandes de N, essa probabilidade ainda é pequena Até agora, o que podemos garantir é que, com uma aplicação do operador G, a amplitude do estado i é aumentada, em relação à sua amplitude no estado ψ E se aplicarmos novamente o operador G sobre o estado ψ G? A interpretação geométrica dos operadores U f e ψ ψ I nos induz justamente a isso (Figuras 33 e 34) 33 Custo Computacional do Algoritmo Como demonstraremos nesta seção, o estado resultante do primeiro registrador, após cada aplicação do operador G, vai se aproximando do estado i Então, para determinar o custo computacional do algoritmo de Grover, temos que calcular quantas aplicações de G serão necessárias Inicialmente, demonstraremos que a aplicação de G k (k N) produz um rotação de ψ em direção a i, de kθ rad, no subespaço gerado pelos vetores ψ e i, onde θ é o ângulo entre ψ e G ψ (Figura 37) Para facilitar a leitura, dividiremos a demostração em 4 proposições A Proposição 1 diz que G k ψ pertence ao subespaço gerado por ψ e i, para todo k N A Proposição estabelece que o ângulo entre G k ψ e G k+1 ψ também é θ, para todo k N Na Proposição 3, demonstramos que G rotaciona ψ em direção a i Finalmente, na Proposição 4, provamos que o sentido da rotação produzida quando G é aplicado sobre G k ψ, para todo k N, é o mesmo obtido quando G é aplicado sobre ψ O subespaço gerado por ψ e i será denotado por Ω e o estado do primeiro registrador de G k ψ será denotado por ψ G k O estado do segundo registrador ( ) será omitido, pois ele é constante durante todo o processo i θ G 3 ψ θ θ G ψ G ψ ψ Figura 37: Efeito da aplicação do operador G Proposição 1 G n ψ Ω, para todo n N

33 CUSTO COMPUTACIONAL DO ALGORITMO 34 Prova A demonstração é por indução De (33), sabemos que G ψ = N 4 N ψ + N i (35) Com isso, temos o resultado para n = 1 Suponhamos que, para um dado k N, Isto é, existem α,β R tais que Temos que provar que G k ψ Ω G k ψ = α ψ + β i (36) G k+1 ψ Ω Aplicando o operador G nos dois lados de (36), obtemos: G k+1 ψ = αg ψ + βg i (37) Já sabemos que G ψ Ω Calculemos G i Da definição de G, em (34), temos: De (311), G i = ( ψ ψ I)U f i (38) Substituindo (39) em (38) e usando (316), obtemos: U f i = i (39) G i = ( ψ ψ I) ( i ) = ψ i ψ + i = ψ + i N (33) Ou seja, G i Ω Como os estados G ψ e G i pertencem a Ω, de (37), concluímos que G k+1 ψ Ω, que finaliza a indução Proposição O ângulo entre G k ψ e G k+1 ψ é θ rad, para todo k N Prova Usando a definição de ângulo entre dois vetores, dada no Capítulo 1, p 13, o enunciado deste lema torna-se equivalente a Reescrevendo, temos ψ G k ψ G k+1 = cos θ, k N ψ G k ψ G k+1 = ψ G k G k ψ G = (G k ) ψ G k ψ G

33 CUSTO COMPUTACIONAL DO ALGORITMO 35 Usando o fato de que obtemos, para todo k N, como queríamos demonstrar (G k ) ψ G k = (G k ) G k ψ = ψ, ψ G k ψ G k+1 = ψ ψ G = cos θ, Proposição 3 O operador G rotaciona ψ em direção a i Prova Inicialmente, calculemos o ângulo θ entre os vetores ψ e G ψ De (316) e (33), temos: cos θ = ψ ψ G = N 4 N ψ ψ + ψ i N = N 4 N + ( ) 1 N N = N N (331) Calculemos, agora, o ângulo entre G ψ e i De (316) e (35), temos: ψ G i = N 4 N ψ i + N i i = N 4 N N + N = 3N 4 N N Para uma lista com elementos (N = ), o algoritmo de Grover não funciona (dê uma justificativa para isso) Vamos supor, então, que N > Neste caso, ou melhor, 3N 4 N N > 1 N, ψ G i > ψ i Como a função arccos é decrescente no intervalo [ 1, 1], a desigualdade acima é equivalente a arccos( ψ G i ) < arccos( ψ i ) Da Proposição 1, ψ G Ω e, de (331), sabemos que a rotação produzida por G é, no máximo, de π/ rad Portanto, usando a desigualdade acima, a única possibilidade é que a rotação de ψ seja em direção a i

33 CUSTO COMPUTACIONAL DO ALGORITMO 36 Proposição 4 A aplicação de G sobre ψ G n, para todo n N, mantém o mesmo sentido de rotação quando G é aplicado sobre ψ Prova Pelas Proposições 1, e 3, já sabemos que, quando aplicamos o operador G sobre o estado ψ G n, temos apenas duas possibilidades: G(G n ψ ) é um estado resultante de uma rotação de θ rad, em Ω, no sentido horário ou anti-horário Se demonstrarmos que, para todo n N, G(G n ψ ) G n 1 ψ, poderemos concluir que a rotação mantém o mesmo sentido quando G é aplicado sobre ψ A demonstração será, portanto, por indução Inicialmente, mostremos que G ( G 1 ψ ) G ψ, ou seja, G ψ G ψ Usando (35) e (33), podemos calcular G ψ G : ( N 4 G ψ G = G N ψ + ) i N = N 4 N G ψ + G i N = N 4 ( N 4 N N ψ + ) i N ( ) N 4 = ψ + N 8 N N N i 4 N ψ + i N ( (N ) ) 4 = 4 N N ψ + 4N 8 N N i + ( ) ψ + i N N Para N >, este estado é diferente de ψ Suponhamos agora que, para um dado k N, G ( G k ψ ) G k 1 ψ Como G é um operador unitário, podemos aplicá-lo nos dois lados da expressão acima e ainda obter estados distintos, isto é, G ( G k+1 ψ ) G k ψ Isso conclui a indução (dê um exemplo mostrando que a conclusão da indução só é possível, porque G é um operador unitário) Conclusão: a aplicação de G k sobre ψ produz uma rotação de kθ rad em direção a i, no subespaço gerado por ψ e i, para todo k N Consideremos, então, o custo do algoritmo de Grover De forma mais precisa, devemos calcular o número de vezes k que o operador G deve ser aplicado para