Vous êtes sur la page 1sur 22

Fundamentos de lenguajes

de programacin cuntica
Da 1:
Introduccin a la computacin cuntica

Alejandro Daz-Caro
Universidad Nacional de Quilmes

22o Escuela de Verano de Ciencias Informticas


Ro Cuarto, Crdoba 9 al 14 de febrero de 2015

Un poco de historia
Richard Feynman
First Conference on the Physics of Computation, MIT, 1981

Simulacin
I

Fsica clsica = computacin clsica

Fsica cuntica = computacin clsica?


Necesidad de una computadora
cuntica para simular fsica cuntica

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

2 / 13

Un poco de historia
Richard Feynman
First Conference on the Physics of Computation, MIT, 1981

Simulacin
I

Fsica clsica = computacin clsica

Fsica cuntica = computacin clsica?


Necesidad de una computadora
cuntica para simular fsica cuntica

Entre tanto en Rusia. . .


R. P. Poplavskii
Uspekhi Fizicheskikh Nauk, 115:3, 465501, 1975

Inviabilidad computacional de simular sistemas


cunticos (debido al ppio de superposicin)
Yuri I. Manin
I

Moscow, Sovetskoye Radio, 1980


I

Uso del nmero exponencial de estados de base

Propuesta de teora de computacin cuntica

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

2 / 13

Un poco de historia (continuacin)


Paul Benioff

Charles Bennett y Gilles Brassard

Journal of Statistical Physics 29 (3):515

Int. Conference on Computers, Systems and

546, 1982

Signal Processing, EE.UU., 1984

Primer framework terico


para computacin cuntica

BB84: Mtodo de distribucind


de claves para criptografa

David Deutsch
Proceedings of the Royal Society A 400
(1818):97117, 1985
I

. . . Varios hitos histricos


omitidos . . .

Mquina de Turing Cuntica:


mquina cuntica universal

Peter Shor

Lov Grover

35th Annual Symposium on Foundations


of Computer Science, EE.UU., 1994

28th Annual ACM Symposium on the


Theory of Computing, EE.UU., 1996

Algoritmo cuntico para


factorizar nmeros primos

Alejandro Daz-Caro

Algoritmo de bsqueda
(con ganancia cuadrtica)

Fundamentos de lenguajes de programacin cuntica - RIO15

3 / 13

Contenido del curso

Lunes y Martes: Introduccin a computacin cuntica


I lgebra
I Bits cunticos y operadores
I Teorema de no-clonado
I Estados de Bell
I Codificacin superdensa y teleportacin cuntica
I Paralelismo cuntico
Algoritmo de Deutsch, Deutsch-Jotza, Grover y BB84
Mircoles: Introduccin a -clculo y teora de tipos
Jueves y Viernes: Extensiones a -clculo para computacin cuntica

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

4 / 13

lgebra

En el pizarrn
I
I
I

Alejandro Daz-Caro

Espacio de Hilbert
Producto tensorial
Notacin bra-ket

Fundamentos de lenguajes de programacin cuntica - RIO15

5 / 13

Bits cunticos
Un qubit es. . .

(para un fsico)

. . . un sistema cuntico con dos niveles de energa


y que puede ser manipulado arbitrariamente

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

6 / 13

Bits cunticos
Un qubit es. . .

(para un fsico)

. . . un sistema cuntico con dos niveles de energa


y que puede ser manipulado arbitrariamente
pero nosotros no somos fsicos. . .

(para un matemtico o informtico)

. . . un vector normalizado del espacio de Hilbert C2

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

6 / 13

Bits cunticos
Un qubit es. . .

(para un fsico)

. . . un sistema cuntico con dos niveles de energa


y que puede ser manipulado arbitrariamente
pero nosotros no somos fsicos. . .

(para un matemtico o informtico)

. . . un vector normalizado del espacio de Hilbert C2


n-qubits: un vector de

n
N

C2 = C 2

i=1

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

6 / 13

Operadores

En el pizarrn
I
I
I
I

Operador
Adjunto y propiedades
Proyector
Operador hermtico

Alejandro Daz-Caro

I
I
I
I

Operador unitario
Operador de medicin
Compuertas cunticas
Evolucin

Fundamentos de lenguajes de programacin cuntica - RIO15

7 / 13

No-controlada

Negacin

H=

Alejandro Daz-Caro

1
2

1
1

+ |1i)
|1i)

1
1

X |0i = |1i
X |1i = |0i


