Você está na página 1de 45

Introdução à Computação Quântica

Curso CBPF/CENPES

Material de Apoio – V3

Leonardo JL Cirto & Linneu Hollanda & Nahum Sá & Ivan S Oliveira

Eldues O Martins & Maury D Correia

Rio de Janeiro – EDICIN


11/11/2019–14/11/2019

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Sumário

1 Curso de Introdução à Computação Quântica 3


1.1 Ementa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Objetivos do Curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Preparação do Computador e Material de Apoio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9 Seminário de Abertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.10 Seminários Complementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Computação Clássica 8
2.1 Número Binário e Bit Clássico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Algoritmos e Máquina de Turing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Modelo Computacional de Circuitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Probabilidade e Valor Médio 12


3.1 Valor Médio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Probabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Comentário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Qubits – Portas Lógicas 14


4.1 Qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Portas de Pauli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Porta Hadamard H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5 Porta de Fase S e Porta T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5.1 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5.2 Notação de Dirac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Circuitos Quânticos 18
5.1 Circuito Quântico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2

5.2 Porta NOT Controlada e Emaranhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


5.3 No Cloning Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.4 Porta de Medição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5 Measuring In Different Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.6 The U1 , U2 and U3 Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.7 The Bell Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Memória 23
6.1 Bits e Inteiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Bits e Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 Algoritmo de Deutsch 26
7.1 Teoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.2 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8 Transformada Quântica de Fourier (QFT) 28


8.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2 Representação Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3 Representação de Circuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.4 QFT Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.4.1 Circuito da QFT Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.5 Simulação 1: |ψi = F|00i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
 
8.6 Simulação 2: |ψi = F H(0) |00i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

9 Teleporte Quântico 34
9.1 Circuito de Teleporte de 3 Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.2 Simulação 1: Usando 3 Medidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.3 Simulação 2: Usando 1 Medidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.4 Simulação 3: Tomografia de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

10 Density Matrix 39
10.1 Density Matrix: 1 Qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.2 Density Matrix: Mean Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.3 Density Matrix: Pure State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.4 Density Matrix: Statistical Mixture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

11 Fidelity 42

Referências Bibliográficas 44

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 1

Curso de Introdução à Computação Quântica

Curso:
Introdução à Computação Quântica
Data:
De 11/11/2019 (Segunda) a 14/11/2019 (Quinta)
Hora:
De 08:00h a 17:00h
Local:
EDICIN, Rua Ulysses Guimarães, 565, Cidade Nova, Rio de Janeiro

1.1 Ementa
◮ Noções de Fı́sica Quântica

⊲ Primórdios: Distribuição de Planck, Átomo de Bohr, Efeito Fotoelétrico, Efeito Compton, Onda de De Blogie,
Difração de Elétrons, Dualidade Onda-Partı́cula etc
⊲ Equação de Schrodinger, Formulação Matricial de Heisenberg, Densidade de Probabilidade de Born, Inter-
pretação de Copenhague
⊲ Experimento de Stern-Gerlach, Spin, Princı́pio da Incerteza, Gato de Schrodinger, Tunelamento Quântico

◮ Bit Quântico – Q-Bit

◮ Porta Lógica Quântica

◮ Circuito Quântico

◮ Modelo de Computação Quântica de Circuitos

◮ Superposição Quântica

◮ Emaranhamento Quântico, Teleporte Quântico, Descoerência

◮ Tomografia Quântica de Estado, Matriz Densidade, Fidelidade Quântica

◮ Noções de Computação Quântica Adiabática – Dwave

◮ Noções de Computação Quântica Aplicada a Machine Learning

◮ Noções de Bits Quânticos Supercondutores

◮ Algoritmos Quânticos

⊲ Algoritmo de Deutsch
⊲ Transformada Quântica de Fourier
⊲ Algoritmo HHL – Sistemas Lineares

◮ Plataforma IBM Quantum Experience

⊲ Arquitetura Computacional Quântica da IBM

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Organização do Curso 4

⊲ Simulação Artificial e Real; Simulação Local e Remota.


⊲ Framework de computação quântica QISKIT

◮ Supremacia Quântica

1.2 Público Alvo

◮ Engenheiros

◮ Geofı́sicos

◮ Cientistas da Computação

1.3 Pré-requisitos
◮ Mecânica Quântica

◮ Conhecimentos de Python

◮ Probabilidade Básica

◮ Álgebra Linear Básica

Os pré-requisitos são recomendações, nenhum conhecimento prévio será pressuposto durante as aulas.

1.4 Objetivos do Curso


◮ Independentemente da área, o participante irá adquirir o conjunto mı́nimo de conhecimento:

⊲ Sólida noção, qualitativa e quantitativa, do que é um bit quântico.


⊲ Sólida noção do que é um algoritmo quântico.
⊲ Sólida noção sobre simulação quântica baseada no modelo de circuitos.
⊲ Sólida noção sobre o projeto de computação quântica da IBM e sobre como utilizar, na prática, os protótipos
de chips quânticos da empresa.

1.5 Preparação do Computador e Material de Apoio

O curso é dividido em aulas teóricas e práticas, as aulas práticas/computacionais serão principalmente no Jupyter-No-
tebook. O material de apoio deste arquivo cobre principalmente a parte teórica, alguns notebooks Jupyter de ajuda
ficarão no endereço:
http://www.cbpf.br/~cirto/Curso_CQ_Petrobras/
Este texto foi escrito no estilo exercı́cios-comentários, curto e grosso, bom para consultar rapidamente.
A preparação do computador para rodar as ferramentas do curso é explicada abaixo:

◮ Familiar com o Python?, pule para o penúltimo passo.

◮ Sabe nada de Python?, instale o Anaconda:


https://www.anaconda.com/
O Anaconda é uma boa distribuição para iniciantes em Python; já vem com Jupyter-Notebook e muitas outras
ferramentas integradas; há versões para Linux, Windows e MAC.
Dica 1: Instale o Anaconda como usuário comum, na sua home, e não como root.
Dica 2: No Windows, evite espaços no caminho da instalação.
Dica 3: No Linux, lembre-se do chmod +x para permitir a instalação como usuário comum.

◮ Após a instalação do Anaconda, abra o terminal, no Linux, ou o anaconda-prompt, no Windows.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Organização do Curso 5

◮ Atualize a instalação [pode demorar, talvez cerca de 1GB de download nesta parte]:
conda update --all

◮ Limpe a instalação [mais de 1GB liberado nesta parte]:


conda clean --all

◮ Com o Python funcionando, instale o QISKIT:


pip install qiskit

◮ Finalmente, abra uma conta na IBM Quantum Experience:


https://quantum-computing.ibm.com/

1.6 Motivação

◮ Em Outubro de 2019 a Google anunciou ter atingido a Supremacia Quântica, ponto no qual um computador
quântico realiza um cálculo virtualmente impossı́vel mesmo para o maior cluster da atualidade¶ .

◮ Também no mês de Outubro, houve no CENPES reunião com a empresa francesa ATOS/BULL em que foi
apresentado, além dos HPC’s de última geração, um simulador quântico já disponı́vel para venda.

◮ Frente às dificuldades de fabricação de um hardware quântico, o estudo teórico e a implementação experimental
de algoritmos quânticos foi por anos tema basicamente acadêmico. Este cenário, entretanto, mudou, como os
dois pontos acima ilustram. Hoje, empresas como Intel, Google e IBM divulgam os avanços em seus projetos de
computação quântica regularmente. Particularmente a IBM, a partir de 2016, liberou o acesso a usuários externos
a protótipos de hardware quânticos que vão de 5 q-bits a 20 q-bits. Esses números podem parecer pequenos, mas
a supremacia quântica anunciada pela Google baseou-se em uma máquina quântica de apenas 54 q-bits.

◮ A iniciativa da IBM permite que a análise de algoritmos em dispositivos quânticos reais seja realizada de modo
relativamente simples. O curso abordará simulações na IBM Quantum Experience, a plataforma em nuvem da
IBM para a execução de programas nos chips quânticos da empresa. A Google ainda não liberou o acesso a sua
plataforma; a arquitetura dos chips quânticos de ambas as empresas é, contudo, similar e, em muitos aspectos,
universal.

1.7 Time
◮ O curso está inserido em um termo de cooperação CENPES-CBPF relacionado a computação quântica e petrofı́sica
por RMN, nas gerências CENPES/PDEP/GGGR e CENPES/PDEP/IRPS. O time conta com pesquisadores e
pós-graduandos do CBPF e geocientistas da Petrobras. A colaboração envolve, além da análise de algoritmos, a
fabricação de um chip quântico análogo ao da IBM e Google.

◮ CENPES/Petrobras

⊲ Bernardo Coutinho | Eldues O. Martins | João Crepaldi | Luiz F.A. Oliveira | Maury D. Correia |
Moacyr Nascimento

◮ CBPF

⊲ Alexandre M. Souza | Arthur Rebello | Bruno Chencarek | Filipe V Melo | Itzhak Roditi | Josie P. Silva |
Leonardo J.L. Cirto | Linneu Hollanda | Marcelo A.V. Macedo | Nahum Sá | Renan P. Loreto | Roberto
Sarthour | Ivan S. Oliveira

◮ Em negrito, os participantes da colaboração envolvidos com o curso.


Mais sobre a supremacia quântica anunciada pela Google em http://www.cbpf.br/~cirto/Curso_CQ_Petrobras/

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Organização do Curso 6

1.8 Bibliografia

◮ M.A. Nielsen, I.L. Chuang, Quantum Computation and Quantum Information (Cambridge University Press, Cam-
bridge, 10th Anniversary Ed., 2011) [1]

◮ G. Benenti, G. Casati, G. Strini, Principles of Quantum Computation and Information Vol. I: Basic Concepts
(World Scientific, Singapura, 2004). [2]

◮ G. Benenti, G. Casati, G. Strini, Principles of Quantum Computation and Information Vol. II: Basic Tools and
Special Topics (World Scientific, Singapura, 2007). [3]

◮ Outras referências ao final do texto.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Organização do Curso 7

1.9 Seminário de Abertura

Ivan S Oliveira – CBPF

Tecnologias Quânticas Aplicadas às Geociências do Petróleo

Data: 11/11/2019 (Segunda-Feira)


Hora: 10:00h → 11:30h
Local: EDICIN, Sala 622

1.10 Seminários Complementares

Nahum Sá – CBPF

Computação Quântica Adiabática e Noções de Supremacia Quântica

Data: 13/11/2019 (Quarta-Feira)


Hora: 15:00h → 16:30h
Local: EDICIN, Sala 622

Linneu Holanda – CBPF

Computação Quântica e Machine Learning

Data: 14/11/2019 (Quinta-Feira)


Hora: 13:00h → 14:30h
Local: EDICIN, Sala 622

Ivan S Oliveira – CBPF

Como São Construı́dos e Funcionam os Chips Quânticos Supercondutores

Data: 14/11/2019 (Quinta-Feira)


Hora: 14:30h → 16:00h
Local: EDICIN, Sala 622

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 2

Computação Clássica

2.1 Número Binário e Bit Clássico

É possı́vel representar um número real usando apenas 2 sı́mbolos: o sı́mbolo 0 e o 1. Esta representação é a notação
binária ou de base 2. Estamos acostumados com o sistema decimal [a base 10] que usa 10 sı́mbolos: 0,1,2 . . . 9.

(a) Cada dı́gito de um número escrito na base 10 corresponde a uma potência de 10. Exemplos:

[13]10 = 1×101 + 3×100 [1024]10 = 1×103 + 0×102 + 2×101 + 4×100

(b) De modo análogo, cada dı́gito de um número na base 2 corresponde a uma potência de 2:

[10]2 = 1×21 + 0×20 = [2]10 [11]2 = 1×21 + 1×20 = [3]10 [110]2 = [6]10 [11111111]2 = [255]10

(c) A tabela abaixo exibe exemplos de adição e subtração de números binários.


Adição Subtração
Base 10 Base 2 Base 10 Base 2
9 1001 14 1110
+15 +1111 −9 −1001
—— ——– —– ——–
24 11000 05 0101
21 10101 45 101101
+23 +10111 −39 −100111
—— ——— —– ———
44 101100 06 000110

(d) Cada dı́gito de um número binário é chamado de bit [bit = Binary Digit]. O bit é a unidade fundamental de
informação clássica. Um número binário de n bits corresponde no sistema decimal a um número inteiro N :
n
X
N= mn−k 2n−k = mn−1 2n−1 + mn−2 2n−2 + · · · + m1 21 + m0 20 mk = {0, 1}
k=1

A expressão anterior também pode ser escrita assim:

[N ]10 = [mn−1 mn−2 · · · m0 ]2

Um máquina de 2 bits pode representar no máximo 4 estados distintos:

[0]10 = [00]2 [1]10 = [01]2 [2]10 = [10]2 [3]10 = [11]2

Um número binário de n bits representa um inteiro N na base 10 no seguinte intervalo:

N ∈ [0, 2n − 1]

Num computador, o bit é representado pela presença de corrente nos componentes eletrônicos do chip: havendo
corrente, o estado lógico do bit é 1, não havendo, é 0. Os dois valores lógicos de um bit clássico são mutuamente
excludentes, ou temos 0 ou 1. Como veremos, a unidade fundamental de informação quântico é o bit quântico, o
qubit. O qubit pode representar os valores lógicos 0 ou 1 ou qualquer superposição destes dois valores.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Computação Clássica 9

(e) Quantas letras do alfabeto um computador de n = 3 bits é capaz de representar ?


(f ) Quantos bits são necessários para representar um alfabeto de 64 letras ?
R: 6 bits.
(g) Usando binários, podemos representar frações também. Exemplos:

[10.1]2 = 1×21 + 0×20 + 1×2−1 = [2.5]10 [10.01]2 = 1×21 + 0×20 + 0×2−1 + 0×2−2 = [2.25]10

