22
Fundamentos de lenguajes de programación cuántica Día 1: Introducción a la computación cuántica Alejandro Díaz-Caro Universidad Nacional de Quilmes 22 o Escuela de Verano de Ciencias Informáticas Río Cuarto, Córdoba – 9 al 14 de febrero de 2015

Slides Dia 1

  • 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