0 1
X=
1 0
CNOT |0x i = |0x i
CNOT |1x i = |1i X |x i


I 0
CNOT =
0 X

Identidad

H|1i =

1 (|0i
2
1 (|0i
2

Cambio
de fase

H|0i =

Matrices de
Pauli

Hadamard

Compuertas ms comunes y operadores de Pauli


I|0i = |0i
I|1i = |1i


1 0
I=
0 1
Z |0i = |0i
Z |1i = |1i


1
0
Z=
0 1

iXZ

Fundamentos de lenguajes de programacin cuntica - RIO15

8 / 13

Teorema de no-clonado
Teorema (No clonado)
No existe ninguna compuerta cuntica U tal que para algn |i CN y
para todo |i CN se cumpla
U|i = |i
Es decir. . .

No existe una mquina universal de


clonado

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

9 / 13

Teorema de no-clonado
Teorema (No clonado)
No existe ninguna compuerta cuntica U tal que para algn |i CN y
para todo |i CN se cumpla
U|i = |i
Es decir. . .

No existe una mquina universal de


clonado
o ms simplemente

No se puede copiar un qubit


desconocido

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

9 / 13

Estados de Bell

|x i

xy

|y i

Alejandro Daz-Caro

Entrada
|00i
|01i
|10i
|11i

Salida
00
01
10
11

Fundamentos de lenguajes de programacin cuntica - RIO15

=
=
=
=

1 (|00i
2
1 (|01i
2
1 (|00i
2
1 (|01i
2

+ |11i)
+ |10i)
|11i)
|10i)

10 / 13

Estados de Bell

|x i

Entrada
|00i
|01i
|10i
|11i

xy

|y i
Ejemplo:

M0
M=
M1

= |0ih0|
= |1ih1|

Salida
00
01
10
11

=
=
=
=

1 (|00i
2
1 (|01i
2
1 (|00i
2
1 (|01i
2

+ |11i)
+ |10i)
|11i)
|10i)

Entonces
(M I)00

Alejandro Daz-Caro

|00i
|11i

Fundamentos de lenguajes de programacin cuntica - RIO15

10 / 13

Codificacin superdensa

Objetivo:
Transmitir 2 bits clsicos enviando tan slo 1 qubit

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

11 / 13

Codificacin superdensa

Objetivo:
Transmitir 2 bits clsicos enviando tan slo 1 qubit
1. A y B preparan 00
Z b1 X b2 | H
00

b1

|
|

2. Se llevan cada uno un qubit


3. A aplica Z b1 X b2 a su qubit
4. A enva su qubit a B

b2

5. B aplica CNOT y H a ambos


6. B mide

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

11 / 13

Teleportacin cuntica

Objetivo:
Transmitir 1 qubit enviando 2 bits clsicos

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

12 / 13

Teleportacin cuntica

Objetivo:
Transmitir 1 qubit enviando 2 bits clsicos

|i

1. A y B preparan 00

2. Se llevan cada uno un qubit


3. A aplica CNOT y H al qubit a
transmitir y el suyo del par

00

4. A mide y enva el resultado a B


Z b1 X b2

Alejandro Daz-Caro

|i

5. B aplica Z b1 X b2 (b1 y b2 de A)

Fundamentos de lenguajes de programacin cuntica - RIO15

12 / 13

Paralelismo cuntico
Primera intuicin

f : {0, 1} {0, 1}
Resultados posibles: 2
Cantidad de evaluaciones para obtenerlos: 2

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

13 / 13

Paralelismo cuntico
Primera intuicin

f : {0, 1} {0, 1}
Resultados posibles: 2
Cantidad de evaluaciones para obtenerlos: 2
Supongamos que existe la siguiente compuerta:
Uf |x , 0i = |x , f (x )i

Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

13 / 13

Paralelismo cuntico
Primera intuicin

f : {0, 1} {0, 1}
Resultados posibles: 2
Cantidad de evaluaciones para obtenerlos: 2
Supongamos que existe la siguiente compuerta:
Uf |x , 0i = |x , f (x )i

|0i

H
Uf

|i =

|0,f (0)i+|1,f (1)i

|0i
Es decir:
1
1
1
H(1)
Uf
(|0, f (0)i+|1, f (1)i)
|00i (|0i+|1i)|0i = (|00i+|10i)
2
2
2
Cantidad de evaluaciones de Uf para obtener los dos resultados: 1
Alejandro Daz-Caro

Fundamentos de lenguajes de programacin cuntica - RIO15

13 / 13

Vous aimerez peut-être aussi