Outro exemplo:

[20.5]10 = 2×101 + 0×100 + 5×10−1 = [10100.1]2 = 1×24 + 0×23 + 1×22 + 0×21 + 0×20 + 1×2−1

Mais exemplos:

[20.25]10 = [10100.01]2 [20.125]10 = [10100.001]2

(h) De modo geral, um número real R representado como binário de n bits na parte inteira e p bits na parte fracionária
se escreve:
n
X p
X
n−k
R= mn−k 2 + m−k 2−k = mn−1 2n−1 + · · · + m0 20 + m−1 2−1 + m−2 2−2 + · · · + m−p 2−p
k=1 k=1

Ou:

[R]10 = [mn−1 mn−2 · · · m0 . m−1 m−2 · · · m−p ]2

Assim como nem toda representação decimal é finita, e.g., 1/3 = 0.3333 . . ., nem sempre a representação binária
é finita também:

[0.1]10 = [0.0001100110 . . .]2

Qualquer número real pode ser aproximado com a precisão desejada por uma fração binária, basta haver um
número suficientemente grande de bits disponı́vel.
(i) Em computação é comum surgir a aritmética modular. Exemplos de adição modular:

11 ⊕12 5 = 4 30 ⊕12 2 = 8 3 ⊕12 4 = 7 12 ⊕12 1 = 1 11 ⊕12 1 = 0 4 ⊕5 3 = 2

a ⊕c b = a + b módulo c, ou (a + b) mod c. A aritmética modular é circular, como o relógio: 11h mais 5h é 4h da


tarde. A tabela a seguir exibe a soma módulo 2 de dois bits:
m1 m0 m0 ⊕ m1
00 0
10 1
01 1
11 0

2.2 Algoritmos e Máquina de Turing


Esta breve seção é para quem nunca ouviu falar em Máquina de Turing e não tenha ideia do que seja um algoritmo; não
trataremos destes temas no curso [se aprofunde, por exemplo, nas Refs. [1, 2]. Veja também o filme O Jogo da Imitação,
sobre a importante participação de Turing na WW-II].

◮ Um algoritmo é um conjunto de instruções precisas para resolver determinado problema. A regra de adição ou de
multiplicação de inteiros são exemplos de algoritmos, eles sempre produzem a resposta correta quando aplicados a
qualquer par de números inteiros. Muitas vezes, existir um algoritmo não é suficiente para solucionar um problema.
Por exemplo, grande parte da criptografia moderna é baseada na dificuldade de encontrar os fatores primos de um
número grande. Há algoritmos clássicos para fatorar primos, mas nenhum eficiente. Isso significa que sua conta
bancária pode ser invadida, porém isso demoraria milhares de anos mesmo em um cluster computacional poderoso.
Para este tipo de problema, existe um algoritmo quântico eficiente, foi proposto por Peter Shor e publicado em
1994 [4]. Rodando em um computador quântico, esse algoritmo seria capaz de fatorar um número de 2048 bits em
segundos. O resultado de Shor deu grande impulso ao desenvolvimento da computação quântica.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Computação Clássica 10

◮ A ciência da computação moderna foi inaugurada com o trabalho de Alan Turing publicado em 1937. Este trabalho
introduziu o modelo computacional que ficou conhecido como Máquina de Turing, atualmente considerado o modelo
fundamental de computação. Turing desenvolveu em detalhes um conceito abstrato do que chamarı́amos hoje
de computador programável e forneceu uma formulação matemática precisa à ideia intuitiva de algoritmo. Sua
máquina, apesar de idealizada, contém elementos essenciais de um computador atual [memória, unidade de leitura e
escrita etc]. Turing mostrou também que existe uma máquina de Turing universal, capaz de simular qualquer outra
máquina de Turing e conjecturou que, caso exista um algoritmo para resolver determinado problema, então este
algoritmo pode ser executado numa máquina de Turing [essa é Tese de Church-Turing, não provada mas jamais
refutada]. O trabalho de Turing foi motivado pela seguinte questão: para qual classe de problemas é possı́vel
encontrar um algoritmo? Este tipo de questão se inseria no debate iniciado no começo do século XX por David
Hilbert, que se perguntava se existiria um algoritmo que pudesse resolver qualquer problema matemático. Hilbert
imaginava erroneamente que sim, e o trabalho de Turing contribui com a resposta.

2.3 Modelo Computacional de Circuitos


◮ O computador clássico é baseado na lógica Booliana e essencialmente opera manipulando bits; o bit, que vale 0
ou 1, é naturalmente associado aos valores falso e verdadeiro da lógica. Cálculos computacionais transformam uma
entrada de n bits numa saı́da de k bits por meio de funções lógicas:

f : {0, 1}n → {0, 1}k

A solução de funções lógicas assim pode ser decomposta numa sequência de operações lógicas elementares e essas
operações são realizadas pelas chamadas portas lógicas, ver Figs. 2.1 e 2.2.

m m
m m
0 1
1 0

Fig. 2.1: Tabela verdade e representação de circuito da porta lógica clássica de 1 bit NOT. Circuitos lógicos são lidos da esquerda
para direita: o bit m entra pela esquerda e, neste caso, sai à direita valendo m. Um circuito quântico é lido da mesma forma,
mas as portas clássicas dão lugar a portas lógicas quânticas e os bits clássicos, aos qubits.

◮ Essa forma de computação é denominado Modelo Computacional de Circuitos. O poder computacional do modelo
de circuitos é equivalente ao da Máquina de Turing, o modelo de circuitos é, contudo, mais parecido a um computa-
dor real. A versão quântica do modelo de circuitos é o modelo computacional usado pelos computadores quânticos
da IBM.
m0
m0 ∨ m1 m1 m0 m0 ∨ m1 m0 ∧ m1 m0 ⊕ m1
m1
00 0 0 0
m0 10 1 0 1
m0 ∧ m1
m1 01 1 0 1
m0 11 1 1 0
m0 ⊕ m1
m1

Fig. 2.2: Tabela verdade e circuitos das portas de 2 bits OR (∨), AND (∧) e XOR (⊕). O sı́mbolo ⊕ representa soma módulo 2.

2.4 Motivação

Por que alguém interessado em computação quântica deveria estudar computação clássica? Há, segundo Nielsen &
Chuang [1, Cap. 3], aos menos 3 boas razões [não precisa concordar com todas!!]:

◮ Primeira: A ciência da computação clássica desenvolveu um vasto corpo de conceitos e técnicas que pode ser
aplicado também à computação quântica. Muitos dos avanços em computação quântica surgiram de ideias já
existentes da ciência da computação combinadas com novas ideias da mecânica quântica. Por exemplo, alguns dos
melhores algoritmos quânticos são baseados na transformada de Fourier, uma ferramenta poderosa utilizada em

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Computação Clássica 11

muitos algoritmos clássicos. Assim que foi percebido que um computador quântico poderia calcular um tipo de
transformada de Fourier muito mais rapidamente do que um computador clássico, foram desenvolvidos diversos
algoritmos quânticos importantes [leia sobre a transformada de Fourier quântica mais à frente no Cap. 8].

◮ Segunda: Cientistas da computação aprenderam a identificar os recursos necessários para executar determinada
tarefa em um computador clássico, e este conhecimento pode ser usado como base de comparação com a computação
quântica. Por exemplo, muitos esforços tem sido empregados no problema de encontrar os fatores primos de um
número. Acredita-se que não haja solução clássica eficiente para este problema. Contudo, para um computador
quântico, há sim solução eficiente conhecida. Este problema indica que existe uma divisão entre o que é possı́vel
em um computador clássico e o que é possı́vel em um quântico. Além do interesse particular para este problema
sobre primos, este resultado desperta interesse num sentido mais amplo, uma vez que tal divisão pode existir para
toda uma classe de problemas e não apenas neste caso. Estudar então mais detalhadamente a fatoração em primos
pode permitir a identificação das caracterı́sticas que o tornam mais tratável em um computador quântico do que
num clássico, e isso ajudaria a encontrar algoritmos quânticos adequados a outros problemas.

◮ Terceira e talvez mais importante: É útil aprender a pensar como um cientista da computação. No geral, o estilo
de pensar de cientistas da computação é bem diferente do estilo de fı́sicos e demais cientistas. Qualquer um que
deseje adquirir uma compreensão profunda de computação e informação quântica deve aprender a pensar como um
cientista da computação aos menos algumas vezes. Deve-se desenvolver a habilidade de identificar quais técnicas
e problemas despertam o interesse de um cientista da computação.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 3

Probabilidade e Valor Médio

Relembrando probabilidade e como calcular valores médios.

3.1 Valor Médio

Considere o conjunto de N números reais {x1 , x2 , . . . , xN }. O valor médio hxi deste conjunto é calculado assim:
N
1 X x1 + x2 + · · · + xN
hxi = xi = (3.1)
N N
i=1

O valor médio na Eq. (3.1) acima é a média aritmética, que chamaremos simplesmente de média algumas vezes.
Pensemos num experimento cujo resultado seja discreto, lançamento de um dado ou uma moeda por exemplo. Considere
o conjunto de valores obtidos após N repetições do experimento:

{x1 , x2 , x3 , . . . , xN }

No lançamento de um dado, cada xi do conjunto vale xi = 1, 2, 3, 4, 5 ou 6. Suponha que determinado resultado xi tenha
se repetido Ni vezes. Este número Ni é chamado de frequência de ocorrência do evento xi . A frequência relativa Fi do
evento xi é definida assim:
Ni Número de vezes que ocorreu xi
Fi = =
N Número total de experimentos

(a) A soma sobre todos os Ni ’s vale:


N
X
Ni = N
i=1

(b) A soma sobre todos os Fi ’s vale:


N
X N
X Ni
Fi = =1
N
i=1 i=1

(c) Qualquer Fi satisfaz:

0 ≤ Fi ≤ 1 ∀ i

(d) Suponha que no conjunto de valores experimentais {x1 , x2 , . . . , xN } haja M valores distintos. A média na Eq. (3.1)
também pode se calculada assim:
N M
1 X X
hxi = xi = Fj xj M ≤N
N
i=1 j=1

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Probabilidade e Valor Médio 13

3.2 Probabilidade

Quando o experimento é repetido indefinidamente [N → ∞], a frequência relativa Fi se transforma na probabilidade de


ocorrência pi do evento xi :
Ni
pi = lim Fi = lim (3.2)
N →∞ N →∞ N

É impossı́vel, é claro, realizar um número infinito de experimentos. Na prática, para um número N suficientemente
grande, assume-se a frequência relativa Fi como uma aproximação razoável para a probabilidade pi :
Ni
pi ≈ Fi = para N grande
N
(a) Então, o valor médio na Eq. (3.1) usando pi = Ni /N passa ser escrito como:
N M
1 X X
hxi = xi = pj x j
N
i=1 j=1

(b) A soma sobre todas a probabilidades vale 1:


M
X
pj = 1
j=1

(c) Em um experimento com M valores distintos e com todas as probabilidades pj iguais, a equação anterior fornece:
M
X M
X 1
pj = p 1=1⇒p= pj = p ∀ j
M
j=1 j=1

Eventos com probabilidades iguais são chamados de eventos equiprováveis.

P Probabilidade Ni Frequência
0.2 800

0.1 400

0.0 0
1 2 3 4 5 6 xi 10 15 20 xi

Fig. 3.1: Esquerda: Histograma ilustrando as probabilidades de um experimento com 6 resultados possı́veis.
Direita: Histograma com as frequências de ocorrência de um experimento com 3 resultados possı́veis.
Os resultados das simulações quânticas nos dispositivos da IBM são histogramas análogos aos desta figura.

3.3 Comentário

A Eq. (3.2) é a definição experimental ou frequencista de probabilidade. É baseada na repetição do experimento. Por
exemplo, a probabilidade de dar cara no lançamento de uma moeda não é 1/2 porque há duas possibilidades, cara e
coroa, mas sim pois ao lançar uma moeda N vezes verificaremos que, para N suficientemente grande, praticamente a
metade das vezes sai cara e a outra metade, coroa. Se pudéssemos lançar N → ∞ vezes, terı́amos exatamente p = 1/2,
segundo esta visão.
A interpretação na qual a probabilidade de sair cara é 1/2 porque há dois eventos equiprováveis, cara e coroa, é chamada
de definição clássica de probabilidade. No caso geral, esta definição é exposta assim: se existem M eventos equiprováveis,
a probabilidade de ocorrer cada evento é p = 1/M . Esta definição é pouco prática, porque é difı́cil em muitos casos
identificar eventos equiprováveis.
A definição frequencista é em geral a mais usada na fı́sica; com ela, podemos calcular a média a partir de um histograma
como os da Fig. 3.1, basta aproximar pi ≈ Fi .
No livro do Vuolo, Ref. [5], há uma boa discussão introdutória sobre este tema.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 4

Qubits – Portas Lógicas

4.1 Qubit
Um computador clássico manipula bits, já um computador quântico manipula bits quânticos, ou qubits. Um qubit é um
sistema quântico de dois nı́veis que pode ser representado por matrizes. Por exemplo, as matrizes:
   
1 0
|0i = |1i =
0 1

são estados de um qubit que correspondem aos valores 0 e 1 de um bit clássico. Os valores lógicos de um bit clássico
são mutuamente excludentes, ou é 0 ou 1. O qubit, por outro lado, é capaz de representar os valores 0 ou 1 ou qualquer
superposição destes dois valores:
 
α
|ψi = α|0i + β|1i = α, β ∈ C |α|2 + |β|2 = 1 = hψ|ψi (4.1)
β

No lugar de α e β, podemos usar os ângulos θ e ϕ e escrever o estado genérico de um qubit desta forma:

