Upload
janusdc
View
227
Download
1
Embed Size (px)
DESCRIPTION
Curso en la escuela de verano de ciencias informáticas de Río Cuarto, Córdoba, ArgentinaFundamentos de lenguajes de programación cuánticaDía 1: Introducción a la computación cuántica
Citation preview
Fundamentos de lenguajesde programacin cuntica
Da 1: Introduccin a la computacin cuntica
Alejandro Daz-CaroUniversidad Nacional de Quilmes
22o Escuela de Verano de Ciencias InformticasRo Cuarto, Crdoba 9 al 14 de febrero de 2015
Un poco de historiaRichard FeynmanFirst Conference on the Physics of Computation, MIT, 1981SimulacinI Fsica clsica = computacin clsicaI Fsica cuntica = computacin clsica?
Necesidad de una computadoracuntica para simular fsica cuntica
Entre tanto en Rusia. . .R. P. PoplavskiiUspekhi Fizicheskikh Nauk, 115:3, 465501, 1975I Inviabilidad computacional de simular sistemas
cunticos (debido al ppio de superposicin)Yuri I. ManinMoscow, Sovetskoye Radio, 1980I Uso del nmero exponencial de estados de baseI Propuesta de teora de computacin cuntica
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 2 / 13
Un poco de historiaRichard FeynmanFirst Conference on the Physics of Computation, MIT, 1981SimulacinI Fsica clsica = computacin clsicaI Fsica cuntica = computacin clsica?
Necesidad de una computadoracuntica para simular fsica cuntica
Entre tanto en Rusia. . .R. P. PoplavskiiUspekhi Fizicheskikh Nauk, 115:3, 465501, 1975I Inviabilidad computacional de simular sistemas
cunticos (debido al ppio de superposicin)Yuri I. ManinMoscow, Sovetskoye Radio, 1980I Uso del nmero exponencial de estados de baseI Propuesta de teora de computacin cuntica
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 2 / 13
Un poco de historia (continuacin)Paul BenioffJournal of Statistical Physics 29 (3):515546, 1982I Primer framework terico
para computacin cuntica
Charles Bennett y Gilles BrassardInt. Conference on Computers, Systems andSignal Processing, EE.UU., 1984I BB84: Mtodo de distribucind
de claves para criptografa
David DeutschProceedings of the Royal Society A 400(1818):97117, 1985I Mquina de Turing Cuntica:
mquina cuntica universal
. . . Varios hitos histricosomitidos . . .
Peter Shor35th Annual Symposium on Foundationsof Computer Science, EE.UU., 1994I Algoritmo cuntico para
factorizar nmeros primos
Lov Grover28th Annual ACM Symposium on theTheory of Computing, EE.UU., 1996I Algoritmo de bsqueda
(con ganancia cuadrtica)
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 3 / 13
Contenido del curso
Lunes y Martes: Introduccin a computacin cunticaI lgebraI Bits cunticos y operadoresI Teorema de no-clonadoI Estados de BellI Codificacin superdensa y teleportacin cunticaI Paralelismo cuntico
Algoritmo de Deutsch, Deutsch-Jotza, Grover y BB84Mircoles: 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 pizarrnI Espacio de HilbertI Producto tensorialI Notacin bra-ket
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 5 / 13
Bits cunticos
Un qubit es. . .
(para un fsico)
. . . un sistema cuntico con dos niveles de energay 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 den
i=1C2 = C2n
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 energay 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 den
i=1C2 = C2n
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 energay 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 den
i=1C2 = C2n
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 6 / 13
Operadores
En el pizarrnI OperadorI Adjunto y propiedadesI ProyectorI Operador hermtico
I Operador unitarioI Operador de medicinI Compuertas cunticasI Evolucin
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 7 / 13
Compuertas ms comunes y operadores de PauliHadam
ard H|0 = 12 (|0+ |1)
H|1 = 12 (|0 |1)
H = 12
(1 11 1
) Identid
ad I|0 = |0I|1 = |1
I =(1 00 1
)Negacin X |0 = |1
X |1 = |0
X =(0 11 0
) Cambio
defase Z |0 = |0
Z |1 = |1
Z =(1 00 1
)
No-controlada
CNOT |0x = |0xCNOT |1x = |1 X |x
CNOT =(I 00 X
)Matric
esde
Pauli I X
iXZ Z
Alejandro Daz-Caro 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 | CN ypara todo | CN se cumpla
U| = |
Es decir. . .No existe una mquina universal de
clonado
o ms simplementeNo se puede copiar un qubit
desconocido
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 | CN ypara todo | CN se cumpla
U| = |
Es decir. . .No existe una mquina universal de
clonadoo ms simplemente
No se puede copiar un qubitdesconocido
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 9 / 13
Estados de Bell
|x H xy
|y
Entrada Salida|00 00 = 12 (|00+ |11)|01 01 = 12 (|01+ |10)|10 10 = 12 (|00 |11)|11 11 = 12 (|01 |10)
Ejemplo:M =
{M0 = |00|M1 = |11|
}Entonces
(M I)00|00|11
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 10 / 13
Estados de Bell
|x H xy
|y
Entrada Salida|00 00 = 12 (|00+ |11)|01 01 = 12 (|01+ |10)|10 10 = 12 (|00 |11)|11 11 = 12 (|01 |10)
Ejemplo:M =
{M0 = |00|M1 = |11|
}Entonces
(M I)00|00|11
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 10 / 13
Codificacin superdensa
Objetivo:Transmitir 2 bits clsicos enviando tan slo 1 qubit
Z b1X b2 | H b100 |
| b2
1. A y B preparan 002. Se llevan cada uno un qubit3. A aplica Z b1X b2 a su qubit4. A enva su qubit a B5. B aplica CNOT y H a ambos6. B mide
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 11 / 13
Codificacin superdensa
Objetivo:Transmitir 2 bits clsicos enviando tan slo 1 qubit
Z b1X b2 | H b100 |
| b2
1. A y B preparan 002. Se llevan cada uno un qubit3. A aplica Z b1X b2 a su qubit4. A enva su qubit a B5. B aplica CNOT y H a ambos6. B mide
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 11 / 13
Teleportacin cuntica
Objetivo:Transmitir 1 qubit enviando 2 bits clsicos
| H
00
Z b1X b2 |
1. A y B preparan 002. Se llevan cada uno un qubit3. A aplica CNOT y H al qubit a
transmitir y el suyo del par4. A mide y enva el resultado a B5. B aplica Z b1X b2 (b1 y b2 de A)
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 12 / 13
Teleportacin cuntica
Objetivo:Transmitir 1 qubit enviando 2 bits clsicos
| H
00
Z b1X b2 |
1. A y B preparan 002. Se llevan cada uno un qubit3. A aplica CNOT y H al qubit a
transmitir y el suyo del par4. A mide y enva el resultado a B5. B aplica Z b1X b2 (b1 y b2 de A)
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 12 / 13
Paralelismo cunticoPrimera intuicin
f : {0, 1} {0, 1}Resultados posibles: 2Cantidad de evaluaciones para obtenerlos: 2
Supongamos que existe la siguiente compuerta:Uf |x , 0 = |x , f (x)
|0 HUf | = |0,f (0)+|1,f (1)2
|0Es decir:
|00 H(1) 12(|0+|1)|0 = 1
2(|00+|10) Uf 1
2(|0, f (0)+|1, f (1))
Cantidad de evaluaciones de Uf para obtener los dos resultados: 1
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 13 / 13
Paralelismo cunticoPrimera intuicin
f : {0, 1} {0, 1}Resultados posibles: 2Cantidad de evaluaciones para obtenerlos: 2
Supongamos que existe la siguiente compuerta:Uf |x , 0 = |x , f (x)
|0 HUf | = |0,f (0)+|1,f (1)2
|0Es decir:
|00 H(1) 12(|0+|1)|0 = 1
2(|00+|10) Uf 1
2(|0, f (0)+|1, f (1))
Cantidad de evaluaciones de Uf para obtener los dos resultados: 1
Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 13 / 13
Paralelismo cunticoPrimera intuicin
f : {0, 1} {0, 1}Resultados posibles: 2Cantidad de evaluaciones para obtenerlos: 2
Supongamos que existe la siguiente compuerta:Uf |x , 0 = |x , f (x)
|0 HUf | = |0,f (0)+|1,f (1)2
|0Es decir:
|00 H(1) 12(|0+|1)|0 = 1
2(|00+|10) Uf 1
2(|0, f (0)+|1, f (1))
Cantidad de evaluaciones de Uf para obtener los dos resultados: 1Alejandro Daz-Caro Fundamentos de lenguajes de programacin cuntica - RIO15 13 / 13