|ψi = cos(θ/2)|0i + eiϕ sen(θ/2)|1i

Esta representação permite visualizar o estado do qubit como um ponto na Esfera de Bloch, conforme Fig. 4.1.

|0i
b
z
|ψi
θ
|0i + i|1i
b
y √
2
b
x ϕ
|0i + |1i

2

|1i

Fig. 4.1: Esfera de Bloch. Um bit pode estar no estado 0 ou 1. Já o estado genérico de um qubit |ψi é representando como√um
ponto na superfı́cie
√ da esfera de Bloch. Os estados |0i e |1i estão nos polos desta esfera; as superposições [|0i ± |1i] / 2 e
[|0i ± i|1i] / 2 estão no equador.

Os estados |0i e |1i são ortonormais [ortogonal e normalizado], como podemos verificar [ver Sec. 4.5.1]:
     
  1   0   0
h0|0i = 1 0 =1 h1|1i = 0 1 =1 h0|1i = 1 0 =0 h1|0i = 0
0 1 1

O conjunto {|0i, |1i} é chamado de base computacional.

4.2 Qubits
O conjunto {|0i, |1i} é a base computacional de 1 qubit, a superposição com elementos desta base representa estados
possı́veis do qubit. Quando lidamos com mais qubits, a base computacional é o produto tensorial entre as bases de 1

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Qubits – Portas Lógicas 15

qubit. Por exemplo, no caso de n = 2 qubits, temos:


    
|0i, |1i ⊕ |0i, |1i = |0i⊗|0i, |0i⊗|1i, |1i⊗|0i, |1i⊗|1i = |00i, |01i, |10i, |11i = |0i2 , |1i2 , |2i2 , |3i2

Acima, |mi2 representa estado de 2 qubits e empregamos a notação compacta: |m1 i ⊗ |m0 i = |m1 i|m0 i = |m1 m0 i. Os
estados possı́veis de n = 2 qubits é novamente uma superposição, mas agora envolvendo uma base de 4 elementos:
2 −1
2X
|ψi = cm |mi2 = c0 |0i2 + c1 |1i2 + c2 |2i2 + c3 |3i2 = c00 |00i + c10 |10i + c01 |01i + c11 |11i
m=0

Com:
3
X
|cm |2 = 1 cm ∈ C
m=0

Aqui surge um ponto interessante: enquanto 2 bits clássicos podem armazenar apenas um dos 4 estados 00, 01, 10 e 11,
2 qubits podem armazenar esses 4 estados e também uma superposição que abrange todos eles, como mostra a equação
acima.

◮ Para o caso de n qubits, a associação entre a base computacional decimal e binária é:

|0in = |00
| ·{z
· · 00}i |1in = |00 · · · 01i |2in = |00 · · · 10i · · · |N − 1in = |11 · · · 11i; N = 2n
n

Ou em sı́mbolos:

|min = |mn−1 mn−2 . . . m1 m0 i; mk = 0, 1; m ∈ [0, 2n − 1]

Uma superposição envolvendo n qubits se escreve então:


n −1
2X 1 1 1 1
X X X X
|ψi = cm |min = ··· cmn−1 mn−2 ···m1 m0 |mn−1 mn−2 . . . m1 m0 i
m=0 mn−1 =0 mn−2 =0 m1 =0 m0 =0

Ou seja: n qubits é capaz de codificar simultaneamente as 2n combinações de n bits clássicos. Na computação


quântica, um sistema de n qubits é chamado de registro quântico de tamanho n.
◮ Elementos da base de n qubits também podem ser representados matricialmente. Exemplos com n = 2:
   
    1     0
1 1 0  1 0 1
|00i = |0i ⊗ |0i = ⊗ =0 
 |01i = |0i ⊗ |1i = ⊗ =0

0 0 0 1
0 0

4.3 Portas de Pauli

Em informação/computação quântica, as matrizes de spin de Pauli são chamadas de portas de Pauli e escritas assim:
     
0 1 0 −i 1 0
σx = X = σy = Y = σz = Z =
1 0 i 0 0 −1

As portas de Pauli são matrizes Hermitianas e unitárias: σi−1 σi = σi† σi = σi σi = σi2 , i = x, y, z.

(a) A base computacional {|0i, |1i} é formada de autoestados de Z:


  (
1 0 Z|0i = +|0i
Z= ⇒
0 −1 Z|1i = −|1i

(b) Matriz X aplicada aos elementos da base computacional:


  (
0 1 X|0i = |1i
X= ⇒ (4.2)
1 0 X|1i = |0i

Em razão deste resultado, a matriz X também é chamada de porta NOT.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Qubits – Portas Lógicas 16

(c) Considere os seguintes estados:


|0i + |1i |0i − |1i
|+i = √ |−i = √
2 2
São estados ortonormais:
h+|−i = h−|+i = 0 h−|−i = 1 h+|+i = 1
São autoestados da porta X:
  (
0 1 X|+i = +|+i
X= ⇒
1 0 X|−i = −|−i
O conjunto {|+i, |−i} também é uma base no espaço de 1 qubit.
(d) Matriz Y aplicada aos elementos da base computacional:
  (
0 −i Y|0i = +i|1i
Y= ⇒
i 0 Y|1i = −i|0i
Autoestados de Y:
   
1 +1 |0i + i|1i 1 +1 |0i − i|1i
|i+i = √ = √ |i−i = √ = √
2 +i 2 2 −i 2
4.4 Porta Hadamard H

A porta Hadamard é definida assim:


 
1 1 1 X+Z
H= √ = √
2 1 −1 2
(a) A Hadamard transforma a base computacional na base {|+i, |−i} [e vice-versa]:
(   √ (
H|0i = |0i + |1i / 2 = |+i H|+i = |0i
  √
H|1i = |0i − |1i / 2 = |−i H|−i = |1i

(b) A Hadamard aplicada a um qubit |mi, que pode ser |0i ou |1i, fornece:
1   1 h i 1 h h mi i 1 h i
H|mi = √ |0i + (−1)m |1i = √ |0i + eiπm |1i = √ |0i + exp i2π |1i = √ |0i + ei2π0.m |1i
2 2 2 2 2
(c) A Hadamard é uma matriz Hermitiana e unitária:
 
1 1 1
H= √ ⇒ H−1 = H† = H
2 1 −1
A Hadamard é muito utilizada em computação quântica.

4.5 Porta de Fase S e Porta T


A porta S e a porta T são definidas como:
     −iπ/8 
1 0 1 0 iπ/8 e 0
S= T= =e
0 i 0 eiπ/4 0 eiπ/8
A portas S e T são unitárias mas não são Hermitianas. Notar que S = T2 e S2 = Z.

(a) Portas S e T agindo na base computacional:


  (   (
1 0 S|0i = |0i 1 0 T|0i = |0i
S= ⇒ T= iπ/4 ⇒ √
0 i S|1i = i|1i 0 e T|1i = e iπ/4 |1i = (1 + i)/ 2|1i

(b) O produto HS† será útil mais à frente:


 †   √
   
 HS |0i = |+i = |0i + |1i/√2

1 1 1 1 1 −i  †
1 0 HS |1i = −i|−i = −i |0i
√ − |1i / 2
HS† = √ =√ ⇒ †

2 1 −1 0 −i 2 1 i 
HS |+i = |0i − i|1i/√2

HS† |−i = |0i + i|1i / 2

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Qubits – Portas Lógicas 17

4.5.1 Exercı́cios

4.5.2 Notação de Dirac

O estado |ψi visto na Eq. (4.1) usa a Notação de Dirac, a notação mais útil em computação quântica. Um vetor de
estado |vi é chamado de ket, matriz coluna como a da Eq. (4.1). O transposto conjugado do ket é uma matriz linha
chamada de bra e representada por hv|. Por exemplo:
 
v  
|vi = 1 = ket hv| = v1∗ v2∗ = bra v1 , v2 ∈ C [pra decorar: |keti, hbra|]
v2

O asterisco em vi representa o complexo conjugado, por exemplo: v1 = 2 + 4i, v1∗ = 2 − 4i.


Com a notação de Dirac, o produto escalar entre 2 vetores |ui e |vi é o braket, ou seja:
 
 ∗ ∗  u1
hv|ui = v1 v2 = v1∗ u1 + v2∗ u2 hbra|keti = produto escalar
u2

O produto escalar do vetor de estado com ele mesmo é a norma ao quadrado:


 
 ∗ ∗  v1
hv|vi = v1 v2 = v1∗ v1 + v2∗ v2 = |v1 |2 + |v2 |2 = k|vik2
v1

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 5

Circuitos Quânticos

5.1 Circuito Quântico


Comentamos no Cap. 2 sobre o modelo computacional de circuitos: uma sequência de operações lógicas elementares,
realizadas por meio de portas como NOT e AND, para solucionar funções lógicas. Uma versão completamente análoga
à versão clássica deste modelo existe na computação quântica. No modelo quântico de circuitos, os bits dão lugar aos
qubits e as portas quânticas, como a Hadamard H, substituem as portas clássicas. A seguir, alguns circuitos quânticos
simples:

|0i X |1i

Fig. 5.1: Circuito quântico de 1 qubit com a porta quântica NOT. O qubit entra pela esquerda, entra no estado |0i, e sai à direita
no estado |1i, conforme Eq. (4.2).

|0i + |1i |0i + (−1)m |1i


|0i H √ |mi H √
2 2
Fig. 5.2: Dois circuitos com a porta Hadamard H. O da esquerda o registro vale |0i inicialmente, à direita pode ser |0i ou |1i.

Comentário: Os chips da IBM são baseados no modelo computacional de circuitos quânticos. Nem todo computador
quântico, contudo, opera baseado neste modelo.

5.2 Porta NOT Controlada e Emaranhamento

Os circuitos na Fig. 5.3 exibem o comportamento da porta quântica de 2 qubits NOT controlada, CNOT. Portas controladas
têm um qubit de controle e um qubit alvo. A porta só atua no alvo se o qubit de controle estiver no estado |1i.
|m0 i • |m0 i |0i • |0i |1i • |1i
|m1 i X |m0 ⊕ m1 i |0i X |0i |0i X |1i

Fig. 5.3: Circuitos com uma porta CNOT. O qubit superior é o qubit de controle, o de baixo, o alvo. O sı́mbolo ⊕ representa soma
módulo 2, ver Cap. 2.

(a) Vamos adotar a seguinte notação para portas controladas: CNOT(ctrl,alvo) = CX(ctrl,alvo) . Então:
 (1,0)

 CX |00i = |00i
 (1,0)
CX |01i = |01i
CX(1,0) |m1 m0 i = CX(1,0) |m1 i|m0 i = |m1 i|m0 ⊕ m1 i ⇒ (1,0)

 CX |10i = |11i
 (1,0)
CX |11i = |10i

(b) Invertendo o qubit de controle e o qubit alvo:


 (0,1)

 CX |00i = |00i
 (0,1)
CX |01i = |11i
CX(0,1) |m1 m0 i = CX(0,1) |m1 i|m0 i = |m0 ⊕ m1 i|m0 i ⇒ (0,1) |10i = |10i

 CX
 (0,1)
CX |11i = |01i

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Circuitos Quânticos 19

(c) Representação matricial da porta CNOT:


   
1 0 0 0 h00| h01| h10| h11|
0 1 0 0  |00i 1 0 0 0

CX(1,0) = 0 0 0 1
 CX(0,1) =  |01i 0 0 0 1 
|10i 0 0 1 0
0 0 1 0 |11i 0 1 0 0

(d) Lembrando como montar uma matrix [amn = hm|A|ni]:


X  h0| h1|

A= amn |mihn| = a00 |0ih0|+a01 |0ih1|+a10 |1ih0|+a11 |1ih1| = a00 [ 10 00 ]+a01 [ 00 10 ]+a10 [ 01 00 ]+a11 [ 00 01 ] = |0i a00 a01
m,n |1i a10 a11

(e) Para produzir estados emaranhados, é necessário portas que atuem em mais de um qubit ao mesmo tempo, como
a porta CNOT. Portas de 1 qubit não geram emaranhamento. Considere o estado não emaranhado de 2 qubits:
 
|ψi = α|00i + β|10i = α|0i + β|1i ⊗ |0i α, β 6= 0

Estados que podem ser escritos como um produto tensorial do tipo |ϕ2 i ⊗ |ϕ1 i são não emaranhados. A ação da
CX(1,0) em |ψi fornece:
 
CX(1,0) |ψi = CX(1,0) α|0i + β|1i |0i = α|00i + β|11i =
6 |ϕ2 i ⊗ |ϕ1 i

Portanto, após aplicar a porta CNOT, o estado |ψi virou um estado emaranhado. O emaranhamento é mais um
recurso computacional exclusivamente quântico, não há análogo clássico para este fenômeno.

5.3 No Cloning Theorem

|m0 i • |m0 i |m0 i • |m0 i


|m1 i X |m0 ⊕ m1 i |0i X |m0 i

Fig. 5.4: CNOT Circuit again.

The right circuit in Fig. 5.4 is able to clone the input ket |m0 i so that the output is the untangled state |m0 m0 i =
|m0 i ⊗ |m0 i. Although it’s possible to clone a given qubit state |mi, it turns out that there is no circuit, or any other
apparatus in fact, able to clone an arbitrary input qubit |ψi and produce the output state |ψi ⊗ |ψi, even using ancillas
in the input and garbage in the output, see Fig. 5.5.
This is the No-cloning theorem [6], that may be formally stated as: There is no n-qubits quantum circuit which upon
input |ψi ⊗ |0in−1 outputs |ψi ⊗ |ψi ⊗ |Gin−2 , where the garbage |Gin−2 is a possibly entangled state of n − 2 qubits.
In other words: there is no operator U such that:

U |0i|ψi = |ψi ⊗ |ψi ∀ |ψi

|ψi • |ψi |ψi |ψi


U
|0i X |ψi |0i |ψi
Fig. 5.5: These are fake circuits. There is no circuit able to accomplish such operation.

5.4 Porta de Medição

Cálculos computacionais visam produzir resultados que serão lidos ao final. O procedimento de leitura é especialmente
delicado em um computador quântico, pois a medição de um qubit pode destruir suas propriedades quânticas.
As simulações nos dispositivos da IBM terminam com a porta de medição/leitura. Após a leitura do qubit, a informação
é armazenada em um bit clássico tradicional, vale 0 ou 1, e o qubit deixa de existir [ver Figs. 5.6 e 5.7]. A porta de
leitura equivale a uma medição do estado quântico na direção bz, não podemos trocar esta direção usando uma outra
porta por exemplo; mas há alternativa, veja próxima seção. O resultado de uma simulação nos chips da IBM é ilustrado
na Fig. 5.8.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Circuitos Quânticos 20

|0i X 0 ou 1
σz

Fig. 5.6: A porta de medição destrói o qubit, e a informação passa a ser clássica. Linhas duplas em um circuito quântico indicam que
este canal transporta informação clássica [transporta bit].

|m0 i H
σz

|m1 i X
σz
c0 c0 = 0 ou 1
c1 c1 = 0 ou 1
Fig. 5.7: Ilustração do processo de medição nos chips da IBM. Após a leitura do qubit |mi i, a informação é armazenada no bit
clássico ci . O resultado final será uma das 4 combinações de 2 bits clássicos: {c1 c0 } = {00, 01, 10, 11}.

P
0.9
M Shots
0.6
0.3
0.0
|0i |1i
Fig. 5.8: Ilustração de uma simulação hipotética com o circuito da Fig. 5.6. M é o número de vezes em que o circuito foi simulado.
Nos chips da IBM, M é da ordem de 10 000 como veremos.

5.5 Measuring In Different Basis


Como comentado acima, on the IBM devices, measurements can only be made along the σz axis, which is the direction
we access with the available measurement gate. Furthermore, this gate is unable to access information about the qubit’s
phase. For example, the action of the H gate on the qubit |mi is:
1 1   1  
H|mi = √ [|0i + exp(iπm)|1i] ⇒ H|0i = √ |0i + |1i = |+i H|1i = √ |0i − |1i = |−i
2 2 2
Single qubit simulations in which the final states are the kets |+i or |−i have the same outcomes [i.e., the same histogram].
As do have simulations which end up in |0i or −|0i [although in this case we are dealing with a global phase]. In order
to distinguish the states {|+i, |−i} we have to emulate measurements in different basis other than the standard σz
one. Measurements in another basis can be simulated with the help of additional gates, namely an H gate for the σx
basis {|+i, |−i}, and an S† followed by an H gate for the σy basis {|i+i, |i−i}, see Fig. 5.9 [more in Refs. [2, 7, 8]].

= H = S† H
σx σz σy σz

Fig. 5.9: Additional gates to simulate measurements in another basis: an H gate for σx and an S† gate followed by an H gate for σy .

Formally, measurements in a different basis other than the computational one may be summarized as follow: Let U =
{|u1 i, |u2 i} be an orthonormal basis. The process of measuring a state |ψi = α|u1 i + β|u2 i in the basis U is a quantum
circuit operation which upon input |ψi outputs |0i and |1i with probabilities |α|2 and |β|2 respectively. This is achieved
by adding an extra gate U with the property that U|u1 i = |0i and U|u2 i = |1i; hence:
(
U|u1 i = |0i
U = |0ihu1 | + |1ihu2 | ⇒
U|u2 i = |1i

Portanto:
( gate  
σx = |0ih+| + |1ih−| = |0ih0| + |0ih1| + |1ih0| − |1ih1| = √1 1 1 =H
2 1 −1
gate 1
 
σy = |0ihi+| + |1ihi−| = |0ih0| − i|0ih1| + |1ih0| + i|1ih1| = √ 1
2 1
−i
i = HS†

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Circuitos Quânticos 21

5.6 The U1 , U2 and U3 Gates

The U3 = U3 (θ, ϕ, λ) gate, the most general 1-qubit gate of the IBM devices is:
 
cos(θ/2) −eiλ sen(θ/2)
U3 (θ, ϕ, λ) = iϕ ⇒ U3 |0i = |ψi = cos(θ/2)|0i + eiϕ sin(θ/2)|1i (5.1)
e sen(θ/2) ei(ϕ+λ) cos(θ/2)
Applied to |0i, the U3 gate yields the most general single-qubit state |ψi shown in Eq. (5.1) above. In addition to the U3 ,
it is also defined in the QISKIT/IBM the U1 and U2 gates:
   
1 0 1 1 −eiλ
U1 (λ) = U3 (0, 0, λ) = U2 (ϕ, λ) = U3 (π/2, ϕ, λ) = √
0 eiλ 2 e
iϕ ei(ϕ+λ)

From U3 (θ, ϕ, λ), it is straightforward to generate the Pauli gates:


     
0 1 0 −i 1 0
U3 (π, 0, π) = = X; U3 (π, π/2, π/2) = = Y; U3 (0, π/2, π/2) = U3 (0, 0, π) = U3 (0, π, 0) = =Z
1 0 i 0 0 −1
As well as the Hadamard:
 
1 1 1
U3 (π/2, 0, π) = U2 (0, π) = √ =H
2 1 −1

5.7 The Bell Basis

|m0 i X |EPR qubiti X 


Bell Basis |m1 m0 i
|m1 i H • |EPR qubiti • H

|m0 i H • |EPR qubiti • H 


Bell Basis |m1 m0 i
|m1 i X |EPR qubiti X
Fig. 5.10: Left: Circuits to transform the computational basis {|m1 m0 i} = {|00i, |01i, |10i, |11i} in the Bell basis (5.2). Right:
Circuit making the inverse transformation, i.e., entangled EPR qubits in the input yield elements of the computational
basis as output [notice that we have used the self-inverse property of both the Hadamard and CNOT gates].

The Bell basis describes 2-qubits states with maximum entanglement; their elements are sometimes called EPR pairs.
Below it’s shown the Bell basis in terms of the computational basis and the computational basis in terms of the Bell
basis:
 
|φ+ i = √1 |00i + |11i
 + 1 
|ψ i = √ |01i + |10i
 

1  + −
 1 
|10i = √ |ψ + i − |ψ − i

  |00i = √ |φ i + |φ i
2 2 2 2
 1   1    1   1  +  (5.2)
 −
|φ i = √ |00i − |11i −
|ψ i = √ |01i − |10i  +
|01i = √ |ψ i + |ψ i − |11i = √ |φ i − |φ i−
2 2 2 2
The Bell basis can be obtained from the computational basis using the left circuits in Fig. 5.10. Indeed, the top-left
circuit yields [remembering: CX(k,l) = CX(ctl,tgt) ]:
  

 |00i → √12 |00i + |11i = +|φ+ i

  

|01i → √1 |01i + |10i = +|ψ + i
(1,0) (1) 1  m1
 2
CX H |m1 m0 i = √ |0i|m0 i + (−1) |1i|m0 ⊕ 1i ⇒  
2 
 |10i → √1 |00i − |11i = +|φ− i

 2
|11i → √1 |01i − |10i = +|ψ − i

2

And the bottom-left yields:



 |00i → √1 [|00i + |11i] = +|φ+ i

 2
1    |01i → √1 [|00i − |11i] = +|φ− i
CX(0,1) H(0) |m1 m0 i = √ |m1 i|0i + (−1)m0 |m1 ⊕ 1i|1i ⇒ 2
√1 [|10i + |01i]
2 
 |10i → = +|ψ + i

 2
|11i → √1 [|10i − |01i] = −|ψ − i
2

The Bell basis form a complete orthonormal set and therefore the states of the computational basis can be expanded
using the Bell basis.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Circuitos Quânticos 22

Tab. 5.1: Relação entre a base computacional e a de Bell obtidas com os circuitos na Fig. 5.10.

In Out Left Top Out Left Bottom In Out Right Top Out Right Bottom
1 √1 [|00i + |11i] = + φ+
|00i + |11i = φ+
  +
|00i √ ψ |01i +|10i
2 2
1 1
|01i + |10i = ψ +

[|00i − |11i] = + φ−
 
|01i √ √ ψ |11i −|11i
2 2
1 1
[|10i + |01i] = + ψ +
 +
|00i − |11i = φ−

|10i √ √ φ |00i +|00i
2 2
1 1
 −
|01i − |10i = ψ − [|10i − |01i] = − ψ −

|11i √ √ φ |10i +|01i
2 2

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 6

Memória

Simular um algoritmo quântico em um computador clássico tradicional pode exigir muita memória, esta exigência cresce
exponencialmente com o número de qubits. Vamos discutir brevemente a relação entre memória e números de qubits.

6.1 Bits e Inteiros

No C, um unsigned short int N é normalmente armazenado em n = 2 bytes¶ . Lembrar que 1 byte = 8 bits.

(a) O intervalo de valores que o inteiro N pode assumir é:


 
n = 2 bytes = 2×8 bits = 16 bits ⇒ N ∈ [0, 2n − 1] = 0, 216 − 1 = [0, 65 536]

(b) Para short int, um dos 16 bits é reservado para o sinal, e o inteiro N varia neste caso em:
   
N ∈ −2n−1 , 2n−1 − 1 = −215 , 215 − 1 = [−32 768, 32 767]

(c) Lembremos a definição das funções floor e ceiling:

floor(x) = ⌊x⌋ = Nmax ≤ x ceil(x) = ⌈x⌉ = Nmin ≥ x x∈R

(d) Para representar um inteiro N em binário, são necessários ⌊log2 N ⌋ + 1 bits. Por exemplo:

N = 216 − 1 ⇒ ⌊log2 [216 − 1]⌋ + 1 = 15 + 1 = 16 ⇒ [65 536]10 = [1111111111111111]2


N = 215 − 1 ⇒ ⌊log2 [215 − 1]⌋ + 1 = 14 + 1 = 15 ⇒ [32 767]10 = [0111111111111111]2

pois log2 [216 − 1] = 15.999977 e log2 [215 − 1] = 14.999955.

(e) Mais exemplos:

N = 10 ⇒ ⌊log2 10⌋ + 1 = 3 + 1 = 4 ⇒ [10]10 = [1010]2


N = 07 ⇒ ⌊log2 07⌋ + 1 = 2 + 1 = 3 ⇒ [07]10 = [0111]2
N = 02 ⇒ ⌊log2 02⌋ + 1 = 1 + 1 = 2 ⇒ [02]10 = [0010]2

(f ) Concluı́mos que n = ⌊log2 N ⌋ bits pode representar qualquer inteiro no intervalo [0, 2n − 1], mas para representar
precisamente N precisamos de n = ⌊log2 N ⌋ + 1 bits.

(g) Qualquer inteiro no intervalo [2n−1 , 2n ) é um número de n dı́gitos binários e portanto são necessários n bits para
representá-los. Por exemplo, se n = 3, o conjunto N ∈ [22 , 23 ) = [4, 8) = {4, 5, 6, 7} é composto por números de 3
dı́gitos: {100, 101, 110, 111}.

6.2 Bits e Qubits


Consideremos agora o estado genérico de n = 1 qubit, ele contém 21 = 2 números complexos:

|ψi = α|0i + β|1i α = α1 + iα2 β = β1 + iβ2


Os tipos (short int, float, double ) do C correspondem a (INTEGER*2, REAL*4, REAL*8) no linguajar do FORTRAN 77.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Memória 24

(a) Para n = 2 qubits, o estado genérico contém 22 = 4 números complexos:


3
X
|ψi = cm |mi2 = c0 |0i2 + c1 |1i2 + c2 |2i2 + c3 |3i2 cm ∈ C |mi2 = |m1 m0 i = |m1 i|m0 i
m=0

(b) Para n qubits, são necessários 2n números complexos para escrever o estado |ψi:
n −1
2X
|ψi = cm |min cm ∈ C |min = |mn−1 mn−2 . . . m1 m0 i
m=0

Cada um dos 2n números complexos contém 2 números reais, logo há 2×2n = 2n+1 números reais no notal.
(c) No C, o tipo float é guardado em 4 bytes [= 32 bits], e o tipo double em 8 bytes [= 64 bits]. Existem 2n+1
números reais num estado de n qubits, portanto são necessários 4×2n+1 bytes se o armazenamento for em float
e 8×2n+1 bytes caso seja em double, ver Tab. 6.1 e Fig. 6.1.

Tab. 6.1: Memória necessária para simular um sistema quântico de n qubits com precisão dupla [double].

Números Memória [double] Números Memória [double]


Qubit Reais Bytes KiB Qubit Reais Bytes KiB MiB GiB GB
n 2n+1 8×2n+1 n 2n+1 8×2n+1 B/210 KiB/210 MiB/210 B/[103 ]3
1 2.21 = 04 8.22 = 032 0.03125 24 0 033 554 432 00 268 435 456 002 621 44 00 256 1/4 00.27
2 2.22 = 08 8.23 = 064 0.06250 28 0 536 870 912 04 294 967 296 04 194 304 04 096 04 04.29
3 2.23 = 16 8.24 = 128 0.12500 29 1 073 741 824 08 589 934 592 083 886 08 08 192 08 08.59
4 2.24 = 32 8.25 = 256 0.25000 30 2 147 483 648 17 179 869 184 167 772 16 16 384 16 17.18
5 2.25 = 64 8.26 = 512 0.50000 31 4 294 967 296 34 359 738 368 335 544 32 32 768 32 34.36

Memória (GiB)
3 000

2 000

1 000
Simples float Dupla double

0
25 30 35 n qubits

Fig. 6.1: Representação gráfica da Tab. 6.1 em GiB. O crescimento exponencial é dramático.

Tab. 6.2: Prefixes for binary multiplies and their SI origin. This table helps to differentiate the prefixes corresponding
to powers of 10 used in SI from the power of 2 used in computer science, see Refs. [9] and [10, Pag. 29].

Binary Prefixes SI Prefixes


Factor Name Symbol Factor Name Symbol
-- -- 101 deka da
23 bits 1 byte B 102 hecto h
210 = [210 ]1 kibi=kilobinary Ki 1003 = [103 ]1 kilo k
220 = [210 ]2 mebi=megabinary Mi 1006 = [103 ]2 mega M
230 = [210 ]3 gibi=gigabinary Gi 1009 = [103 ]3 giga G
240 = [210 ]4 tebi=terabinary Ti 1012 = [103 ]4 tera T
250 = [210 ]5 pebi=petabinary Pi 1015 = [103 ]5 peta P
260 = [210 ]6 exbi=exabinary Ei 1018 = [103 ]6 exa E

6.3 Comentários

Em Outubro de 2019 participamos no CENPES de reunião com a francesa ATOS em que foi apresentado uma máquina
clássica voltada à simulação de algoritmos quânticos já disponı́vel para venda¶ . Segundo o representante da empresa,
este computador é capaz de simular 40 qubits e um modelo de 42 qubits seria lançado em breve.

https://atos.net/en/insights-and-innovation/quantum-computing/atos-quantum
https://atos.net/wp-content/uploads/2018/07/Atos-Quantum-Learning-Machine-brochure.pdf

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Memória 25

Uma máquina que simule 42 qubits baseada no modelo de circuitos precisaria da ordem de 8×242+1 /230 = 65 536 GiB =
64 TiB de memória RAM.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 7

Algoritmo de Deutsch

7.1 Teoria
O algoritmo de Deutsch resolve o seguinte o problema: dada a função lógica f (m) de 1 bit:

f : {0, 1} → {0, 1}

determine se f (m) é constante ou balanceada. A função f (m) é constante se f (0) = f (1) e balanceada se f (0) 6= f (1).
A seguir, a análise do algoritmo de Deutsch passo a passo.

|m0 i = |1i H Descartar


Uf
|m1 i = |0i H H |ϕi = |f (0) ⊕ f (1)i

Fig. 7.1: Circuito para o algoritmo de Deutsch. O qubit |m0 i descartado após Uf é um qubit auxiliar. Em informação quântica, a
porta Uf é chamada de caixa preta ou oráculo. Lembre-se que nos dispositivos da IBM o qubit deixa de existir após a leitura
[ver Fig. 5.6]. Logo, o estado quântico |ϕi só existe até a porta de medição.

(a) Há 4 funções lógicas de 1 bit, ou seja, funções com 1 bit de entrada e 1 bit de saı́da. A tabela abaixo exibe as 4
possibilidades:

m f0 (m) f1 (m) f2 (m) f3 (m)


f0 , f3 = constante
0 0 0 1 1
f1 , f2 = balanceada
1 0 1 0 1

(b) Vamos definir a seguinte operação controlada Uf :


(
|m1 i|f (m1 )i se m0 = 0
Uf |m1 i|m0 i = |m1 i|m0 ⊕ f (m1 )i =
|m1 i|1 ⊕ f (m1 )i se m0 = 1

Iniciando com |m0 i = |1i e aplicando a porta Hadamard H neste qubit antes de Uf , obtemos:
(
(0) |0i − |1i |0 ⊕ f (m1 )i − |1 ⊕ f (m1 )i |m1 i |0i − |1i se f (m1 ) = 0
Uf H |m1 i|1i = Uf |m1 i √ = |m1 i √ = √
2 2 2 |1i − |0i se f (m1 ) = 1

Escrevendo de outra forma o resultado anterior:


|0i − |1i |0i − |1i
Uf H(0) |m1 i|1i = |m1 i(−1)f (m1 ) √ = (−1)f (m1 ) |m1 i|−i; |−i = H|1i = √
2 2
Notar que não sabemos exatamente quem é Uf , conhecemos apenas sua saı́da a partir de determinada entrada. Por
isso Uf é chamada de oráculo: estamos interrogando o oráculo.

(c) Iniciando com |m1 i = |0i, logo |m1 i|m0 i = |0i|1i = |01i, e aplicando outra porta Hadamard, obtemos:
 
(1) (0) |0i + |1i |0i − |1i (−1)f (0) |0i + (−1)f (1) |1i
Uf H H |01i = Uf √ √ = √ |−i
2 2 2
Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Algoritmo de Deutsch 27

(d) Aplicando mais uma porta Hadamard em |m1 i após Uf , obtemos finalmente:
1 nh i h i o
H(1) Uf H(1) H(0) |01i = (−)f (0) + (−)f (1) |0i + (−)f (0) − (−)f (1) |1i |−i
2
Descartando o primeiro qubit |m0 i, que agora vale |−i, e chamando o resultado de |ϕi, temos:
1 nh i h i o
|ϕi = (−)f (0) + (−)f (1) |0i + (−)f (0) − (−)f (1) |1i (7.1)
2

(e) Um pouco de reflexão nos mostra que |ϕi na Eq. (7.1) também pode ser escrito desta forma:

|ϕi = ±|f (0) ⊕ f (1)i

O sinal de menos pode ser desprezado pois representa uma fase sem efeito observável [lembre-se: eiπ = −1].

◮ Conclusão:
A Eq. (7.1) mais acima revela que, caso a medição do segundo qubit resulte em |ϕi = |0i, f (0) = f (1) e portanto
f (m) é constante. Caso |ϕi = |1i, f (0) 6= f (1) e f (m) é balanceada. Através de uma única operação com f (m) foi
possı́vel determinar uma propriedade global da função, resultado impossı́vel de ser obtido classicamente. Decidir
se f (m) é constante ou balanceada usando um algoritmo clássico envolveria o cálculo de f (0) e de f (1), o algoritmo
de Deutsch porém requer um único teste: um computador quântico pode avaliar f (0) e f (1) simultaneamente
[fisicamente o algoritmo de Deutsch aproveita-se da interferência quântica].

◮ Comentário:
Existe a versão generalizada do algoritmo de Deutsch, conhecida como algoritmo de Deutsch-Josza. Neste caso, o
problema a ser resolvido envolve a função lógica de n bits de entrada:

g : {0, 1}n → {0, 1}

Classicamente, concluir se g = g(m0 , m1 , . . . , mn ) é constante ou balanceada pode requerer 2n /2 + 1 testes [note


n
que agora há 22 possibilidades]. O algoritmo de Deutsch-Josza é capaz de chegar ao mesmo resultado com uma
única chamada da função. Mais detalhes nas Refs. [1, 2, 11–13].

7.2 Simulação
Para ilustrar o algoritmo de Deutsch, vamos usar a porta NOT controlada, CNOT=CX, como oráculo:
 
CX(1,0) |m1 i|m0 i = |m1 i|m0 ⊕ f (m1 )i = |m1 i|m0 ⊕ m1 i Lembrar: CX(1,0) = CX(ctrl,alvo)

Naturalmente agora o oráculo deixou de ser oráculo porque conhecemos a porta. Podemos então calcular previamente
o resultado esperado. Com efeito, como f (m1 ) = m1 , temos f (0) = 0 6= f (1) = 1, trata-se, portanto, de uma função
balanceada e uma medição do segundo qubit deve resultar em |ϕi = |1i. As Figs. 7.2 e 7.3 mostram o circuito e o
resultado da simulação.

|m0 i = |0i X H X Descartar

|m1 i = |0i H • H |ϕi = |1i


Fig. 7.2: Circuito para o algoritmo de Deutsch com a porta CX = CNOT no lugar do oráculo Uf . A porta extra X em |m0 i serve para
levar o estado |0i ao estado |1i: X|0i = |1i.

P
0.9
213 = 8 192 Shots
0.6 local.qasm.sim
ibmqx4 (5qb)
0.3
0.0
|0i

|1i

Fig. 7.3: Simulação do circuito exibido na Fig. 7.2. O resultado em vermelho foi obtido com o chip quântico real da IBM ibmqx4.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 8

Transformada Quântica de Fourier (QFT)

8.1 Definição
A transformada discreta de Fourier (DFT) do conjunto {f (0), f (1), . . . , f (N − 1)} é definida assim:
N −1  
1 X 2π
F {f (m)} = g(k) = √ exp i mk f (m) k = 0, 1, . . . , N − 1
N m=0 N

A transformada quântica de Fourier (QFT) é análoga à DFT tradicional. Seja o registro quântico de n qubits:

|min = |mn−1 mn−2 · · · m0 i |0in = |00 · · · 0i |N − 1in = |11 · · · 1i N = 2n

A QFT aplicada a |min é:


N −1   N −1  
1 X 2π 1 X km km 2π
F|min = √ exp i km |kin = √ ωN |kin m = 0, 1, . . . , N − 1; ωN = exp i km (8.1)
N k=0 N N k=0 N

(a) Agora seja o estado quântico genérico:


N
X −1
|ψi = cm |min
m=0

A QFT aplicada a |ψi é:


N
X −1 N
X −1 N −1   N −1
e = 1 X 2π 1 X mk
F|ψi = |ψi F {cm |min } = bk |kin ; bk = √ cm exp i mk = √ c m ωN
N m=0 N N m=0
m=0 k=0

e = F|ψi.
A QFT é um operador linear, conhecendo sua ação na base computacional |min sabemos calcular |ψi

(b) A QFT também é unitário, preserva a norma do estado quântico:


N
X −1 N
X −1
hψ|ψi = 2
|cm | = e ψi;
|bk |2 = hψ| e F † F = FF † = 1
b
m=0 k=0

A transformada quântica de Fourier é um ingrediente importante de outros algoritmos quânticos, como o algoritmo sobre
fatores primos de Shor [1, 2, 4] ou o de sistemas lineares [14].

8.2 Representação Matricial


A QFT pode ser representada como uma matriz cujos elementos Fm′ m = nhm′ |F|min são:
N −1 N −1
1 X km 1 X km


ωm m
F|min = √ ωN |kin ⇒ n m′ |F|m n = √ ωN δm′ k = √N ; m = 0, 1, . . . , N − 1; N = 2n
N k=0 N k=0 N

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Transformada Quântica de Fourier – QFT 29

(a) Escrevendo a representação matricial de F explicitamente:


 m′ |m h0| h1| h2| ··· hN −1|

|0i 1 1 1 ··· 1
   
1  
1 2 N −1

′ m′ m
ωN |1i 1 ωN ωN ··· ωN
  km 2π
n m |F|m n = √ ⇒ F=√  ; ωN = exp i km
2 4 2(N −1)
|2i 1 ωN ωN ··· ωN
N N .. .. .. .. .. .. 

N
. . . . . .
N −1 2(N −1) (N −1)(N −1)
|N −1i 1 ωN ωN ··· ωN

(b) Para n = 1 qubit, logo N = 2n = 2, a matriz F é:


2−1  
1 X km



ω2m m 1 1 1
m |F|m = √ ω2 δ m ′ k = √ ⇒ F=√ =H
2 k=0 2 2 1 −1

A QFT se n = 1 é a simplesmente a porta Hadamard H.

(c) Para n = 2 qubits, logo N = 2n = 4, a matriz F é:


 m′ |m h0| h1| h2| h3|   
1 1 1 1
m′ m |0i 1 1 1 1

ωN 1  1 1 i −1 −i 

m′ |F|m = √ ⇒F =  |1i 1 ω41 ω42 ω43  =
4 2 |2i 1 ω42 ω44 ω46 2 1 −1 1 −1

|3i 1 ω43 ω46 ω49
1 −i −1 i

8.3 Representação de Circuito


Para implementar a QFT em um computador quântico como o da IBM, devemos escrever um circuito quântico que
reproduza a Eq. (8.1).

(a) Em primeiro lugar, notemos que a Eq. (8.1), após um bocado de álgebra, pode ser escrita como um produto
tensorial:
N −1   1 1
" n
#
1 X 2π 1 X X X kn−l
F|min = √ exp i mk |kin = √ ··· exp i2πm |kn−1 kn−2 · · · k1 k0 i
N k=0 N N k =0 2l
n−1 k0 =0 l=1
      (8.2)
X 1 1
XO n n
1 kn−l 1 O 2πm
=√ ··· exp i2πm l |kn−l i = √ |0i + exp i l |1i
N k =0 k =0 l=1 2 N l=1 2
n−1 0

(b) Agora vamos separar m/2l em parte inteira e fracionária. Lembremos que:
n
m X
= mn−p 2n−p−l = mn−1 2n−1−l + · · · + ml 20 + ml−1 2−1 + · · · + m0 2−l ≡ mn−1 · · · ml . ml−1 · · · m0
2l
p=1

Então:
n n−l l
m X n−p−l
X
n−p−l
X ml−p
= mn−p 2 = mn−p 2 +
2l 2p
p=1 p=1 p=1

Então:
     
  n−l
X l
X l
X
2πm ml−p ml−p
exp i = expi2π mn−p 2n−p−l  expi2π  = expi2π  (8.3)
2l 2p 2p
p=1 p=1 p=1

Um exemplo com l = 2 para usarmos mais à frente:


l=2
X m2−p m1 m0 m1 21 m0 20 m1 m0
= + = + 2 ≡ = 0.m1 m0
2p 21 22 22 2 22
p=1

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Transformada Quântica de Fourier – QFT 30
h i
|m0 i • H × √1
2
|0i + ei2π0.m1 m0 |1i
h i
|m1 i H R2 × √1 |0i + ei2π0.m0 |1i
2

Fig. 8.1: Circuito que calcula a transformada quântica de Fourier no registro de n = 2 qubits |mi2 = |m1 m0 i.

(c) Substituindo a Eq. (8.3) na Eq. (8.2) vem:


   
1 O 
n Xl
m l−p 
F|min = √ |0i + expi2π |1i
N  2p 
l=1 p=1

(d) Se n = 2 por exemplo, a equação anterior fica:


   
2 
ml−p   1 h ih i
O X l
1 i2π0.m0 |1i |0i + ei2π0.m1 m0 |1i
F|mi2 = √ |0i + expi2π |1i = |0i + e (8.4)
4 l=1  2p  2
p=1

(e) Considere agora a seguinte porta de fase:


(
R(0,1)
k |mi|0i = |mi|0i
(0,1)  k

Rk |mi|1i = exp i2πm/2 |mi|1i

Rk = R(ctrl,alvo)
k é uma porta controlada, adiciona uma fase ao qubit alvo apenas se o qubit de controle estiver no
estado |1i. No subespaço de um qubit, a matriz de Rk é:
 
1  0 
Rk =
0 exp i2π/2k
h i
Introduzindo o operador Rk , a QFT para n = 2 qubits pode ser expressa como F = SWAP H(0) R(0,1) 2 H(1) |mi ,
2
como mostra a Fig. 8.1. De fato, para n = 2, |mi2 = |m1 m0 i e a porta Hadamard atuando no qubit |m1 i produz:
1 h i 1 h i
H(1) |m1 m0 i = √ |0i + eiπm1 |1i |m0 i = √ |0i + ei2π0.m1 |1i |m0 i
2 2

Agora a porta de fase controlada R(0,1)


2 :
1 h i h i
i2π0.m1 R(0,1) |1i|m i = √1 |0i + ei2π0.m1 m0 |1i |m i
R(0,1)
2 H(1)
|m1 m0 i = √ |0i|m0 i + e 2 0 0
2 2
Aplicando a outra porta Hadamard no qubit |m0 i temos:
1h ih i
H(0) R(0,1)
2 H(1) |m1 m0 i = |0i + ei2π0.m1 m0 |1i |0i + ei2π0.m0 |1i
2
Exceto pela ordem inversa dos qubits, este resultado representa a QFT aplicada a um registro de 2 qubits. Incluindo
a porta SWAP, recuperamos precisamente o resultado visto na Eq. (8.4):
h i 1h ih i
F|mi2 = SWAP H(0) R(0,1) H(1)
|m m i = |0i + e i2π0.m0 |1i |0i + ei2π0.m1 m0 |1i
2 1 0
2
1 h i
= |00i + ei2π0.m1 m0 |01i + ei2π0.m0 |10i + ei2π(0.m0 + 0.m1 m0 ) |11i
2

(f ) O registro de n = 2 qubits pode ser iniciado em 4 estados: |0i = |00i, |1i = |01i, |2i = |10i e |3i = |11i. A QFT
aplicada a cado um destes estados é:
  
 F|0i = F|00i = 12 |00i + |01i + |10i + |11i

F|1i = F|01i = 1 |00i + i|01i − |10i − i|11i

2 
F|mi2 = F|m1 m0 i ⇒ 1 (8.5)

 F|2i = F|10i = |00i − |01i + |10i − |11i

 2  
F|3i = F|11i = 12 |00i − i|01i − |10i + i|11i

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Transformada Quântica de Fourier – QFT 31
h i
|m0 i • • H × √1 |0i
2h
+ ei2π0.m2 m1 m0 |1i
i
|m1 i • H R2 1
√ |0i
2
+ ei2π0.m1 m0 |1i
h i
|m2 i H R2 R3 × √1 |0i + ei2π0.m0 |1i
2
h i
|m0 i • • • H × √1 |0i
2h
+ ei2π0.m3 m2 m1 m0 |1i
i
|m1 i • • H R2 × 1
√ |0i
2
+ ei2π0.m2 m1 m0 |1i
h i
|m2 i • H R2 R3 × √1 |0i + ei2π0.m1 m0 |1i
2
h i
|m3 i H R2 R3 R4 × √2 |0i + ei2π0.m0 |1i
1

Fig. 8.2: Circuito que calcula a QFT para n = 3 e n = 4 qubits.

Sem muitos detalhes, vejamos agora o caso de n qubits. Para um registro |min de n qubits, o primeiro etapa para obter
o circuito que calcula a QFT é notar que:
1  
= √ |0i + ei2π0.mn−1 mn−2 . . . m0 |1i |mn−2 . . . m0 i
(n−3,n−1) (n−2,n−1) (n−1)
R(0,n−1)
n · · · R3 R2 H |mn−1 mn−2 . . . m0 i
2

Esta etapa envolve uma porta Hadamard H(n−1) aplicada ao qubit |mn−1 i e n − 1 portas R(ctrl,alvo)k também aplicadas
a |mn−1 i mas usando, de acordo com a ordem de aplicação, os qubits |mn−2 i, |mn−3 i, . . . , |m0 i como controle. A segunda
etapa envolve novamente uma porta Hadamard H(n−2) , aplicada ao qubit |mn−2 i, e n − 2 portas Rk :
1   (0,n−2)
√ |0i + ei2π0.mn−1 mn−2 . . . m0 |1i Rn−1 (n−4,n−2) (n−3,n−2) (n−2)
· · · R3 R2 H |mn−2 . . . m0 i
2
A transformada completa é alcançada após n − 1 etapas como as anteriores, mais uma única porta Hadamard H(n−1)
agindo no qubit |mn−1 i, e por fim a operação de SWAP. Desconsiderando as portas SWAP, a QFT de n qubits requer n
portas Hadamard H e (n − 1) + (n − 2) + · · · + 1 = n(n − 1)/2 portas Rk , perfazendo um total de n2 /2 + n/2 ∼ O(n2 )
portas. A Fig. 8.2 exibe o circuito que calcula a QFT em registros de n = 3 e n = 4 qubits.

8.4 QFT Inversa

Nada muito diferente do discutido acima. A QFT inversa é:


N −1   n    
−1 1 X 2π 1 O 2πm
F |min = √ exp −i mk |kin = √ |0i + exp −i l |1i
N k=0 N N l=1 2

(a) Separando m/2l em parte inteira e fracionária obtemos:


   
On     On  Xl 
1 2πm 1 m l−p 
F −1 |min = √ |0i + exp −i l |1i = √ |0i + exp−i2π |1i
N l=1 2 N l=1  2p 
p=1

(b) Se n = 2, temos:
2    
1 O 2πm 1h ih i
F −1
|mi2 = √ |0i + exp −i l |1i = |0i + e−i2π0.m0 |1i |0i + e−i2π0.m1 m0 |1i
4 l=1 2 2

8.4.1 Circuito da QFT Inversa


h i
A QFT do registro |mi2 pode ser decomposta na sequência de operações F = SWAP H(0) R(0,1)
2 H(1) |m m i . A QFT
1 0
inversa é a inversa desta sequência.

(a) As portas são unitárias, e a porta Hadamard e a SWAP são Hermitianas:


   
−1 † 1 0 −1 † 1 1 1
Rk = Rk =   H =H =H= √ SWAP−1 = SWAP† = SWAP
0 exp −i2π/2k 2 1 −1
Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Transformada Quântica de Fourier – QFT 32
h i
|m0 i × H • √1
2
|0i + e−i2π0.m1 m0 |1i
h i
|m1 i × R†2 H √1 |0i + e−i2π0.m0 |1i
2

Fig. 8.3: Circuito para a QFT inversa de um registro de n = 2 qubits |mi2 = |m1 m0 i.

(b) Portanto, a QFT inversa do registro |mi2 se escreve:


 
F −1 |mi2 = H(1) R†(0,1)
2 H(0) SWAP |m1 m0 i = H(1) R†(0,1)
2 H(0) |m0 m1 i

A Fig. 8.3 exibe o circuito que realiza estas operações.

(c) A QFT inversa aplicada aos 4 estados de 2 qubits é:


 −1  
 F |00i = 21 |00i + |01i + |10i + |11i = F|00i

F −1 |01i = 1 |00i − i|01i − |10i + i|11i

−1 −1 2 
F |mi2 = F |m1 m0 i ⇒
F −1 |10i = 21 |00i − |01i + |10i − |11i = F|10i


 −1  
F |11i = 12 |00i + i|01i − |10i − i|11i

b a aplicação da QFT e sua inversa deve recuperar o estado original. Por exemplo:
Como F −1 F = F † F = 1,
1  1
F −1 F|00i = F −1 |00i + |01i + |10i + |11i = 4|00i = |00i
2 4

8.5 Simulação 1: |ψi = F|00i

|m0 i = |0i • H ×
|ψi = F|00i
|m1 i = |0i H R2 ×

Fig. 8.4: QFT aplicada ao estado de 2 qubits |00i.

Os resultados mostrados na Fig. 8.5 correspondem a QFT aplicado ao estado |00i [ver Eq. (8.5)]:
 
|ψi = F|0i2 = F|00i = 21 |00i + |01i + |10i + |11i

Uma medição de |ψi pode resultar em um dos 4 estados de 2 qubits com igual probabilidade:

P (|ψi = |00i) = P (|ψi = |01i) = P (|ψi = |10i) = P (|ψi = |11i) = 1/4 (8.6)

P 212 = 4 096 Shots P 213 = 8 192 Shots


0.3 0.3
Teo. Teo. local.qasm.sim
0.2 0.2 ibmq.qasm.sim
ibmqx4: 5 qbits
0.1 0.1 ibmqx5: 16 qbits

0.0 0.0
i i i i i i i i
|00 |01 |10 |11 |00 |01 |10 |11
Fig. 8.5: Simulações reais e artificiais do circuito da Fig. 8.4. 213 = 8 192 é número máximo de shots aceito pelos dispositivos da
IBM. A linha horizontal tracejada em azul corresponde ao resultado teórico esperado visto na Eq. (8.6).

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Transformada Quântica de Fourier – QFT 33

|m0 i = |0i H • H ×  
|ψi = F H(0) |00i
|m1 i = |0i H R2 ×

Fig. 8.6: QFT com uma porta Hadamard extra H. A parte tracejada indica o circuito da QFT.

 
8.6 Simulação 2: |ψi = F H(0) |00i

O circuito da Fig 8.6 realiza a seguinte operação:


 
 (0)
1   1 1+i 1−i
|ψi = F H |00i = √ F |00i + |01i = √ |00i + |01i + 0|10i + |11i
2 2 2 2
P
As probabilidades são [observe que P = 1]:

P|00i = |h00|ψi|2 = 1/2 P|10i = |h10|ψi|2 = 0 P|01i = P|11i = |h01|ψi|2 = |h11|ψi|2 = 1/4

P
Teo.
213 = 8 192 Shots
0.4 local.qasm.sim
ibmq.qasm.sim
Teo. ibmqx4
0.2 ibmqx5

0.0
i i i i
|00 |01 |10 |11
Fig. 8.7: Resultado da simulação do circuito na Fig. 8.6.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 9

Teleporte Quântico

O teleporte quântico é uma aplicação fascinante da mecânica quântica, ele permite a transmissão de um estado quântico
por meio do envio apenas de um sinal clássico. Infelizmente, os chips da IBM ainda não aceitam operações condicionais
do tipo IF, e isso impede de simularmos o teleporte trocando bits clássicos. Contudo, o exemplo a seguir captura as
principais caracterı́sticas do fenômeno sem a necessidade de estruturas condicionais.

9.1 Circuito de Teleporte de 3 Qubits


 
|m0 i = α|0i + β|1i • H • |ϕ0 i = √1 |0i + |1i
2
 
|m1 i = |0i H • X • |ϕ1 i = √1 |0i + |1i
2
|m2 i = |0i X X H X H |ϕ2 i = |m0 i = α|0i + β|1i
|φ+ i|m0 i
Fig. 9.1: Circuito que realiza o teleporte do qubit |m0 i da primeira linha para o da terceira linha |m2 i. Até a primeira
 √linha tracejada,
o circuito emaranha os qubits |m2 m1 i = |00i e forma o par EPR |m2 m1 i = |00i → |φ+ i = |00i + |11i / 2.

O circuito da Fig. 9.1 realiza a seguinte operação [lembrar: CX(k,l) = CX(ctrl,alvo) ]:


h ih i
|ψi = H(2) CX(0,2) H(2) CX(1,2) H(0) CX(0,1) CX(1,2) H(1) |m2 m1 m0 i

Iniciando o registro no estado inicial |ψi i = |m2 m1 m0 i = |00i|m0 i, obtemos o estado final:
1   1  
|ψf i = |ϕ2 i|ϕ1 i|ϕ0 i = |m0 i √ |0i + |1i √ |0i + |1i
2 2

(a) Efetivamente, as duas primeiras portas criam o estado de Bell |φ+ i = [|00i + |11i]/ 2:
1   1  
CX(1,2) H(1) |00i|m0 i = √ CX(1,2) |00i + |01i |m0 i = √ |00i + |11i |m0 i = φ+ |m0 i
2 2
(b) Substituindo agora |m0 i = α|0i + β|1i, vem:
α   β  
CX(1,2) H(1) |00i|m0 i = φ+ |m0 i = √ |000i + |110i + √ |001i + |111i
2 2
1   +   −    
= α |0i + |1i φ + α |0i − |1i φ + β |0i + |1i ψ + + β |0i − |1i ψ −
2
Após as 2 primeiras portas, obtivemos então uma combinação linear dos estados de Bell |ψ ± i e |φ± i.
(c) A primeira parte do circuito, até a segunda linha tracejada, fornece:
h i  
(0) (0,1) (1,2) (1) (0) (0,1) α   β  
H CX CX H |00i|m0 i = H CX √ |000i + |110i + √ |001i + |111i
2 2
1 n        o
= α|0i + β|1i |00i + α|0i − β|1i |01i + α|1i + β|0i |10i + α|1i − β|0i |11i
2
(d) As portas após a segunda linha tracejada fornecem o resultado final:
1   1   α  β 
|ψf i = |m0 i √ |0i + |1i √ |0i + |1i = |000i + |001i + |010i + |011i + |100i + |101i + |110i + |111i
2 2 2 2
(9.1)

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Teleporte Quântico 35

9.2 Simulação 1: Usando 3 Medidores

|m0 i = |0i • H •
|m1 i = |0i H • X • |ψf i
|m2 i = |0i X X H X H

Fig. 9.2: Circuito idêntico ao da Fig. 9.1, mas aqui o primeiro qubit inicia no estado |m0 i = |0i.

Vamos simular o teleporte iniciando com o estado |ψi i = |m2 m1 m0 i = |000i, como mostra a Fig. 9.2. Neste caso, a saı́da
do circuito é:
1 
|ψi i = |000i → |ψf i = |000i + |001i + |010i + |011i
2
Para obter o resultado acima, substitua (α, β) = (1, 0) na Eq. (9.1). Há 8 estados de 3 qubits. As probabilidades são:

P|000i = P|001i = P|010i = P|011i = 1/4 P|100i = P|101i = P|110i = P|111i = 0

A Fig. 9.3 exibe o resultado da simulação usando 3 medidores.

P
0.3
Teo. local.qasm.sim
0.2 ibmq.qasm.sim
ibmqx4 (5qb)
213 = 8 192 Shots
0.1 melbourne (14qb)

0.0
|000i

|001i

|010i

|011i

|100i

|101i

|110i

|111i
Fig. 9.3: Resultados obtidos com o circuito da Fig. 9.2.

9.3 Simulação 2: Usando 1 Medidor

|m0 i = |0i • H • Descartar


|m1 i = |0i H • X • Descartar
|m2 i = |0i X X H X H |ϕ2 i0 = |m0 i

Fig. 9.4: Circuito idêntico ao da Fig. 9.2, mas aqui vamos usar apenas um medidor no terceiro qubit |m0 i; vamos realizar uma
medição parcial.

Usando apenas uma porta de medição no terceiro qubit como mostra a Fig. 9.4, a saı́da esperada é:

|ψi i = |000i → |ϕ2 i = |m0 i = |0i

1.0
P 213 Shots
0.8
local.qasm.sim
0.6 ibmq.qasm.sim
ibmqx4 (5qb)
0.4
melbourne (14qb)
0.2
0.0
|0i

|1i

Fig. 9.5: Resultados obtidos com o circuito da Fig. 9.4.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Teleporte Quântico 36

9.4 Simulação 3: Tomografia de Estado

|m0 i = |0i H • H • Desc.


|m1 i = |0i H • X • Desc.
 
|m2 i = |0i X X H X H |ϕ2 iZ = H|m0 i = √1 |0i + |1i
2
|φ+ i[H|m0 i]
|m2 i = |0i Identical Above |m2 i Wire H |ϕ2 iX = H|ϕ2 iZ
|m2 i = |0i Identical Above |m2 i Wire S† H |ϕ2 iY = HS† |ϕ2 iZ

Fig. 9.6: Circuito do teleporte, mas agora com uma porta Hadamard aplicada ao primeiro qubit: |m0 i → H|0i. Vamos usar apenas um
medidor, a fim de capturar o resultado do terceiro qubit |m2 i. Para obter a matriz densidade ρ, são necessárias 3 simulações,
uma para |ϕ2 iZ , outra para |ϕ2 iY e a terceira para |ϕ2 iX . As portas extras adicionadas ao qubit |m2 i emulam medições nas
bases σx e σy , conforme Fig. 9.7.

= H = S† H
σx σz σy σz

Fig. 9.7: Portas adicionais para medições em outras bases: uma porta extra H para σx , e uma porta S† seguida de uma H para σy .

Nesta seção usaremos os dados da simulação para calcular a matriz densidade ρ. Vamos calcular apenas a matriz
associada ao terceiro qubit |m2 i, a matriz completa é grande, contém 64 elementos.

|m2 m1 m0 i = |00i[H|0i] e usando 3 medidores, a saı́do |ψf i do circuito da Fig. 9.7 é [basta
(a) Iniciando com |ψi i = √
substituir (α, β) = 1/ 2 na Eq. (9.1)]:
|0i + |1i |0i + |1i |0i + |1i
|ψf i = |ϕ2 iZ |ϕ1 i|ϕ0 i = √ √ √ =
2 2 2
(9.2)
1  
= √ |000i + |001i + |010i + |011i + |100i + |101i + |110i + |111i
2 2

(b) Por outro lado, efetuando uma medição parcial no terceiro qubit, a saı́da é:
|0i + |1i
|ϕ2 iZ = √ (9.3)
2

(c) Adicionando portas extras ao terceiro qubit |m2 i para simular medições em outras bases, as saı́das são:
|0i + |1i
|ϕ2 iX = H|ϕ2 iZ = H √ = |0i
2
(9.4)
S† |0i + S† |1i |0i − i|1i (1 − i)|0i + (1 + i)|1i
|ϕ2 iY = HS† |ϕ2 iZ = H √ =H √ =
2 2 2
As simulações dos 3 circuitos da Fig. 9.6 estão na Fig. 9.9 mais abaixo.
(d) Olhemos agora a matriz densidade. A matriz densidade inicial ρi é:
 h000| h001| h010| h011| h100| h101| h110| h111|

|000i 1 1 0 0 0 0 0 0
  
1 
|001i 1 1 0 0 0 0 0 0
|0i + |1i h0| + h1|  |011i
|010i 0 0 0 0 0 0 0 0 
ρi = |ψi ihψi | = |00i √ h00| √ =  |100i 00 00 00 00 00 00 00 00 
2 2 2  |101i 0 0 0 0 0 0 0 0 
|110i 0 0 0 0 0 0 0 0
|111i 0 0 0 0 0 0 0 0

(e) A matriz densidade final ρf é obtida do estado |ψf i = |ϕ2 iZ |ϕ1 i|ϕ0 i visto na Eq. (9.2):
 h000| h001| h010| h011| h100| h101| h110| h111|

|000i 1 1 1 1 1 1 1 1

1 
|001i 1 1 1 1 1 1 1 1
 |011i
|010i 1 1 1 1 1 1 1 1 
ρf = |ψf ihψf | =  |100i 1 1 1 1 1 1 1 1  (9.5)
8  |101i 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

|110i 1 1 1 1 1 1 1 1
|111i 1 1 1 1 1 1 1 1

Observe que em ambos os casos, final e inicial, temos Tr ρ = 1, ρ† = ρ [como deveria], e ρ2 = ρ [estado puro].

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Teleporte Quântico 37
Tab. 9.1: Médias usadas para montar the experimental density matrix ρ in Eq. (9.7).

Mean Teoria local.sim ibmqx4 melbourne Circuito


hσx i 1 1.0 +0.70996 0.27222 |ψiX
hσy i 0 0.00928 −0.17456 0.28076 |ψiY
hσz i 0 0.00170 +0.00586 0.23584 |ψiZ

(2)
(f ) A matriz densidade final ρf associada a |ϕ2 iZ é obtida com a Eq. (9.3):
    h0| h1| 
(2) |0i + |1i h0| + h1| 1  1
ρf = |ϕ2 ihϕ2 | = √ √ = |0ih0| + |0ih1| + |1ih0| + |1ih1| = |0i 1 1 (9.6)
2 2 2 2 |1i 1 1

(g) A matriz densidade na Eq. (9.6) pode também ser obtida por meio do traço parcial sobre o primeiro e o segundo
qubit de ρf dado na Eq. (9.5). Com efeito:
1 X
X 1
(2)  

ρf = Tr01 ρf = lm ρf lm = h00|ρf |00i + h01|ρf |01i + h10|ρf |10i + h11|ρf |11i =
l=0 m=0
 
4  1 h0| h1|
= |0ih0| + |0ih1| + |1ih0| + |1ih1| = |0i 1 1
8 2 |1i 1 1

(h) Qualquer matriz densidade de n = 1 qubit pode ser escrita como [ver Cap. 10]:
 
b2 + hσx iσx + hσy iσy + hσz iσz
1 1 1 + hσz i hσx i − ihσy i
ρ= = (9.7)
2 2 hσx i + ihσy i 1 − hσz i

Para obter as médias hσi i, i = x, y, z, basta ler as probabilidades nos histogramas da Fig. 9.9 e usar:
X
hσi i = P|mii ihm|σi |mii = P|0ii − P|1ii ; i = x, y, z
m=0,1

(i) Dispondo dos valores médios hσi i [ver Tab. 9.1], podemos montar a matriz densidade:
 
local.sim 1 1.0017 1.0000 − 0.0093i 
ρ = ; F ρ, ρlocal.sim = 1.0
2 1.0000 + 0.0093i 0.9983
 
ibmqx4 1 1.0059 0.7100 + 0.1746i 
ρ = ; F ρ, ρibmqx4 = 0.8550 (9.8)
2 0.7100 − 0.1746i 0.9941
 
1 1.2358 0.2722 − 0.2808i 
ρmelbourne = ; F ρ, ρmelbourne = 0.6361
2 0.2722 + 0.2808i 0.7642

A Fig. 9.8 exibe essas matrizes representadas graficamente. As matrizes obtidas na simulação devem ser comparadas
com o resultado teórico para ρ na Eq. (9.6).

local. sim ibmqx4 melbourne

1⟩0 1⟩0 1⟩0

0⟩5 0⟩5 0⟩5

0⟩0 0⟩0 0⟩0

−0⟩5 −0⟩5 −0⟩5

−1⟩0 −1⟩0 −1⟩0

|1⟩ |1⟩ |1⟩

|0⟩ |0⟩ |0⟩


|0⟩ |0⟩ |0⟩
|1⟩ |1⟩ |1⟩

Fig. 9.8: Graphical representation of the density matrices in Eq. (9.8) [real part].

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Teleporte Quântico 38

(j) A Eq. (9.8) também exibe a fidelity F (ρ1 , ρ2 ). Como explicado no Cap. 11, a quantum fidelity is definida como:
 q 
√ √  √ 
F (ρ, ρsim ) = Tr ρρsim ρ 2 = Tr ρρsim ρ 2 = Zhϕ2 |ρsim |ϕ2 iZ

Nesta equação, ρ é o resultado teórico da Eq. (9.6), e ρsim a matriz obtida na simulação. As duas igualdades mais

à direita decorrem de ρ em (9.3) representar um estado puro [i.e., ρ2 = ρ = ρ = |ϕ2 ihϕ2 | com |ϕ2 i = |ϕ2 iZ ].

local.qasm.sim ibmqx4 (5qb)


melbourne (14qb)
P P P
0.6 0.6 Teo
|ϕ2 iZ : 213 Shots |ϕ2 iY : 213 Shots |ϕ2 iX : 213 Shots
Teo Teo 0.8
0.4 0.4 0.6
0.4
0.2 0.2
0.2
0.0 0.0 0.0
|0i

|1i

|0i

|1i

|0i

|1i
Fig. 9.9: Simulation results of the circuits in Fig. 9.6. The histograms correspond to a partial measurement in the third qubit; theory
follows Eqs. (9.3) and (9.4).

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 10

Density Matrix

10.1 Density Matrix: 1 Qubit


Using the vector Sµ defined as:

Sµ = (S0 ; Si ) = (S0 ; S) = (S0 ; S1 , S2 , S3 ) = (S0 ; Sx , Sy , Sz ); b 2 , σx , σy , σz
σµ = (σ0 ; σ) = (σ0 , σ1 , σ2 , σ3 ) = 1

the general single qubit density matrix ρ, that satisfy ρ† = ρ, may be written as:
3
" 3
#    
1X 1 b
X 1 b  1 S0 + S3 S1 − iS2 1 S0 + Sz Sx − iSz
ρ= Sµ σµ = S0 12 + Si σi = S0 12 +S·σ = = ; (10.1)
2 2 2 2 S1 + iS2 S0 − S3 2 Sx + iSy S0 − Sz
µ=0 i=1

This is because any 2 × 2 Hermitian matrix can be expanded using real coefficients over the basis b2 , σx , σy , σz . It’s
1
straightforward to show that the real coefficients {Sx , Sy , Sz } of ρ are equal the mean value of the Pauli matrices, and
that S0 = 1 since Tr ρ = 1, namely:
" 3
#  
1 b X b2 + hσx iσx + hσy iσy + hσz iσz
1 1 1 + hσz i hσx i − ihσy i
ρ= 12 + hσi iσi = = ; hσi i = Tr[ρσi ]
2 2 2 hσx i + ihσy i 1 − hσz i
i=1

Indeed, multiplying both sides of Eq. (10.1) by σj and taking into account that Tr σi = 0 and Tr[σi σj ] = 2δij we have:
" 3
# " 3
#
1   X 1 X 1
hσj i = Tr[ρσj ] = S0 Tr 1b 2 σj + Si Tr[σi σj ] = 0+ b2 = 1 ⇒ S0 = 1
Si 2δij = Sj ; Tr ρ = S0 Tr 1
2 2 2
i=1 i=1

In the pure case ρ2 = ρ, thus Tr ρ2 = Tr ρ = 1 and S · S = |S|2 = 1; indeed:


3 3 3 3
" 3
#
2 1 X 2 1 X 2 X 1X 2 1 X
2
ρ = Sµ Sν σµ σν ⇒ Tr ρ = Sµ Sν Tr[σµ σν ] = Sµ Sν δµν = Sµ = 1+ Si = 1
4 4 4 2 2
µ,ν=0 µ,ν=0 µ,ν=0 µ=0 i=1

Therefore:
3
X
Si2 = |S|2 = 1
i=1

ρ must have nonnegative eigenvalues, more precisely, ρ must be positive-semidefinite¶ . A necessary and sufficient condi-
tion to this happen is Det ρ ≥ 0 [since Tr ρ = 1, it is not possible for ρ to have 2 negative eigenvalues; therefore Det ρ ≥ 0
is a sufficient condition]. Using Eq. (10.1) with S0 = 1:
 
Det ρ = 1 − S32 − S12 + S22 ≥ 0 ⇒ |S|2 = S12 + S22 + S32 ≤ 1 ⇒ 0 ≤ |S| ≤ 1

Notice also that for the general qubit state we have:



hψ|σx |ψi = hσx i = cos ϕ sin θ
|ψi = cos(θ/2)|0i + eiϕ sin(θ/2)|1i ⇒ hψ|σy |ψi = hσy i = sin ϕ sin θ

hψ|σz |ψi = hσz i = cos2 (θ/2) − sin2 (θ/2) = cos θ

A Hermitian matrix A is positive semidefinite if hx|A|xi ≥ 0. Some properties: If A is positive semidefinite then (i) all its eigenvalues λi
are nonnegative, i.e., λi ≥ 0; (ii) Tr A ≥ 0 and Det A ≥ 0.

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Density Matrix 40

Hence, the vector S can be written in the pure case as:

S = Sx x b + Sz b
b + Sy y z = hσx ib
x + hσy ib
y + hσz ib b + sin ϕ sin θ y
z = cos ϕ sin θ x b + cos θ b
z ⇒ |S| = 1

The result 0 ≤ |S| ≤ 1 defines a unit ball knows as Bloch Sphere. The boundary |S| = 1 corresponds to density matrices
with vanishing determinant Det ρ = 0. Since Tr ρ = 1, theses matrices have eigenvalues 0 and 1, they therefore represent
pure states. On the other hand, the maximally mixed state of a single qubit is characterized by hσx i = hσy i = hσz i = 0.
In this case |S| = 0 and the density matrix is:
 
1b 1 1 0
ρ = 12 =
2 2 0 1

10.2 Density Matrix: Mean Values


To understand the mean value from histogram data, we may think in the following way: being |mi the eigenvectors of
the operator A associated with the eigenvalue am , i.e., A|mi = am |mi, the mean value hAi is:
X X
hAi = P (am )am = P (am )hm|A|mi
m m

b2 are:
P (am ) is reading in the histogram, and hm|A|mi is known. For example, the mean of σz and of σ0 = 1
X
hσz i = P|mi hm|σz |mi = P|0i h0|σz |0i + P|1i h1|σz |1i = P|0i − P|1i
m=0,1
X
hσ0 i = P|mi hm|σ0 |mi = P|0i h0|σ0 |0i + P|1i h1|σ0 |1i = P|0i + P|1i
m=0,1

On the IBM devices we can’t measure using a generic σµ base, we are bound to the σz . We should employ the technique
of measurement in different basis discussed in Cap. 4.

10.3 Density Matrix: Pure State

In the pure case we have:


X
|ψi = cn |ni; A|ni = an |ni; P (an ) = |hn|ψi|2 = |cn |2 = hψ|nihn|ψi = hψ|Pn |ψi
n

Therefore, the matrix ρ can be written as:


X
ρ = |ψihψ| = cm c∗n |mihn|
m,n

Hence:
X X X
P (an ) = hψ|Pn |ψi = hψ|nihn|ψi = hψ|lihl|nihn|ψi = hl|nihn|ψihψ|li = hl|Pn ρ|li = Tr[ρPn ] = hPn i = hn|ρ|ni
l l l

Hence:
X X X X X X
hAi = hψ|A|ψi = c∗m cn hm|A|ni = c∗m cn an hm|ni = c∗m cn an δm,n = |cn |2 an = P (an )an = P (an )hn|A|ni
m,n m,n m,n n n n
X X X X X
hAi = hψ|A|ψi = P (an )an = hψ|Pn |ψian = hn|ψihψ|nian = hn|ρ|nian = hn|Aρ|ni = Tr[ρA]
n n n n n
X X X
hAi = hψ|A|ψi = hψ|lihl|A|ψi = hl|A|ψihψ|li = hl|ρA|li = Tr[ρA]
l l l
X X
hAi = hψ|A|ψi = P (an )hn|A|ni = an hn|ρ|ni
n n

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Density Matrix 41

10.4 Density Matrix: Statistical Mixture

For mixed states we have:


X
|ψi → {pk , |ψk i}; P (an ) → Pk (an ) = |hn|ψk i|2 = hψk |Pn |ψk i; pk = 1
k

And:
X X
ρ → ρk = |ψk ihψk |; ρ= pk ρk = pk |ψk ihψk |
k k

Hence:
X X
Pk (an ) = hψk |Pn |ψk i = hl|Pn |ψk ihψk |li = hl|Pn ρk |li = Tr[ρk Pn ]
l l

Hence:
X X X X X
P (an ) = pk Pk (an ) = pk hψk |Pn |ψk i = pk hl|Pn |ψk ihψk |li = pk hl|Pn ρk |li = hl|Pn ρ|li = Tr[ρPn ]
k k k,l k,l l

Hence:
X X X X
hAik = hψk |A|ψk i = Pk (an )an = hψk |Pn |ψk ian = hn|ψk ihψk |nian = hn|ρk A|ni = Tr[ρk A]
n n n n
X X X
hAik = hψk |A|ψk i = hψk |lihl|A|ψk i = hl|A|ψk ihψk |li = hl|Aρk |li = Tr[ρk A]
l l l

Hence:
X X X X
hAi = P (an )an = pk Pk (an )an = pk hAik = pk Tr[ρk A] = Tr[ρA]
n n,k k k

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Capı́tulo 11

Fidelity

A diferença entre dois estados puros |ψ1 i e |ψ2 i pode ser quantificada pelo overlap khψ1 |ψ2 ik2 . Para dois operadores
densidades ρ1 e ρ2 , a grandeza usada para quantificar a diferença é a quantum fidelity F (ρ1 , ρ2 ), definida como:
 q 
√ √
F (ρ1 , ρ2 ) = Tr ρ1 ρ2 ρ1 2 0 ≤ F (ρ1 , ρ2 ) ≤ 1 F (ρ1 , ρ2 ) = F (ρ2 , ρ1 ) (11.1)

(a) Quando ρ1 = ρ2 = ρ, mostre que:

F (ρ, ρ) = 1

(b) Caso ρ1 represente um estado puro, i.e., ρ21 = ρ1 = |ψ1 ihψ1 |, mostre que:

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

(c) Caso ρ1 = |ψ1 ihψ1 | e ρ2 = |ψ2 ihψ2 | representem estados puros, mostre que o overlap é recuperado:

F (ρ1 , ρ2 ) = khψ2 |ψ1 ik2

Neste caso é imediato verificar a simetria da fidelity:

F (ρ1 , ρ2 ) = khψ2 |ψ1 ik2 = khψ1 |ψ2 ik2 = F (ρ2 , ρ1 )

O resultado acima é geral, quer dizer, F (ρ1 , ρ2 ) = F (ρ2 , ρ1 ) mesmo para estados não puros.

(d) A trace norm kAk1 de uma matriz A é definida como:


p
kAk1 = Tr A† A

Caso A seja hermitiana, i.e., A† = A, a trace norm é a soma do módulo dos autovalores de A:
X
kAk1 = |λk |

Usando a trace norm, mostre que a fidelity pode ser escrita também como:
√ √
F (ρ1 , ρ2 ) = k ρ2 ρ1 k21

A trace norm tem a propriedade kAk1 = kA† k1 . Como √ρ é hermitiano, escrever a fidelity usando a trace norm
√ √ √
facilita enxergar a simetria F (ρ1 , ρ2 ) = ρ2 ρ1 1 = ρ1 ρ2 1 = F (ρ2 , ρ1 ), que é um resultado nada obvio
pela Eq. (11.1).

(e) Para estados de qubits, ou seja, estados representados por matrizes densidades 2 × 2, a Eq. (11.1) fica:
p
F (ρ1 , ρ2 ) = Tr[ρ1 ρ2 ] + 2 Det ρ1 Det ρ2 (11.2)

Este resultado não é simples de demonstrar, veja o paper do Jozsa [15]. Vamos seguir. Usando:
1 hb i
ρi = 1 + Si · σ
2
Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Fidelity 43

Podemos obter Det ρi = 1 − |Si |2 ; desta forma:


 
Det[ρ1 ρ2 ] = Det ρ1 Det ρ2 = 1 − |S1 |2 1 − |S2 |2

Agora o traço:
1 hb i 1h X i
ρ1 ρ2 = 1 + S1 · σ + S2 · σ + (S1 · σ)(S2 · σ) ⇒ Tr[ρ1 ρ2 ] = 1 + 1 Si1 Si2
4 2
pois Tr[σi σj ] = 2δij e Tr σi = 0. Logo, a Eq. (11.2) pode ser escrita também assim:

1h p i
F (ρ1 , ρ2 ) = 1 + S1 · S2 + (1 − |S1 |2 )(1 − |S2 |2 )
2

(f ) Se ρ1 e ρ2 comutam, i.e., [ρ1 , ρ2 ] = 0, existe uma base comum que diagonaliza ambos os operadores. Podemos
escrever então:
X X
ρ1 = pk |kihk| ρ2 = qk |kihk| se [ρ1 , ρ2 ] = 0
k k

Neste caso, a fidelity pode ser escrita como:


X 2

F (ρ1 , ρ2 ) = pk qk
k
√ √
Considerando p e q vetores que formam um ângulo γ entre si, a fidelity pode ser vista como um produto
escalar:
√ √ 2
F (ρ1 , ρ2 ) = p· q = cos2 γ

Detalhes em Nielsen & Chuang [1, Page 401].

Comentário 1: A definição da quantum fidelity na Eq. (11.1) é usada, por exemplo, por Preskill [16], Barnett p√ [17] e
√ 
Jozsa [15]. Nielsen & Chuang [1] e muitos outros definem a fidelity sem o quadrado, quer dizer: F (ρ1 , ρ2 ) = Tr ρ1 ρ2 ρ1 .
Vamos trabalhar com a definição vista na Eq. (11.1), que é a forma proposta por Jozsa [15] em 1994.
Comentário 2: A função F (A) de um operador A é definida por meio da expansão:
X
F (A) = fn An
n

Portanto, [A, F (A)] = 0 e [B, F (A)] = 0 caso [B, A] = 0. Detalhes em Cohen [18, Complement BII , page 166].

Material de apoio ao curso Introdução à Computação Quântica, ministrado no EDICIN, Cidade Nova–RJ, de 11 a 14 de Novembro de 2019. O curso
insere-se numa cooperação CENPES-CBPF relacionada a computação quântica e petrofı́sica por RMN, nas gerências CENPES/PDEP/GGGR e IRPS.
Referências Bibliográficas

[1] M.A. Nielsen, I.L. Chuang, Quantum Computation and Quantum Information (Cambridge University Press, Cam-
bridge, 10th Anniversary Ed., 2011). 6, 9, 10, 27, 28, 43

[2] G. Benenti, G. Casati, G. Strini, Principles of Quantum Computation and Information Vol. I: Basic Concepts
(World Scientific, Singapura, 2004). 6, 9, 20, 27, 28

[3] G. Benenti, G. Casati, G. Strini, Principles of Quantum Computation and Information Vol. II: Basic Tools and
Special Topics (World Scientific, Singapura, 2007). 6

[4] P.W. Shor, Algorithms for Quantum Computation: Discrete Logarithms and Factoring, Proc. 35th Ann. Symp.
Found. Comput. Sci. Págs. 124–134 (1994). 9, 28

[5] J.H. Vuolo, Fundamentos da Teoria de Erros (Blucher, São Paulo, 2 Ed., 1996). 13

[6] W.K. Wootters, W.H. Zurek, A Single Quantum Cannot be Cloned, Nature 299, 802–803 (1982). 19

[7] IBM Q Experience Documentation, Beginners Guide/Single-Qubit Gates/Creating Superposition (IBM, 2017). 20

[8] Ryan O’Donnell, Quantum Computation And Information (Lecture Notes, 2015). 20

[9] A.J. Thor, Prefixes for Binary Multiples, Metrologia 37, 81–81 (2000). 24

[10] B.N. Taylor, A. Thompson Eds, The International System of Units (SI) (Gaithersburg, MD: NIST Spec. Pub. Vol.
330, 2008). 24

[11] D. Deutsch, Quantum theory, the Church–Turing Principle and the Universal Quantum Computer, Proc. Royal Soc.
Lond. A 400, 97–117 (1985). 27

[12] D. Deutsch, R. Jozsa, Rapid Solution of Problems by Quantum Computation, Proc. Royal Soc. Lond. A 439, 553–558
(1992). 27

[13] R. Cleve, A. Ekert, C. Macchiavello, M. Mosca, Quantum Algorithms Revisited, Proc. Royal Soc. Lond. A 454,
339–354 (1998). 27

[14] A.W. Harrow, A. Hassidim, S. Lloyd, Quantum Algorithm for Linear Systems of Equations, Phys. Rev. Lett. 103,
150502 (2009). 28

[15] R. Jozsa, Fidelity for Mixed Quantum States, J. Mod. Opt. 41, 2315–2323 (1994). 42, 43

[16] J. Preskill, Quantum Information (Lecture Notes, 1998–2016). 43

[17] S. Barnett, Quantum Information (Oxford University Press, Oxford, 2009). 43

[18] C. Cohen-Tannoudji, B. Diu, F. Laloë, Quantum Mechanics, Vol. 1 (John Wiley & Sons, New York, 1977). 43

Você também pode gostar