trabajo de fin de grado grado en ingenier a informatica · universidade da coru~na facultad de...

82
Universidade da Coru ˜ na Facultad de inform´ atica Trabajo de fin de grado Grado en Ingenier ´ ıa Inform ´ atica Menci´ on en Computaci´ on Teletransporte cu´ antico Alumno: Juan Dopico Freire Director: Vicente Moret Bonillo A Coru˜ na, 9 de febrero de 2017

Upload: others

Post on 25-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Universidade da Coruna

Facultad de informatica

Trabajo de fin de grado

Grado en Ingenierıa Informatica

Mencion en Computacion

Teletransporte cuantico

Alumno: Juan Dopico FreireDirector: Vicente Moret Bonillo

A Coruna, 9 de febrero de 2017

Page 2: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci
Page 3: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

“Man is still the most extraordinarycomputer of all”

John F. Kennedy

Page 4: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci
Page 5: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

A mis padres, por su dedicacion y sacrificio.A Jose, por su inestimable ayuda y comprension.

A Brais, David y Manu, por los momentos inolvidables.

Page 6: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci
Page 7: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Agradecimientos

Quiero acordarme de todos esos profesores que, a lo largo de mi vida, me hanproporcionado las herramientas necesarias para llegar hasta aquı, de todas esas per-sonas que han estado conmigo en los mejores y peores momentos, y de la inestimableayuda y dedicacion de mi tutor, Vicente Moret. Sin ellos nada habrıa sido posible.

Este proyecto es de todos vosotros.

Page 8: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci
Page 9: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Resumen

Este trabajo tiene como fin, la implementacion en QCL de un simulador para elalgoritmo de teletransporte cuantico. Dicho fenomeno, es el proceso por el cual infor-macion cuantica, en este caso el estado de un qubit, es transferida de una localizaciona otra arbitrariamente alejada sin necesidad de transportar fısicamente la partıculaa la que esta asociado el qubit. Para ello es necesario un estado entrelazado, unmecanismo de decodificacion y el qubit objeto del problema. El estado entrelazadose usa para codificar el mensaje utilizando una base de Bell. La entrada necesita lacomputacion del producto tensorial del qubit problema con la clave (estado de Bell)y ciertas transformaciones cuanticas unitarias y reversibles. La arquitectura implicatres lıneas. La medicion se realiza sobre las dos primeras despues de las transforma-ciones unitarias correspondientes. El resultado como consecuencia de la medicion esel colapso de los qubits a bits clasicos y una vez recibidos en la tercera lınea hay queaplicar el mecanismo de decodificacion para reconstruir el qubit original.

Palabras clave

Teletransporte, computacion cuantica, entrelazamiento, superposicion, qubit, Bell,QCL, simulador.

i

Page 10: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

ii

Page 11: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Indice general

1. Introduccion 1

1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4. Equipo utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Contextualizacion 5

2.1. Mecanica cuantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Computacion cuantica . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3. El teletransporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Base teorica 11

3.1. Notacion de Dirac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2. Qubit, el bit cuantico . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1. Supersposicion . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.2. La esfera de Bloch . . . . . . . . . . . . . . . . . . . . . . . . 14

iii

Page 12: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.3. Producto tensorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4. Entrelazamiento cuantico . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.5. Observables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.5.1. El conmutador . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.5.2. Principio de Incertidumbre . . . . . . . . . . . . . . . . . . . . 20

3.6. Mediciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.7. Dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.7.1. Puertas cuanticas . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.7.2. CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.7.3. Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4. Teletransporte 27

4.1. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2. Desarrollo matematico . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.1. Teorema de la no clonacion . . . . . . . . . . . . . . . . . . . 32

5. El simulador 35

5.1. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.1.1. Quantum Computing Language (QCL) . . . . . . . . . . . . . 35

5.1.2. C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.1.3. GTK y Glade . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.1.4. OpenGL y GLUT . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

iv

Page 13: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.2.1. Arquitectura hıbrida . . . . . . . . . . . . . . . . . . . . . . . 37

5.2.2. Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.3.1. Recepcion de amplitudes . . . . . . . . . . . . . . . . . . . . . 42

5.3.2. Normalizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.3. Coordenadas esfericas . . . . . . . . . . . . . . . . . . . . . . 44

5.3.4. Fase global . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3.5. Fichero info.qcl . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.6. Preparar qubit inicial y base de Bell . . . . . . . . . . . . . . 49

5.3.7. Fichero dump.txt . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.8. Dibujado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6. Conclusiones, incidencias y trabajo futuro 53

Anexos 54

A. Planificacion y coste 57

B. Manual de usuario 61

v

Page 14: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

vi

Page 15: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Indice de figuras

3.1. Esfera de Bloch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2. Compuerta NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3. Operaciones en serie . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4. Operaciones en paralelo . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5. Compuerta CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6. Compuerta Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1. Arquitectura teletransportacion . . . . . . . . . . . . . . . . . . . . . 27

4.2. Qubits de Alice y Bob (I) . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3. Qubits de Alice y Bob (II) . . . . . . . . . . . . . . . . . . . . . . . . 31

5.1. Arquitectura hıbrida . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2. Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3. Flujo de la simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.4. Entrada amplitudes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.5. Coordenadas esfericas . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.6. Preparacion del qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.7. Operador de fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

vii

Page 16: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.8. Fichero info.qcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.9. Entrelazamiento en QCL . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.10. Fichero dump.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.11. Qubit en OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

A.1. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

B.1. Manual del simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

viii

Page 17: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Indice de cuadros

3.1. Tabla de verdad puerta NOT . . . . . . . . . . . . . . . . . . . . . . 23

3.2. Funcionamiento CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . 25

ix

Page 18: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

x

Page 19: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 1

Introduccion

1.1. Motivacion

Siempre que ha habido comunicacion entre dos personas, ha existido una terceraque podıa estar interesada en interceptar y leer esa informacion sin permiso. Anteesta necesidad de preservar el contenido de la informacion a terceros, nace la crip-tografıa, una disciplina tan importante que incluso ha hecho cambiar el curso deconflictos como la Segunda Guerra Mundial.

A fecha de hoy, existen multitud de metodos para cifrar u ocultar la informacion,utilizados por gobiernos y agencias de espionaje en todo el mundo. Y aunque estosmetodos pueden lograr una seguridad extremadamente alta, como el algoritmo RSA,no son invulnerables. Y lo seran menos en un futuro cercano con la llegada de losordenadores cuanticos y su exponencial aumento de la capacidad de computacion,que podrıa romper los sistemas de cifrado actuales en cuestion de minutos.

Ya que la revelacion de informacion confidencial puede tener graves consecuen-cias, parece interesante lograr un sistema de comunicacion totalmente inexpugnable.Que no base su efectividad en una complejidad computacional inalcanzable, sino enla naturaleza propia de la comunicacion, siendo imposible interceptarla sin violar lasleyes de la fısica.Es precisamente el teletransporte cuantico lo que nos permite alcanzar este objetivo,un fenomeno fısico que traslada informacion (a velocidades inferiores a la de la luz)de un punto a otro arbitrariamente alejado, de tal forma que cualquier intento deescucha o modificacion del mensaje hace que este se destruya. Para ello, es necesarioque emisor y receptor compartan un estado entrelazado y cierta informacion clasica,que servira como clave de descodificacion del mensaje.

1

Page 20: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

1.2. OBJETIVOS CAPITULO 1. INTRODUCCION

1.2. Objetivos

Presentar la base matematica necesaria para la comprension del algoritmocuantico.

Introducir los conceptos teoricos de la mecanica cuantica que intervienen enel proceso del teletransporte.

Realizar un desarrollo teorico del algoritmo.

Implementar un simulador de teletransporte cuantico de un qubit.

1.3. Metodologıa

Como filosofıa de trabajo general, se ha optado por aplicar el metodo de inge-nierıa, que se desglosa a continuacion.

Identificacion del problema: Estudio teorico y simulacion del teletransportecuantico.

Recoleccion de informacion: Las obras referenciadas en el apartado debibliografıa de la presente memoria.

Busqueda de soluciones: Construccion teorica del circuito cuantico a simu-lar, realizando un desarrollo matematico de las diferentes transformaciones delproceso.

Diseno preliminar: Generacion del diagrama de flujo, pseudocodigo, eleccionde la arquitectura del simulador . . .

Evaluacion y seleccion de la solucion: Se contrastan los desarrollos ma-tematicos del proceso de teletransporte con los valores esperados, y se verificaque los disenos preliminares son viables.

Implementacion: Programacion de los diferentes modulos que conforman elsimulador.

1.4. Equipo utilizado

Bibliografıa.

Ordenador portatil (Ubuntu 14.04 LTS) (64 bits) (Intel Core i7 @ 2.3 GHz).

2

Page 21: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 1. INTRODUCCION 1.5. ESTRUCTURA DEL DOCUMENTO

Quantum Computing Language (QCL) version 0.6.4

GTK 3.10.8

OpenGL 3.0

C

gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1 14.04.3)

1.5. Estructura del documento

La presente memoria esta dividida en 6 capıtulos y 2 anexos. Dicha estructuraguarda relacion con las diferentes fases del proyecto. Se detalla a continuacion sucontenido:

Capıtulo 1: Se exponen el proposito y los objetivos del proyecto, la metodo-logıa, el equipo utilizado y la estructura de la memoria.

Capıtulo 2: Proporciona un breve contexto sobre la mecanica cuantica, compu-tacion cuantica y los avances logrados en teletransporte cuantico.

Capıtulo 3: Trata los conceptos teoricos, junto con su base matematica,que son importantes para el algoritmo de teletransporte y en general parala computacion cuantica.

Capıtulo 4: Se expone la arquitectura y el desarrollo teorico del algoritmo deteletransporte.

Capıtulo 5: Incluye las herramientas utilizadas al construir el simulador, suestructura y funcionamiento.

Capıtulo 6: Se valora el trabajo realizado, se comentan las incidencias encon-tradas mas importantes y se establecen nuevas vıas de trabajo.

Anexo A: Contiene la organizacion del trabajo y los costes asociados.

Anexo B: Confeccion de un pequeno manual de usuario, que explica comoutilizar el simulador.

3

Page 22: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

1.5. ESTRUCTURA DEL DOCUMENTO CAPITULO 1. INTRODUCCION

4

Page 23: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 2

Contextualizacion

La computacion cuantica es un paradigma de computacion distinto al de lacomputacion clasica. Se basa en el uso de qubits en lugar de bits y da lugar a nuevaspuertas logicas que hacen posibles nuevos algoritmos. Una misma tarea puede tenerdiferente complejidad en computacion clasica y en computacion cuantica, haciendoque algunos problemas intratables pasen a ser tratables. Mientras un computadorclasico equivale a una maquina de Turing, un computador cuantico equivale a unamaquina de Turing cuantica [1].

2.1. Mecanica cuantica

Podemos fijar el inicio de la fısica cuantica en el ano 1900, cuando el aleman MaxPlanck se enfrentaba a enormes dificultades para medir, utilizando las leyes de lafısica clasica, la radiacion que emiten los cuerpos negros, objetos teoricos que absor-ben toda la radiacion que incide sobre ellos y posteriormente la emiten. Planck seencontro con que habıa demasaiadas variaciones a nivel microscopico como para cal-cular la cantidad de radiacion total emitida con exactitud. Entonces, considero quela energıa no era emitida de forma continua, sino en pequenos paquetes llamadoscuantos y formulo que su tamano contaba con un valor fijo, la Constante de Planck(h ' 6,6261× 10−34Js).

En 1905, cuando Albert Einstein estudiaba el efecto fotoelectrico, o lo que eslo mismo, la naturaleza de ciertos metales que emiten electricidad cuando recibenluz, llego a la conclusion de que se podıa considerar la luz como un conjunto depequenos paquetes que golpeaban a los electrones y les hacıan abandonar el metal.Calculo que la energıa de los cuantos de luz, o fotones, tambien se medıa a partirde la constante de Planck [12].

5

Page 24: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

2.1. MECANICA CUANTICA CAPITULO 2. CONTEXTUALIZACION

Niels Bohr en el ano 1913, introdujo la teorıa de las orbitas cuantificadas [13],que en la mecanica cuantica implica que en torno al nucleo atomico, el numero deelectrones en cada orbita aumenta desde el interior hacia el exterior. Ademas, loselectrones podıan pasar desde un orbital exterior a otro interior emitiendo un fotonde energıa discreta, y las distancias entre orbitales eran proporcionales a multiplosenteros de la constante de Planck.

Un avance fundamental fue la hipotesis planteada por el fısico frances Louis-Victor De Broglie en su tesis doctoral de 1924 [14]. En ella proponıa que el electronen movimiento tenıa una doble naturaleza: por un lado era una partıcula y porotro presentaba las caracterısticas propias de una onda. En 1927 se llevo a ca-bo un experimento (Davisson-Germer) cuyo resultado se ajustaba a esta hipotesis,comprobandose que los electrones experimentan difraccion, una caracterıstica on-dulatoria. Este comportamiento recibe el nombre de dualidad onda-corpusculo y nosolo se da en las partıculas subatomicas como los electrones, se cumple en cualquiercuerpo, lo que hace que no nos percatemos en el mundo cotidiano de este fenomenoes que la longitud de onda asociada es menor cuanto mayor es el objeto, y por lotanto inapreciable a una escala mayor que la de los atomos.

Son Heisenberg y Schrodinger quienes, a partir de los descubrimientos anterior-mente mencionados, y ante la evidencia de que en el mundo de las moleculas y losatomos la mecanica clasica no es mas que una aproximacion, empiezan a construirla teorıa de la mecanica cuantica. Ante la dualidad onda-corpusculo descubierta porDe Broglie, Schrodinger introduce, entre los anos 1925 y 1926, la funcion de on-da, tambien conocida como la ecuacion de Schrodinger [15], que describe como unapartıcula cambia con el paso del tiempo. Es decir, las partıculas son estudiadas delmismo modo en el que se estudian el resto de ondas. Cualquier tipo de onda quedadescrita en un instante arbitrario por una lista de numeros, uno por cada puntodel espacio por el que viaja la onda. Del mismo modo, la densidad de probabilidadde la funcion de onda de una partıcula ψ(x), que expresamos como |ψ(x)|2dx, nosda numeros concernientes a esa partıcula, pero dichos numeros son la probabilidadde que la partıcula se halle en la region (x, x + dx). Este resultado desbanco eldeterminismo de la fısica, dando paso a la intervencion del azar en el Universo.

Heisenberg estudio la dificultad que habıa en medir la posicion y la trayectoriade un electron. Para poder obtener una medida precisa era necesario utilizar luzpara ver la partıcula, lo que provocaba que esta fuera golpeada por los fotones,de forma que si su posicion era claramente establecida, no se podıa saber nadasobre su trayectoria, pues habrıa sido desviada por la accion de la luz. Ante estoshechos, Heisenberg enuncia el principio de incertidumbre [16], que postula que noes posible determinar, en terminos de la fısica cuantica, simultaneamente y conprecision arbitraria, ciertos pares de variables fısicas, como son, la posicion y elmomento lineal de un objeto dado. Se concluye pues que, partiendo de la funcionde onda y de los resultados que nos da en forma de probabilidades, no es posible

6

Page 25: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 2. CONTEXTUALIZACION 2.2. COMPUTACION CUANTICA

conocer en cada observacion mas que un numero limitado de caracterısticas de laspartıculas, dado que la medicion de algunas propiedades nos oculta lo referente a lasdemas. Esto deriva en un concepto clave de la mecanica cuantica, la superposicion.

La superposicion cuantica es un principio fundamental que sostiene que un sis-tema fısico, tal como un electron, existe en todos sus posibles estados de formasimultanea, pero cuando se mide, da un resultado que corresponde a solo una de lasposibles configuraciones. Podemos ver los efectos de la superposicion cuantica en lospicos de interferencia de una onda de electron en el experimento de la doble-rendija.

La mecanica cuantica presenta una nueva forma de entender la realidad, quepodemos condensar en:

De todos los estados posibles de una partıcula, solo se pueden conocer algunosde ellos en cada observacion y nunca todos a la vez (incertidumbre).

Estos estados se manifiestan unicamente cuando se observan las partıculas, sino existe medicion se dan todos los posibles estados a la vez (superposicion).

Cualquier partıcula se describe por una funcion de onda.

2.2. Computacion cuantica

Los contenidos expuestos en esta seccion se organizan siguiendo la estructuracronologica de [1].

Los fundamentos de la computacion cuantica se remontan a principios de losanos ochenta de la mano de Paul Benioff, quien propuso aprovechar las leyes dela mecanica cuantica en el ambito de la computacion [2]. Surge de esta forma laconocida como computadora cuantica de Benioff, un modelo computacional en elque la cinta de una maquina de Turing es reemplazada por una serie de sistemascuanticos, trabajando de esta forma a nivel de cuanto y no con voltajes electricos.

Es Feynman el que se pregunta “¿Puede la fısica ser simulada con un ordenadoruniversal?”, y propone el uso de fenomenos cuanticos para realizar calculos compu-tacionales, exponiendo que dada su naturaleza algunos de ellos se realizarıan masrapido en un ordenador cuantico [3].

En 1985 David Deutsch, basandose en el trabajo de Feynman, describe el primercomputador cuantico universal, capaz de simular cualquier otro ordenador cuanti-co (principio de Church-Turing ampliado). En este artıculo teorico fundamental

7

Page 26: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

2.2. COMPUTACION CUANTICA CAPITULO 2. CONTEXTUALIZACION

demuestra que cualquier proceso fısico, en principio, podrıa ser modelado por unordenador cuantico [4].

Desde el departamento de investigacion de Microsoft, en 1993, surgio un proble-ma teorico que demostraba la ventaja que tendrıa un computador cuantico frentea uno tradicional, el problema de Simon, que compara el modelo de probabilidadclasica con el modelo cuantico [5]. En esta misma fecha Bennet y Brassard descu-bren el teletransporte cuantico, que abrirıa un nuevo campo en el ambito de lascomunicaciones cuanticas [6].

Fue en 1994, cuando Shor publico un artıculo [7] en el que se establecıa un metodopara solucionar un problema importante en la teorıa de numeros usando ordenadorescuanticos, la factorizacion. Demostro como un conjunto de operaciones matematicas,disenadas especıficamente para un ordenador cuantico, permitıan la factorizacion degrandes numeros de forma extremadamente rapida, mucho mas veloz que cualquierordenador convencional. Con este avance, la computacion cuantica paso de ser unamera curiosidad academica a una materia de interes mundial.

En 1996 Lov Grover propone un algoritmo cuantico para la busqueda en unasecuencia no ordenada de datos, que mejora de forma sustancial la complejidadtemporal, en relacion a su version clasica [8].

En 1998, utilizando un computador cuantico de dos qubits basado en la reso-nancia magnetica nuclear (NMR), que utiliza como estados el spin de los nucleosde determinadas moleculas, se implementa una solucion al problema de Deutsch,siendo este el primer algoritmo cuantico que se traslada a un sistema fısico [9].

Es en 2001 cuando IBM en colaboracion con la Universidad de Standford consi-guen ejecutar por primera vez el algoritmo de Shor, factorizando correctamente 15en sus factores primos 3 y 5. Cuatro anos mas tarde, en la Universidad de Innsbruckse logra la primera implementacion de un qubyte usando trampas de iones.

Los procesadores cuanticos basados en unos pocos qubits se habıan logrado uti-lizando tecnicas como la resonancia nuclear magnetica, trampas de iones y sistemasopticos. Pero habrıa que esperar hasta 2009 para que saliera a la luz, de la mano deun equipo de la Universidad de Yale dirigido por Robert Schoelkopf, una implemen-tacion de “estado solido” de un procesador cuantico [10].

En 2011 la companıa D-Wave Systems anuncia el D-Wave One, un sistemacomputacional cuantico integrado que se ejecuta sobre un procesador de 128 qu-bits. Este procesador utiliza el algoritmo de temple cuantico (quantum annealing)para resolver problemas de optimizacion. El D-Wave One es el primer computadorcuantico comercial de la historia, con un precio de unos 10.000.000 de dolares.Un grupo de investigadores dirigido por Matthias Troyer y Daniel Lidar descubrie-

8

Page 27: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 2. CONTEXTUALIZACION 2.3. EL TELETRANSPORTE

ron que, aunque el temple cuantico tiene lugar en el D-Wave One, no se obtieneninguna mejora en la velocidad computacional comparada con un ordenador clasico[11]. En 2012 se anuncia el D-Wave Two, un computador cuantico de 512 qubits yen 2015 el D-Wave 2X con 1.152 qubits.

2.3. El teletransporte

El paper [6] que expuso por vez primera, en 1993, la idea del teletransporte esobra de C. H. Bennet, G. Brassard, C. Crepeau, R. Jozsa, A. Peres y W. K. Wootters.Hasta la fecha, se han realizado diversos experimentos en la materia, mencionaremosa continuacion los mas relevantes.

En 1998, fısicos de Caltech teletransportaron un foton una distancia de un metro,a traves de cable coaxial [17].

Un equipo del Instituto Niels Bohr teletransporto, en 2006, un haz de laser enuna nube de atomos a una distancia de, aproximadamente, medio metro.

En 2012, desde la Universidad de Ciencia y Tecnologıa de China, se establece unnuevo record, al teletransportar un foton a 97 kilometros de distancia.

Dos anos mas tarde, cientıficos europeos desarrollan un dispositivo capaz deteletransportar informacion cuantica a una memoria de estado solido, a traves decable de fibra optica ordinario. Este hecho marca un importante hito en la creacionde un “Internet cuantico”.

En 2012, Investigadores afiliados a la Austrian Academy of Sciences y otrasorganizaciones Europeas, usaron laser para teletransportar un foton desde una delas Islas Canarias a otra, cubriendo una distancia 143 km [18].

Mas recientemente, el 16 de Agosto de 2016, China lanzo el satelite QSS (Quan-tum Science Satellite), que tiene como objetivo estudiar el uso de tecnicas de entre-lazamiento cuantico para el establecimiento de redes de comunicaciones totalmenteseguras. Pretenden llevar a efecto el fenomeno de la teletransportacion desde el es-pacio a la Tierra, a una distancia de 1.200 kilometros. Los propios chinos estimanque en el mejor de los casos, podran establecer una red europea de distribucion declaves cuanticas hacia 2020 y de alcance global no antes de 2030.China tambien dispone de un cable de 2.000 kilometros entre Pekın y Shanghai, laprimera fase de una red cuantica impenetrable para los hackers.

9

Page 28: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

2.3. EL TELETRANSPORTE CAPITULO 2. CONTEXTUALIZACION

10

Page 29: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 3

Base teorica

3.1. Notacion de Dirac

Expondremos en esta seccion la notacion estandar, introducida por Paul Diracen 1939, para describir los estados cuanticos en la teorıa de la mecanica cuantica,y que sera utilizada a lo largo de este texto. Los conceptos aquı expuestos se hanextraıdo de [20].

En mecanica cuantica, el estado de un sistema fısico se identifica con un vectoren un espacio de Hilbert complejo. Cada vector se llama ket y se denota como |ψ〉.Cada ket |ψ〉 tiene un bra dual, escrito como 〈φ|. La aplicacion del bra 〈φ| al ket|ψ〉 da lugar a un numero complejo 〈φ |ψ〉, que en mecanica cuantica representa laamplitud de probabilidad de que el estado |ψ〉 colapse en el estado |φ〉.

Cuando el espacio vectorial se corresponde con Cn (en nuestro caso C2), entonces|ψ〉 no es mas que un vector columna de n (dos en nuestro caso particular) numeroscomplejos.

|ψ〉 =

c0c1...

cn−1

ci ∈ Cn

Dentro del espacio vectorial mencionado, los bras son vectores fila.

11

Page 30: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.2. QUBIT, EL BIT CUANTICO CAPITULO 3. BASE TEORICA

〈φ| =[c0 c1 . . . cn−1

]ci ∈ Cn

Como se ha dicho, cada ket |ψ〉 tiene asociado un unico bra 〈φ|. En Cn, el bracorrespondiente a un ket se obtiene calculando el conjugado de la traspuesta (yviceversa).

|ψ〉 =

c0c1...

cn−1

↔ 〈φ| = [c0 c1 . . . cn−1]

La amplitud de probabilidad mencionada 〈φ |ψ〉, se calcula como el productointerno dentro del espacio de Hilbert, estando este definido como una multiplicacionde matrices estandar.

〈φ |ψ〉 =[c0 c1 . . . cn−1

]?

c0c1...

cn−1

=n−1∑i=0

cici

Todo espacio vectorial tiene una base, es decir, un conjunto de vectores lineal-mente independientes tal que, cualquier otro vector del espacio puede escribirse comocombinacion lineal de ellos. Las bases usadas en este texto son: la base canonica enC2 [

10

],

[01

]y la base de Hadamard [ 1√

2

1√2

],

[ 1√2

−1√2

]

3.2. Qubit, el bit cuantico

La materia prima con la que trabaja la computacion clasica se denomina bit. Elconcepto de bit puede definirse de multiples formas, entre ellas:

12

Page 31: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.2. QUBIT, EL BIT CUANTICO

Definicion 3.1 Un bit es la unidad de informacion que describe un sistema clasicode dos dimensiones [19].

Es decir, nos permite representar dos estados cualesquiera, como verdadero ofalso, abierto o cerrado, etc. Usualmente dichos estados toman los valores 0 y 1.Utilizaremos las siguientes matrices para representarlos.

|0〉 =

[10

]|1〉 =

[01

]

Un bit puede encontrarse en el estado |0〉 o en el estado |1〉 y nunca en ambosde forma simultanea. Esta representacion no es suficiente para describir un sistemacuantico, pues este puede encontrarse en los dos estados al mismo tiempo. Dichofenomeno nos lleva a la definicion de qubit, una generalizacion del concepto de bit.

Definicion 3.2 El qubit, o bit cuantico, es la unidad de informacion que caracteri-za un sistema cuantico de dos dimensiones y puede ser descrito por la superposicionde dos autovectores ortonormales |0〉 y |1〉[19]. El estado general |ψ〉 de un qubitesta definido de la forma

|ψ〉 = α |0〉+ β |1〉 tal que |α|2 + |β|2 = 1

Cada partıcula cuantica tiene un espacio de Hilbert asociado, es decir, un espaciovectorial complejo con producto interno que es completo, que define sus posiblesconfiguraciones, lo que llamamos el espacio de estados. En el caso de un qubit,que describe un sistema cuantico de dos dimensiones, el espacio asociado es C2 yutilizaremos por lo tanto la siguiente matriz para representarlo.

[c0c1

]

Donde c0 y c1 son numeros complejos, cuyo modulo al cuadrado representa laprobabilidad de que, una vez hecha la medicion del qubit, este colapse al estado |0〉o |1〉 respectivamente. Es por esto que |c0|2 + |c1|2 = 1, es decir, el qubit una vezmedido, debe colapsar necesariamente a uno de los dos estados.

13

Page 32: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.2. QUBIT, EL BIT CUANTICO CAPITULO 3. BASE TEORICA

3.2.1. Supersposicion

El hecho de que una partıcula cuantica, en este caso un qubit, pueda encontrarseen mas de un estado en un instante de tiempo determinado, se conoce como super-posicion. Para cada uno de los n posibles estados basicos de una partıcula cuanticax0, x1, . . . , xn asociaremos un vector columna complejo de dimension n:

|x0〉 7−→ [1, 0, . . . , 0]T

|x1〉 7−→ [0, 1, . . . , 0]T

|xn−1〉 7−→ [0, 0, . . . , 1]T

Dado que en la mecanica cuantica una partıcula puede encontrarse en variosde estos estados en un mismo instante de tiempo, un estado arbitrario |ψ〉 es unacombinacion lineal de |x0〉 , |x1〉 , . . . , |xn−1〉, con sus correspondientes aplitudes com-plejas c0, c1, . . . , cn−1, siendo su valor absoluto al cuadrado (en un ket normalizado)la probabilidad de obtener el estado al que acompanan una vez hecha la medicion.

|ψ〉 = c0 |x0〉+ c1 |x1〉+ · · ·+ cn−1 |xn−1〉

Es por esto, que podemos representar cualquier estado del sistema con un ele-mento de Cn como:

|ψ〉 7−→ [c0, c1, . . . , cn−1]T

Si aplicamos esta generalizacion a un unico qubit, tenemos como estados basicoslos siguientes elementos de C2:

|0〉 7−→ [1, 0]T

|1〉 7−→ [0, 1]T

Y un estado arbitrario |ψ〉 esta representado por |ψ〉 = c0 |0〉+ c1 |1〉.

3.2.2. La esfera de Bloch

Una representacion grafica del qubit, que puede facilitar la comprension de sunaturaleza y el fenomeno de superposicion, es la esfera de Bloch.

14

Page 33: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.3. PRODUCTO TENSORIAL

Figura 3.1: Esfera de Bloch

Un qubit viene representado por un vector desde el origen de una esfera unitariatridimensional hasta su superficie. Los polos de la esfera se corresponden con losestados qubitales puros, donde el norte es |0〉 y el sur |1〉. Cada qubit esta definido porlos angulos que forma dicho vector (latitud y longitud), y es aquı donde podemos verla superposicion desde una nueva perspectiva, el vector puede apuntar al polo norte oal polo sur definiendo un qubit en su estado puro, pero tambien tiene una infinidadde puntos alternativos repartidos por toda la superficie de la esfera, cada uno deellos representa a la partıcula en una superposicion de estados. Cuando realizamosuna medicion, el qubit colapsa a uno de sus estados puros, que se correspondencon los extremos de la esfera, estando la probabilidad de colapso correspondiente acada polo determinada por la latitud del vector, es decir, lo cerca que esta de cadaextremo del cuerpo geometrico.

3.3. Producto tensorial

La computacion cuantica trabaja con multiples qubits, y la forma de modelar unsistema cuantico multipartıcula es realizando el producto tensorial de los espaciosde estados de sus constituyentes.

Si tenemos dos sistemas cuanticos independientes Q y Q’, representados respec-tivamente por los espacios vectoriales V y V’. El sistema cuantico obtenido de launion de Q y Q’ tendra como espacio de estados el producto tensorial V ⊗ V ′.

15

Page 34: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.3. PRODUCTO TENSORIAL CAPITULO 3. BASE TEORICA

Esto nos permite ensamblar tantos sistemas como queramos, pues el productotensorial es asociativo:

V0 ⊗ V1 ⊗ · · · ⊗ Vk

Antes de definir el producto tensorial entre espacios vectoriales, es necesariointroducir la operacion para matrices y vectores [19], siendo estos ultimos un casoparticular de matriz.

Definicion 3.3 El producto tensorial de dos matrices, P y Q, se define como

P ⊗Q =

p11Q · · · p1mQ...

...pn−1Q · · · pnmQ

donde pi es un elemento de P.

Podemos entonces extender el producto tensorial a espacios vectoriales, siendoeste definido como el espacio generado por el producto tensorial de todos los vectoresde una base del primero con los vectores de una base del segundo. Mas formalmente:

Definicion 3.4 Sean BE una base del espacio vectorial E y BF una base del espacioF. Entonces

E ⊗ F = Gen(BE ⊗BF )

Estando definido el producto tensorial entre bases de la siguiente forma:

Definicion 3.5 Sean BE = −→e1 , . . . ,−−−−→edim(E) una base del espacio vectorial E y

BF = −→f1, . . . ,

−−−−→fdim(F ) una base del espacio vectorial F. El producto tensorial entre

dichas bases se define como:

BE ⊗BF = −→e1 ⊗−→f1 , . . . ,

−→e1 ⊗−−−−→fdim(F ),

−→e2 ⊗−→f1 , . . .

−−−−→edim(E) ⊗−−−−→fdim(F )

El producto tensorial es fundamental en la computacion cuantica, pues nos per-mite utilizar puertas cuanticas de varios qubits y describir sistemas complejos que

16

Page 35: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.3. PRODUCTO TENSORIAL

implican varias partıculas. Un ejemplo de su aplicacion teorica se muestra a conti-nuacion, donde describiremos el espacio de estados de un sistema cuantico de dosqubits.

Sean los qubits X e Y, con sus correspondientes estados basicos |0x〉, |1x〉, |0y〉 y|1y〉. El producto tensorial X ⊗ Y genera el siguiente espacio de estados basicos dedimension Dim(X)×Dim(Y ) = 2× 2 = 4.

X ⊗ Y = Gen(Bx ⊗By)

Bx =

[1x0x

],

[0x1x

]By =

[1y0y

],

[0y1y

]

[1x0x

]⊗[1y0y

]=

1x[1y0y

]0x

[1y0y

] =

1000

= |0x〉 |0y〉[1x0x

]⊗[0y1y

]=

1x[0y1y

]0x

[0y1y

] =

0100

= |0x〉 |1y〉

[0x1x

]⊗[1y0y

]=

0x[1y0y

]1x

[1y0y

] =

0010

= |1x〉 |0y〉[0x1x

]⊗[0y1y

]=

0x[0y1y

]1x

[0y1y

] =

0001

= |1x〉 |1x〉

|0x〉 ⊗ |0y〉 , |0x〉 ⊗ |1y〉 , |1x〉 ⊗ |0y〉 , |1x〉 ⊗ |1y〉

Que describe los posibles estados basicos a los que puede colapsar el sistema, queson, de izquierda a derecha:

El primer qubit se encuentra en el estado |0x〉 y el segundo qubit en el |0y〉

El primer qubit se encuentra en el estado |0x〉 y el segundo qubit en el |1y〉

El primer qubit se encuentra en el estado |1x〉 y el segundo qubit en el |0y〉

El primer qubit se encuentra en el estado |1x〉 y el segundo qubit en el |1y〉

El vector que describe un estado generico de superposicion de los anterioresestados basicos es:

|ψ〉 = c0,0 |0x〉 ⊗ |0y〉+ c0,1 |0x〉 ⊗ |1y〉+ c1,0 |1x〉 ⊗ |0y〉+ c1,1 |1x〉 ⊗ |1y〉

Donde la probabilidad de que el sistema colapse a un determinado estado, vie-ne determinada (en un ket normalizado) por el valor absoluto al cuadrado de la

17

Page 36: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.4. ENTRELAZAMIENTO CUANTICO CAPITULO 3. BASE TEORICA

amplitud compleja asociada a dicho estado. Por ejemplo, la probabilidad de que elsistema, tras una medicion, colapse al estado |0x〉⊗|0y〉 es |c0,0|2. Estos valores vienendeterminados por el producto de las probabilidades de los estados basicos, ya que lossistemas cuantios individuales no estan correlados, es decir, c0,0 = p(|0x〉) · p(|0y〉).

El producto tensorial esta ıntimamente relacionado con una propiedad fundamen-tal de la fısica cuantica y que juega un rol esencial en el fenomeno del teletransportecuantico. Esta propiedad es el entrelazamiento cuantico y se explica en profundidada continuacion.

3.4. Entrelazamiento cuantico

El entrelazamiento es una propiedad del mundo cuantico que no tiene equivalenteen la mecanica clasica. Decimos que dos o mas partıculas estan entrelazadas sila medicion del estado cuantico de una de ellas, determina instantaneamente losposibles estados cuanticos de las otras partıculas. Esta conexion es independiente dela distancia entre partıculas, puediendo estar estas separadas anos luz.

De un modo mas formal, decimos que los estados que no pueden descomponerseen el producto tensorial de los estados de los sistemas constituyentes, estan entre-lazados. Mostraremos este fenomeno con uno de los vectores de la base de Bell, elmismo que utilizaremos en el algoritmo de teletransporte cuantico.

∣∣φ+⟩

=|0A〉 |0B〉+ |1A〉 |1B〉√

2

Intentaremos escribir |φ+〉 como el producto tensorial de dos estados de los subsis-temas constituyentes. Cualquier vector que represente a la primera de las partıculaspuede escribirse como c0 |0A〉 + c1 |1A〉 y de forma analoga para el segundo vectorc′0 |0B〉 + c′1 |1B〉. Por lo tanto, si |φ+〉 proviene del producto tensorial de ambossubsistemas, tenemos que

(c0 |0A〉+ c1 |1A〉)⊗ (c′0 |0B〉+ c′1 |1B〉) = c0c′0 |0A〉 |0B〉+ c0c

′1 |0A〉 |1B〉

+ c1c′0 |1A〉 |0B〉+ c1c

′1 |1A〉 |1B〉

Lo que implica que c0c′0 = c1c

′1 = 1√

2y c0c

′1 = c1c

′0 = 0. Estas ecuaciones no

tienen solucion y por lo tanto |φ〉 no puede reescribirse como producto tensorial,esta entrelazado.

18

Page 37: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.5. OBSERVABLES

3.5. Observables

Un sistema fısico esta definido por dos elementos: su espacio de estados y elconjunto de sus observables, es decir, las cantidades fısicas que pueden ser medidasu observadas de forma cuantificable en cada estado del espacio de estados. Cada unode estos observables puede entenderse como una pregunta legıtima que se le hace alsistema, y se corresponde con un operador hermıtico.

Definicion 3.6 Una matriz A de dimension n× n es hermıtica si A† = A [19].

Ejemplos de estas preguntas son: “¿Si el sistema se encuentra en un estado|ψ〉, que posibles valores puedo observar respecto a alguna variable fısica (posicion,momento angular, direccion de spin, energıa . . . )?”.

Una vez hemos preguntado al sistema, ¿que posibles respuestas podemos obte-ner? Los unicos valores que podemos recibir como respuesta de un operador hermıti-co Ω asociado a un observable fısico tras una medicion en un estado aleatorio sonlos valores propios del operador.

Definicion 3.7 Para una matriz A en Cn×n, si existe un numero c en C y un vectorV 6= 0 en C tal que AV = c ·V , entonces c es un valor propio de A y V es un vectorpropio de A asociado con c [19].

Como ejemplo mostraremos los operadores de spin, que nos dicen, dada unadireccion en el espacio (x, y, z), de que forma se mueve la partıcula.

Sz =~2

[1 00 −1

]Sy =

~2

[0 −1i 0

]Sx =

~2

[0 11 0

]

Si aplicamos el operador Sx a un estado de spin up |ψ〉 =[1 0

]T, obtenemos el

vector Sx |ψ〉.

Sx |ψ〉 =~2

[0 11 0

]?

[10

]=

~2

[01

]

Notese que |ψ〉 y Sx |ψ〉 no son multiplos escalares uno del otro y por lo tantono representan el mismo estado, el observable Sx modifica el estado del sistema.

19

Page 38: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.5. OBSERVABLES CAPITULO 3. BASE TEORICA

El resultado de observar un operador Ω repetidamente en un estado |ψ〉 sigueuna distribucion de frecuencia en el conjunto de sus valores propios, es decir, trasn mediciones obtendremos como resultado todos los valores propios del observable,algunos con mayor frecuencia que otros. Este valor esperado se denomina 〈Ω〉ψ y seobtiene calculando 〈Ωψ, ψ〉.

Una vez obtenido el valor esperado, es interesante conocer la propagacion de ladistribucion de los autovalores entorno a 〈Ω〉ψ, es decir, su varianza. Una varianzapequena indica que la mayorıa de los valores propios estan cercanos a la media yuna gran varianza indica todo lo contrario.

3.5.1. El conmutador

Un operador de gran importancia en la mecanica cuantica es el conmutador dedos observables Ω1 y Ω2, que representamos con [Ω1,Ω2] y esta definido de la forma

[Ω1,Ω2] = Ω1 ? Ω2 − Ω2 ? Ω1

Si el conmutador de dos operadores hermıticos es cero, entonces no existe ningunproblema en asignar su producto, en cualquier orden, como un equivalente matemati-co del producto fısico de sus observables asociados.

3.5.2. Principio de Incertidumbre

Estos conceptos nos permiten introducir una vision mas analıtica de uno de losfundamentos de la mecanica cuantica, que ya se introdujo en el capıtulo anterior deuna forma conceptual: el principio de incertidumbre de Heisenberg.Dados dos observables, representados por los operadores hermıticos Ω1 y Ω2, y unestado |ψ〉. Podemos calcular la varianza de Ω1 y Ω2 en |ψ〉, obteniendo V arψ(Ω1)y V arψ(Ω2) respectivamente.El objetivo es minimizar de forma simultanea la varianza de ambos observables paraobtener una medida lo mas exacta posible de ambos. Si las varianzas no estuvierancorreladas obtendrıamos una medida muy precisa en ambos observables, pero esaquı cuando nos topamos con el principo de incertidumbre.

Teorema 3.1 El producto de las varianzas de dos operadores hermıticos aleatoriosen un estado dado es siempre mayor o igual a un cuarto del cuadrado del valoresperado de su conmutador [19].

20

Page 39: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.6. MEDICIONES

V arψ(Ω1)× V arψ(Ω2) ≥1

4| 〈[Ω1,Ω2]〉ψ |

2

El conmutador nos indica que tan buena puede ser la medida simultanea de dosobservables. Si el conmutador es cero, no existe lımite teorico en la precision de lamedida. Sin embargo, muchos operadores del mundo cuantico no conmutan, comopor ejemplo los anterioremente introducidos operadores de spin o el muy utilizadoejemplo del par posicion-momento.

En el algoritmo del teletransporte cuantico no hay ningun observable asociadoal proceso de medicion, pues lo unico que buscamos al “observar” los qubits es sucolapso a bits clasicos, que seran utilizados mas tarde como clave de descodificacion.Por lo tanto, lo unico necesario en el proceso de medida es “mirar” dentro del canalcuantico, utilizando por ejemplo una fuente de luz, haciendo que los qubits colapsena consecuencia de su interaccion con los fotones.No obstante, se ha introducido este concepto de observable, pues es parte de los fun-damentos de la mecanica y de la computacion cuantica y se encuentra ıntimamenteligado a una operacion que sı se realiza en el teletransporte: la medicion.

3.6. Mediciones

El acto de realizar una observacion en un sistema fısico se denomina medida.En fısica cuantica, a diferencia del mundo clasico, el sistema siempre se perturba yresulta modificado tras una medicion. Este proceso es indeterminista, lo unico quepodemos saber antes de medir son las probabilidades de observar un valor especıfico.

Anteriormente, hemos dicho que el resultado que puede proporcionar un observa-ble es alguno de sus valores propios y que el estado resultante es distinto del inicial.Expondremos ahora la forma de determinar en que estado se queda el sistema trasla medicion y cual es la probabilidad de que un determinado autovalor sea elegido.

Sea Ω un observable y |ψ〉 un estado, entonces, si el resultado de medir Ω esλ, el estado resultante es el vector propio asociado a λ. La probabilidad de que elestado inicial |ψ〉 (normalizado) transite al autovector |e〉 es el cuadrado del productointerior de ambos estados, | 〈e |ψ〉 |2.Este numero se denomina amplitud de transicion, y es cero cuando ambos estadosson ortogonales, mutuamente excluyentes o desde una perspectiva geometrica quese encuentran lo mas separados posible en el espacio. Por ejemplo, un qubit puedeestar en una superposicion de los estados |0〉 y |1〉 pero tras una medicion colapsara auno de ellos y nunca a ambos de forma simultanea. Si ya se encuentra en uno de losestados qubitales puros nunca transitara al otro como resultado de la medicion.

21

Page 40: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.7. DINAMICA CAPITULO 3. BASE TEORICA

En el caso de medir mas de un observable, como cada uno tiene un conjuntodistinto de vectores propios a los que el sistema puede colapsar tras una medicion,el orden en el que se aplican los observables determinara el resultado obtenido.

Utilizaremos el sımbolo para indicar que se lleva a cabo una medicion.

3.7. Dinamica

Para describir la forma en la que un sistema cuantico evoluciona en el tiem-po (excluyendo mediciones) utilizamos operadores unitarios, a esto le llamamos ladinamica del sistema.

Definicion 3.8 Una matriz U de dimension n × n es unitaria si U ? U † = U † ?U = In [19].

Si U es una matriz que representa a un operador unitario y |ψ(t)〉 un estado delsistema en un instante t, entonces |ψ(t+ 1)〉 = U |ψ(t)〉 representa al sistema en elinstante t+1.

Las dinamicas propias de nuestro sistema son la compuerta de Hadamard y lapuerta CNOT.

3.7.1. Puertas cuanticas

La computacion clasica es, en esencia, la manipulacion de bits. Para llevar acabo dicha manipulacion se utilizan las puertas logicas, bloques de hardware queproducen senales binarias cuando se satisfacen los requisitos de entrada logica. Exis-ten multiples compuertas, todas ellas con una representacion grafica y una matrizasociada, dependientes de la operacion que ejecutan. Como ejemplo, tomaremos laconocida puerta NOT y su representacion matricial:

Podemos comprobar que la aplicacion de la matriz, coincide con el resultadoesperado:

NOT (|0〉) =

[0 11 0

] [10

]=

[01

]= |1〉 NOT (|1〉) =

[0 11 0

] [01

]=

[10

]= |0〉

22

Page 41: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.7. DINAMICA

NOT =

[0 11 0

]

Figura 3.2: Compuerta NOT

De forma analoga, la computacion cuantica es, en esencia, la manipulacion dequbits. Pero para trabajar con este tipo de partıculas no todas las puertas logicasclasicas son validas, pues en el mundo cuantico, todas las operaciones que no sonmediciones, deben ser reversibles.Como ejemplo de puerta clasica no reversible tenemos la compuerta AND dondedada la salida |0〉, no es posible determinar la entrada, que podrıa ser cualquiera delas siguientes: |00〉 , |10〉 o |01〉.Por el contrario, el ejemplo utilizado anteriormente de la puerta NOT si es reversi-ble, pues dada una salida, podemos determinar de forma unıvoca la entrada, tal ycomo se muestra en su tabla de verdad.

Tabla de verdad NOTEntrada Salida

0 11 0

Cuadro 3.1: Tabla de verdad puerta NOT

Es por esto, que necesitamos definir un nuevo tipo de puertas para trabajar conqubits, las puertas cuanticas.

Definicion 3.9 Una puerta cuantica es un operador que actua sobre qubits y esta re-presentado por una matriz unitaria [19].

Recordemos que una matriz unitaria es un tipo de matriz invertible A ? A−1 =A−1 ? A = In, que cumple la propiedad de que su inversa es su adjunto U ? U † =U † ? U = In, preservando ası la geometrıa del espacio en el que actua.

23

Page 42: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.7. DINAMICA CAPITULO 3. BASE TEORICA

Las puertas cuanticas pueden combinarse de dos formas: en serie o en paralelo.La primera de las opciones se corresponde con una multiplicacion de las matricesasociadas a cada compuerta, es decir, si aplicamos una operacion A y luego una Bentonces lo representaremos como B ? A.

Figura 3.3: Operaciones en serie

Por el contrario, si utilizamos operaciones en paralelo, estas se representaran ha-ciendo uso del producto tensorial, por ejemplo, si aplicamos una operacion A en unalinea de computacion y una operacion B en otra linea distinta, lo representaremoscomo A⊗B.

Figura 3.4: Operaciones en paralelo

Expondremos a continuacion, las puertas cuanticas utilizadas en el algoritmo deteletransporte.

3.7.2. CNOT

La compuerta CNOT actua sobre dos qubits, cambiando el segundo (qubit ob-jeto) si y solo si, el primero (qubit de control) es |1〉.

La operacion realizada por CNOT puede expresarse con una notacion mas fa-miliar, utilizando la operacion XOR o suma modulo dos |xy〉 → |x(y ⊕ x)〉. De lamisma forma que las compuertas clasicas, puede ser representada por su notaciongrafica y matriz asociada.

24

Page 43: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 3. BASE TEORICA 3.7. DINAMICA

Antes de CNOT Despues de CNOTControl Objeto Control Objeto|0〉 |0〉 |0〉 |0〉|0〉 |1〉 |0〉 |1〉|1〉 |0〉 |1〉 |1〉|1〉 |1〉 |1〉 |0〉

Cuadro 3.2: Funcionamiento CNOT

CNOT =

1 0 0 00 1 0 00 0 0 10 0 1 0

Figura 3.5: Compuerta CNOT

CNOT es una puerta entrelazadora, provoca que el bit objeto quede correladocon el bit de control y viceversa. Es por esto, que utilizaremos esta compuerta paraconstruir el par de qubits entrelazados del algoritmo de teletransporte, que sera elvector |Φ+〉 de la base de Bell.

3.7.3. Hadamard

La compuerta de Hadamard actua sobre un qubit, dejandolo en superposicion.Para ello mapea el estado |0〉 a |0〉+|1〉√

2y el estado |1〉 a |0〉−|1〉√

2. De esta forma una

medicion del qubit tendra las mismas probabilidades de resultar en |0〉 o en |1〉.Esta transformacion consiste en una operacion de rotacion del qubit, pasando de labase canonica a la base de Hadamard. La representacion grafica y matricial de estapuerta es

H =1√2

[1 11 −1

]

Figura 3.6: Compuerta Hadamard

25

Page 44: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

3.7. DINAMICA CAPITULO 3. BASE TEORICA

26

Page 45: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 4

Teletransporte

En este capıtulo trataremos las distintas transformaciones que tienen lugar en elalgoritmo de teletransporte, describiendo su estructura y realizando los desarrollosmatematicos correspodientes a cada operacion del circuito cuantico.

4.1. Arquitectura

Tomaremos como referencia la siguiente imagen, que ilustra la morfologıa generaldel circuito.

Figura 4.1: Arquitectura teletransportacion

Podemos ver que consta de tres lıneas de computacion: las dos primeras per-tenecen a Alice y la tercera a Bob. La separcion entre Bob y Alice es total y susrespectivas lıneas nunca se encuentran fısicamente, los trazos punteados que parecen

27

Page 46: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

4.2. DESARROLLO MATEMATICO CAPITULO 4. TELETRANSPORTE

unir a emisor y receptor solamente representan un canal de informacion clasico, porel que se comparte la clave de descodificacion (por ejemplo, una lınea telefonica).

Nuestro objetivo sera “llevar” o teletransportar el qubit |ψ〉 en poder de Alice,que se encuentra en la primera lınea, hasta la tercera lınea propiedad de Bob, sinque el mensaje “pase” por el medio, pues tanto emisor y receptor estan aislados unodel otro.

La segunda y tercera lıneas albergan los qubits Φ+A y Φ+

B respectivamente, que seentrelazaran para formar uno de los estados de Bell, la pieza clave en todo el procesode teletransportacion. Este entrelazamiento es preparado un tiempo arbitrariamenteanterior a la transmision del mensaje, en el circuito se corresponde con la parteencuadrada en rojo. Alice y Bob se quedan cada uno con una de las partıculas delpar entrelazado.

Finalmente, tras una serie de transformaciones, se realiza una medicion en laprimera y segunda lınea, haciendo que los qubits que viajan por ellas colapsen a bitsclasicos. Esta informacion clasica es transmitida por Alice a Bob, utilizando un canalconvencional (lıneas punteadas) y en funcion de los bits recibidos, Bob aplicara unaclave de descodificacion distinta a su qubit para convertirlo en el mensaje original|ψ〉.

4.2. Desarrollo matematico

Como disponemos de tres lıneas de computacion, para poder describir el sistemanecesitamos hacer uso del producto tensorial, que como ya se ha comentado ante-riormente, nos permite trabajar con sistemas cuanticos multipartıcula. Por lo tanto,la entrada del circuito sera la siguiente (los simbolos ϕ indican instantes de tiempoen el circuito):

ϕ0 = |ψ〉 ⊗∣∣Φ+

A

⟩⊗∣∣Φ+

B

⟩donde el qubit objeto del problema es |ψ〉 = α |0〉+β |1〉 y los qubits a entrelazar

son∣∣Φ+

A

⟩=∣∣Φ+

B

⟩= |0〉. El valor de los qubits entrelazados puede ser cualquiera,

pero aquı utilizaremos un ejemplo concreto (que formara el vector de la base de BellΦ+), facilitando ası la comprension del texto.

Una vez le hemos proporcionado la entrada al sistema, el siguiente paso es elentrelazamiento de los qubits

∣∣Φ+A

⟩y∣∣Φ+

B

⟩. Primero, el qubit en posesion de Alice

atraviesa una puerta de Hadamard, quedando en superposicion:

28

Page 47: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 4. TELETRANSPORTE 4.2. DESARROLLO MATEMATICO

|ϕ1〉 = |ψ〉 ⊗H(∣∣Φ+

A

⟩)⊗∣∣Φ+

B

⟩=

= |ψ〉 ⊗

[1√2

1√2

1√2−1√2

]?

[10

]⊗∣∣Φ+

B

⟩=

= |ψ〉 ⊗

[10

]+

[01

]√

2⊗∣∣Φ+

B

⟩=

= |ψ〉 ⊗ |0A〉+ |1A〉√2

⊗∣∣Φ+

B

A continuacion, aplicamos CNOT a los qubits de la segunda y tercera lınea.Recordemos que esta operacion consiste en invertir el qubit objeto (tercera lınea)si el qubit de control (segunda lınea) es |1〉. El estado de nuestro circuito tras laaplicacion de la compuerta sera:

|ϕ2〉 = |ψ〉 ⊗ CNOT

(∣∣0AΦ+B

⟩+∣∣1AΦ+

B

⟩√

2

)=

= |ψ〉 ⊗ |0A0B〉+ |1A1B〉√2

= |ψ〉 ⊗∣∣Φ+

Llegados a este punto, ya disponemos del qubit a transmitir |ψ〉 y de un parentrelazado |Φ+〉 que comparten Alice y Bob. Ahora, Alice aplicara una serie detransformaciones a sus qubits (lıneas uno y dos), la primera de ellas es una puertaCNOT. Pero antes reescribiremos el estado actual de una forma mas convenientepara nosotros:

|ϕ2〉 = |ψ〉 ⊗∣∣Φ+

⟩= (α |0〉+ β |1〉)⊗ |0A0B〉+ |1A1B〉√

2=

=α |00〉 |0〉+ α |01〉 |1〉+ β |10〉 |0〉+ β |11〉 |1〉√

2

29

Page 48: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

4.2. DESARROLLO MATEMATICO CAPITULO 4. TELETRANSPORTE

Notese como hemos utilizado la flexibilidad que nos proporciona la notacion deDirac, para separar en diferentes kets los qubits en posesion de Alice y Bob. Lasiguiente imagen nos ayudara a entederlo, en ella se ha rodeado con azul los qubitsde Alice y en rojo los de Bob.

Figura 4.2: Qubits de Alice y Bob (I)

Ahora sı, aplicamos la puerta CNOT sobre los qubits de Alice:

|ϕ3〉 = CNOT

(α |00〉 |0〉+ α |01〉 |1〉+ β |10〉 |0〉+ β |11〉 |1〉√

2

)=

=α |00〉 |0〉+ α |01〉 |1〉+ β |11〉 |0〉+ β |10〉 |1〉√

2

La ultima transformacion que hara Alice, antes de la medicion, es aplicar unapuerta Hadamard al qubit objeto del problema. Por simplicidad, no escribiremosde nuevo la operacion matricial, basta con recordar que H (|0〉) = |0〉+|1〉√

2y que

H (|1〉) = |0〉−|1〉√2

. Por lo tanto, el estado resultante es:

|ϕ4〉 =α |H(0)0〉 |0〉+ α |H(0)1〉 |1〉+ β |H(1)1〉 |0〉+ β |H(1)0〉 |1〉√

2=

=α (|0〉+ |1〉) |0〉 |0〉+ α (|0〉+ |1〉) |1〉 |1〉+ β (|0〉 − |1〉) |1〉 |0〉+ β (|0〉 − |1〉) |0〉 |1〉(√

2)2 =

=α |00〉 |0〉+ α |10〉 |0〉+ α |01〉 |1〉+ α |11〉 |1〉+ β |01〉 |0〉 − β |11〉 |0〉+ β |00〉 |1〉 − β |10〉 |1〉

2=

=|00〉 (α |0〉+ β |1〉) + |01〉 (β |0〉+ α |1〉) + |10〉 (α |0〉 − β |1〉) + |11〉 (α |1〉 − β |0〉)

2

Cabe destacar que la ultima igualdad es consecuencia de sacar factor comun.

30

Page 49: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 4. TELETRANSPORTE 4.2. DESARROLLO MATEMATICO

Nuevamente, hemos utilizado la notacion a nuestro favor, separando los qubits deAlice (azul) de los de Bob (rojo).

Figura 4.3: Qubits de Alice y Bob (II)

De esta forma, es facilmente observable como, para cada posible estado al quepuedan colapsar los qubits de Alice tras la medicion en ϕ6, sabremos el estado delqubit de Bob. Alice le comunicara a Bob por el canal clasico que bits ha obteni-do al medir, y Bob sabra que mecanismo de decodificacion utilizar en su linea decomputacion.

En este caso concreto, los mecanismos de decodificacion (son particulares de cadaestado entrelazado) son los siguientes:

Si Bob recibe los bits 00 entonces su qubit es α |0〉+β |1〉, aplicara la identidad

I =

[1 00 1

].

Si Bob recibe los bits 01 entonces su qubit es β |0〉 + α |1〉, aplicara la matriz

de Pauli X =

[0 11 0

].

Si Bob recibe los bits 10 entonces su qubit es α |0〉 − β |1〉, aplicara la matriz

de Pauli Z =

[1 00 −1

].

Si Bob recibe los bits 11 entonces su qubit es −β |0〉+α |1〉, aplicara la matriz

de Pauli ZX =

[0 1−1 0

].

Pongamos como ejemplo que somos Bob y hemos recibido los bits 11, entoncesaplicamos la clave ZX y obtenemos:

ZX (−β |0〉+ α |1〉) =

[0 1−1 0

] [−βα

]=

[αβ

]= α |0〉+ β |1〉 = |ψ〉

Que es precisamente el mensaje que Alice querıa transmitir. El qubit |ψ〉 se hateletransportado.

31

Page 50: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

4.2. DESARROLLO MATEMATICO CAPITULO 4. TELETRANSPORTE

4.2.1. Teorema de la no clonacion

Es importante mencionar, que el teletransporte cuantico no realiza una copia delqubit objeto. Esto es consecuencia directa del llamado Teorema de la no clonacion,que dice que es imposible clonar o hacer una copia exacta de un estado cuanticosin destruir primero el original. Podemos comprobar la veracidad de esta afirmacionintentado realizar una operacion de clonado de un estado cuantico, siguiendo lospasos expuestos en [19].

Si V es el espacio vectorial que representa a un sistema cuantico, una operacionde clonado se corresponde con el espacio V ⊗ V . La operacion de clonado serıa unaaplicacion lineal

C : V ⊗ V → V ⊗ V

que tomarıa un estado arbitrario |x〉 en el primer sistema y lo clonarıa en elsegundo

C(|x〉 ⊗ 0) = (|x〉 ⊗ |x〉)

Debe ser lineal porque todo operador cuantico se representa como una matrizactuando en un espacio vectorial. Entonces, sea el operador A un elemento de Cnxn

y el estado B un elemento de Cn, la aplicacion de A en B, A?B, esta en Cn y cumpleque

A ? (B + C) = (A ? B) + (A ? C)

c(A ? B) = (c · A) ? B = A ? (c ·B)

Si utilizamos un estado de superposicion arbitrario, por ejemplo |x〉+|y〉√2

, clonarese estado significa que

C

(|x〉+ |y〉√

2⊗ 0

)=

(|x〉+ |y〉√

2⊗ |x〉+ |y〉√

2

)

Pero si C es una operador cuantico, debe ser lineal y respetar en V ⊗ V la sumay multiplicacion, tal que

32

Page 51: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 4. TELETRANSPORTE 4.2. DESARROLLO MATEMATICO

C(|φ〉+ |ψ〉) = C(|φ〉) + C(|ψ〉)C(c |φ〉) = c · C(|φ〉)

Por lo tanto

C

(|x〉+ |y〉√

2⊗ 0

)= C

(1√2

(|x〉+ |y〉)⊗ 0

)=

1√2C((|x〉+ |y〉)⊗ 0) =

=1√2

(C(|x〉 ⊗ 0 + |y〉 ⊗ 0)) =1√2

(C(|x〉 ⊗ 0) + C(|y〉 ⊗ 0)) =

=1√2

((|x〉 ⊗ |x〉) + (|y〉 ⊗ |y〉)) =(|x〉 ⊗ |x〉) + (|y〉 ⊗ |y〉)√

2

Pero

(|x〉+ |y〉√

2⊗ |x〉+ |y〉√

2

)6= (|x〉 ⊗ |x〉) + (|y〉 ⊗ |y〉)√

2

Por lo que C no es una aplicacion lineal y por lo tanto no esta permitida.

No existe ningun problema, sin embargo, en teletransportar un estado de unsistema a otro. Dicha traslacion es una aplicacion lineal de la forma

T : V ⊗ V → V ⊗ V

que toma un estado arbitrario |x〉 en el primer sistema y lo teletransporta en elsegundo, sin dejar nada en el primero

T (|x〉 ⊗ 0) = (0⊗ |x〉)

Si realizamos la teletransportacion de un estado superpuesto arbitrario, comopor ejemplo el utilizado anteriormente, obtenemos

33

Page 52: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

4.2. DESARROLLO MATEMATICO CAPITULO 4. TELETRANSPORTE

T

(|x〉+ |y〉√

2⊗ 0

)= T

(1√2

(|x〉+ |y〉)⊗ 0

)=

=1√2T ((|x〉+ |y〉)⊗ 0) =

1√2T ((|x〉 ⊗ 0) + (|y〉 ⊗ 0)) =

=1√2

(T (|x〉 ⊗ 0) + T (|y〉 ⊗ 0)) =1√2

((0⊗ |x〉) + (0⊗ |y〉)) =

=(0⊗ (|x〉+ |y〉)√

2= 0⊗ (|x〉+ |y〉)√

2

que se corresponde con el resultado esperado.

34

Page 53: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 5

El simulador

En este capıtulo se trataran las cuestiones relacionadas con la simulacion delalgoritmo de teletransporte, tales como: las herramientas utilizadas, la estructuradel simulador y su funcionamiento.

5.1. Herramientas

Las siguientes subsecciones no pretenden explicar el funcionamiento, implemen-tacion, estructura o uso de las herramientas utilizadas, y se limitaran a proporcionarun breve contexto para cada una de ellas, siendo la utilidad cuantica la que recibamayor atencion, pues es el nucleo y parte fundamental de la simulacion. Toda lainformacion relativa a QCL procede de [21][22][23][24].

5.1.1. Quantum Computing Language (QCL)

Nacido de la tesis doctoral de Bernard Ohmer en la Technical University of Vien-na, QCL es uno de los primeros lenguajes de programacion cuanticos de alto nivel,disenado para trabajar sobre cualquier arquitectura cuantica basada en qubits y quepermite la implementacion de algoritmos cuanticos. En presencia de un hardwareclasico, el lenguaje es capaz de simular la estructura de un computador cuantico ylos algoritmos que en el se ejecuten.

QCL soporta la combinacion de codigo clasico y codigo cuantico en un mismoprograma. Los tipos y estructuras de control de su faceta clasica son similares a losexistentes en lenguajes como C y no requieren de mayor explicacion.

35

Page 54: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.1. HERRAMIENTAS CAPITULO 5. EL SIMULADOR

Por otro lado, encontramos los tipos cuanticos, siendo el qubit la unidad de alma-cenamiento cuantico mas pequena que puede manejar el lenguaje. Estos se organizanen registros, es decir, un puntero a una secuencia de qubits mutuamente excluyen-tes. Dichos registros contienen el mapeo entre las variables cuanticas simbolicas ylos qubits alojados en el computador cuantico, actuando como interfaz entre el fron-tend clasico (estructura de control) y el backend cuantico (estado del sistema), y semanejan de forma transparente a traves del alojamiento y desalojamiento de qubits,utilizando para ello una estructura de montıculo. El lenguaje permite el manejode los qubits a traves de la aplicacion de operadores ya incluıdos en la implemen-tacion, como puede ser la puerta de Hadamard, o la construccion de operadorespersonalizados, siempre que cumplan la restriccion de unicidad.

A diferencia de lo que ocurrirıa en un computador cuantico, cuando QCL simulalos algoritmos, es posible observar el estado interno del sistema durante la ejecucionde los mismos, sin que ello afecte a los qubits utilizados.

5.1.2. C

Es un lenguaje originalmente desarrollado por Dennis Ritchie en los LaboratoriosBell, como evolucion del anterior lenguaje B, a su vez basado en BCPL. Es unlenguaje orientado a la implementacion de Sistemas Operativos y caracterizado porla eficiencia del codigo producido. Sin embargo, la unica motivacion para utilizarC, en la parte clasica del simulador, es el conocimiento previo del mismo y de suintegracion con GTK y OpenGL.

5.1.3. GTK y Glade

GTK es una toolkit multiplataforma para la creacion de interfaces graficas deusuario. Se ha utilizado conjuntamente con Glade, una herramienta de desarrollovisual de interfaces graficas, que genera un archivo XML con la descripcion de lainterfaz, siendo tarea de GTK producir el codigo fuente asociado. La utilizacionconjunta de GTK y Glade ha simplificado en gran medida la creacion del apartadovisual del simulador.

5.1.4. OpenGL y GLUT

Open Graphics Library (OpenGL), desarrollada originalmente por Silicon Grap-hics Inc., es una especificacion estandar que define una API multilenguaje y mul-

36

Page 55: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.2. ESTRUCTURA

tiplataforma, para el dibujado de escenas tridimensionales complejas a partir deprimitivas geometricas simples, como puntos, lıneas y triangulos.La version original de GLUT fue escrita por Mark J. Kilgard y es una biblioteca deutilidades para programas OpenGL que proporciona principalmente diversas funcio-nes de entrada/salida con el sistema operativo y rutinas de dibujado para diversasprimitivas geometricas.

5.2. Estructura

En esta seccion se expone la filosofıa general seguida en la construccion del simu-lador, la especificacion detallada de los modulos que lo conforman y las interaccionesentre ellos.

5.2.1. Arquitectura hıbrida

A la hora de disenar el simulador, se ha optado por utilizar una estrategia quepermitiese su ejecucion en un computador cuantico. Esta aproximacion consiste enla siguiente division, ejemplificada en la Figura 5.1:

Un computador clasico, que asume el papel de maestro.

Un computador cuantico, que puede ser accedido a traves del maestro.

Figura 5.1: Arquitectura hıbrida

Aunque la version actual del simulador ejecuta los componentes cuanticos simu-lando, a traves de QCL, una arquitectura basada en qubits, si se dispusiera de un

37

Page 56: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.2. ESTRUCTURA CAPITULO 5. EL SIMULADOR

verdadero ordenador cuantico el simulador serıa facilmente adaptable. Bastarıa conejecutar el modulo de QCL en el dispositivo cuantico y la implementacion de unainterfaz hardware que traduzca los comandos ensamblador emitidos por el maestroen acciones llevadas a cabo por el computador cuantico.

Bajo esta aproximacion, se pretende que un programa cuantico se ejecute en uncomputador clasico, que a su vez controla a un dispositivo cuantico y procesa losresultados de las mediciones. Por lo tanto, el programador escribe codigo clasicoy cuando necesita utilizar alguna caracterıstica cuantica escribe las instruccionesnecesarias para que el maestro utilice el dispositivo cuantico. Desde el punto devista del usuario, el programa cuantico se comporta exactamente igual que cualquierprograma clasico, en el sentido de que acepta una entrada y produce una salidaclasicas. Cabe destacar, que el programador no necesita conocer la estructura internade la parte cuantica: como se almacenan fısicamente los qubits, como se inicializan,manipulan o miden. Todo lo que necesita saber es la capacidad del dispositivo, esdecir, la cantidad maxima de memoria cuantica disponible.

En el simulador, la parte cuantica se corresponde con el modulo QCL y se encargade la ejecucion del algoritmo de teletransporte, alojamiento de qubits, aplicacion deoperadores y mediciones. La parte clasica controla la interfaz, recibe la entrada yla procesa, realizando las operaciones necesarias para que esta pueda ser utilizadapor QCL, recibe el valor de las mediciones y gestiona las comunicaciones entre partecuantica y clasica.

En la siguiente seccion, se analizan en detalle los diferentes modulos que confor-man el simulador.

38

Page 57: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.2. ESTRUCTURA

5.2.2. Modulos

Dentro de la division inicial de parte clasica y parte cuantica, existen diferentesmodulos encuadrados en cada una de ellas, que se encargan de las diversas funcio-nalidades del simulador, tal y como se muestra en la Figura 5.2.

Figura 5.2: Modulos

En la parte clasica, tenemos los modulos encargados del manejo y visualizacionde la interfaz, que son: ui.glade y ui.c. El primero de ellos contiene la descripcionXML de la apariencia visual de la interfaz y el segundo genera el codigo fuentepara su manejo, procesa la entrada, atiende los eventos producidos (pulsar boton,cerrar ventana . . . ), actualiza la informacion mostrada y decide cuando ejecutar elmodulo cuantico y el modulo de dibujado. Para ello, utiliza los metodos definidosen control.c y complex.c.

El modulo complex.c proporciona utilidades basicas para el manejo y represen-tacion de numeros complejos, incluyendo la exponencial y el logaritmo complejos.A su vez, control.c proporciona la implementacion de las operaciones solicitadaspor la interfaz tales como: normalizacion de amplitudes, extraccion de coordenadasesfericas, ejecucion de QCL, lectura/escritura de ficheros de comunicacion . . .

El codigo en plotter.c se encarga de la utilizacion de OpenGL para dibujar larepresentacion interactiva tridimensional, en la esfera de Bloch, del qubit teletrans-

39

Page 58: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

portado. Inicialmente, se pretendıa utilizar este modulo para visualizar de formagrafica la evolucion, en tiempo real, del qubit desde su estado inicial |0〉 hasta ob-tener las amplitudes deseadas. Pero dada la naturaleza entrelazada del qubit (trasla segunda puerta CNOT), es imposible extraer las amplitudes resultantes de laaplicacion de cada operador, que permitirıan obtener las coordenadas cartesianasnecesarias para el dibujado. Es por esto, que se ha tenido que limitar el uso de plot-ter.c al ultimo paso del algoritmo, en el que tras el colapso de los qubits en las dosprimeras lineas de computacion, podemos acceder a las amplitudes del tercero.

Por otro lado, tenemos la parte cuantica, formada por un unico modulo llamadoteleportation.qcl, que se encarga de simular el teletransporte del qubit introducidoen la interfaz y de devolver el estado del sistema a cada paso del algoritmo.

Por ultimo, existe un mecanismo de comunicacion entre ambas partes, que consis-te en la escritura/lectura de dos ficheros: info.qcl y dump.txt. En ellos se almacenan,por un lado, la informacion que QCL necesita conocer durante su ejecucion, y porotro, el estado del sistema cuantico en cada paso del algoritmo.

En un principio, se considero la utilizacion del patron Modelo Vista Controlador(MVC) para la creacion de la interfaz, pero se abandono dada la sencillez de lamisma, la naturaleza ad-hoc de la aplicacion y que la creacion de una capa modeloresultaba algo artificial puesto que no existıa un almacenamiento de datos. De estaforma, es la vista (modulo ui.c) quien define las reglas de negocio y gestion deeventos.

5.3. Funcionamiento

Se explica en esta seccion, el funcionamiento general del simulador, acompanadode su diagrama de flujo (ver Figura 5.3). Posteriormente, se detallan las accionesllevadas a cabo en cada una de sus etapas.

40

Page 59: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

Figura 5.3: Flujo de la simulacion

El funcionamiento, desde una perspectiva global, se divide en las siguientes fases.

1. La interfaz esta a la espera de que se introduzcan las amplitudes complejasdel qubit y que se pulse por primera vez el boton Step.

2. Se comprueba si los valores de amplitud introducidos son validos. De no serası, la interfaz emite un mensaje de advertencia y se vuelve a la fase 1.

3. En caso de ser necesario se normalizan las amplitudes.

4. Se extraen las coordenadas esfericas del qubit, a fin de obtener los angulos derotacion en la esfera de Bloch, para posteriormente convertir el |0〉 en el qubitdeseado.

5. Se calcula la fase global que podrıa estar afectando al qubit tras la rotacion,de forma que pueda ser eliminada en la preparacion del mismo.

6. Se crea el archivo que transmitira la informacion obtenida en las fases 4 y 5 aQCL.

7. Ejecucion de QCL.

41

Page 60: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

8. Alojamiento del qubit objeto del problema y su preparacion en el estado inicialrepresentado por las amplitudes introducidas en la fase 1.

9. Alojamiento de los qubits que formaran la base de Bell Φ+ y aplicacion de lasoperaciones pertinentes para su entrelazamiento.

10. Simulacion del teletransporte.

11. Escritura en el fichero dump.txt del estado del sistema en cada paso de lacomputacion.

12. La interfaz, a cada pulsacion del boton Step, y leyendo el estado cuanticoalmacenado en dump.txt, actualiza la informacion mostrada por la interfaz.

13. En el ultimo paso del teletransporte se ejecuta el modulo de dibujado, paramostrar una representacion grafica del qubit obtenido.

14. Se vuelve al estado inicial tras pulsar el boton Reset.

5.3.1. Recepcion de amplitudes

Las amplitudes de un qubit son numeros complejos, uno por cada estado qubitalpuro. La interfaz proporciona entradas de texto para introducir los valores de laparte real y compleja de cada amplitud (Figura 5.4). Son validos todos los valoresnumericos reales introducidos, de no ser ası, se emite un mensaje de error y se esperauna nueva entrada.

Figura 5.4: Entrada amplitudes

5.3.2. Normalizacion

Tal y como ya se ha mencionado, un qubit valido |ψ〉 = α |0〉+β |1〉 es aquel quecumple que |α|2 + |β|2 = 1, lo que se conoce como condicion de normalizacion.

42

Page 61: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

Podemos demostrar que un ket |ψ〉 y cualquiera de sus multiplos escalares com-plejos c |ψ〉 con c ∈ C, es decir, todo el subespacio generado por |ψ〉, describen elmismo estado fısico.

Para ello, tomemos el ket |ψ〉 = c0 |x0〉+ c1 |x1〉+ · · ·+ cn−1 |xn−1〉, que es combi-nacion lineal de los estados basicos |x0〉 , |x1〉 , . . . , |xn−1〉 y sus amplitudes complejasc0, c1, . . . , cn−1. La norma al cuadrado del numero complejo ci dividido por la normaal cuadrado de |ψ〉 es la probabilidad de que una vez observada la partıcula, esta seencuentre en el estado |xi〉.

p(xi)|ψ〉 =|ci|2

| |ψ〉 |2=|ci|2∑j |cj|2

De la misma forma, si multiplicamos el ket |ψ〉 por un numero complejo c ∈ Cobtenemos:

c |ψ〉 = cc0 |x0〉+ cc1 |x1〉+ · · ·+ ccn−1 |xn−1〉

Cuya probabilidad de encontrarse en el estado xi tras una medicion es:

p(xi)c|ψ〉 =|cci|2

|c |ψ〉 |2=

|c|2|ci|2

|cc0|2 + |cc1|2 + · · ·+ |ccn−1|2=

=|c|2|ci|2

|c|2(|c0|2 + |c1|2 + · · ·+ |cn−1|2)=

|ci|2

|c0|2 + |c1|2 + · · ·+ |cn−1|2=|ci|2∑j |cj|2

Podemos decir por lo tanto que p(xi)|ψ〉 = p(xi)c|ψ〉, de donde se deduce queambos kets son equivalentes. Sabiendo, que podemos multiplicar o dividir un ketpor cualquier numero complejo y que este sigue representando el mismo estado

fısico, y que un qubit es un caso particular de ket, cualquier elemento V =[α β

]Tno nulo de C2 puede convertirse en un qubit normalizado de la forma:

V

|V |=

V√< V, V >

=V√V † ? V

43

Page 62: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

Utilizando estas propiedades, el simulador comprueba la condicion de normali-zacion para las amplitudes introducidas y en caso de no satisfacerse, se procede a lanormalizacion de las mismas, dividiendo estas por su norma.

5.3.3. Coordenadas esfericas

Como ya se ha mencionado, existe una representacion grafica del qubit comoun vector desde el origen de una esfera tridimensional de radio uno, la esfera deBloch. Un qubit generico es de la forma |ψ〉 = α |0〉 + β |1〉 cumpliendo con lacondicion de normalizacion. Aunque aparentemente hay cuatro parametros realespara caracterizar al qubit, en la esfera solamente existen dos grados de libertad,latitud y longitud.

Nuestro objetivo es hallar dichos valores, que se corresponden con los angulos(θ, φ) formados por el vector con el eje z y el eje x de la esfera, como puede verse enla Figura 5.5, coloreados en azul y verde respectivamente. Es lo que se conoce comocoordenadas esfericas y nos permiten rotar un qubit |0〉 para obtener el bit cuanticocaracterizado por (θ, φ).

Figura 5.5: Coordenadas esfericas

Representando las amplitudes del qubit en forma polar, obtenemos:

α = rαeiφα β = rβe

iφβ

Por lo que podemos reescribir el qubit |ψ〉 como:

44

Page 63: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

|ψ〉 = rαeiφα |0〉+ rβe

iφβ |1〉

Aunque sigue habiendo cuatro parametros reales caracterizando al qubit, pode-mos eliminar uno de ellos utilizando lo demostrado en la seccion 5.3.2, que un qubites equivalente a cualquiera de sus multiplos escalares complejos. Multiplicando elket por e−iφα obtenemos que:

e−iφα |ψ〉 = e−iφα(rαeiφα |0〉+ rβe

iφβ |1〉) = rα |0〉+ rβei(φβ−φα) |1〉

Hemos reducido el numero de parametros a tres: rα, rβ, φ = φβ − φα. Peropodemos hacer una ultima eliminacion utilizando la condicion de normalizacion yreescribiendo rβe

iφβ en forma cartesiana, de forma que obtenemos:

1 = |α|2 + |β|2 = |rα|2 + |x+ yi|2 = r2α + x2 + y2

La ecuacion 1 = r2α + x2 + y2 se corresponde con la de una esfera unitariatridimensional (x, y, rα). Esto nos permite representar el estado |ψ〉 como un puntosobre la superficie de la esfera. Estos puntos se escriben en terminos de los angulos θy φ, sabiendo que en un espacio euclidiano tridimensional, los puntos de la superficieesferica pueden ser parametrizados de la forma:

x = cos(φ)sin(θ)

y = sin(φ)sin(θ)

z = cos(θ) = rα

Sustituyendo en el ket:

|ψ〉 = rα |0〉+ (x+ yi) |1〉 =

= cos(θ) |0〉+ (cos(φ)sin(θ) + sin(φ)sin(θ)i) |1〉 =

= cos(θ) |0〉+ sin(θ)eiφ |1〉

Esto demuestra que un qubit |ψ〉 puede representarse de forma unıvoca con dosparametros reales (θ, φ), que se corresponden con las coordenadas esfericas del vectorque representa al qubit en una esfera tridimensional unitaria.

En el simulador, dadas las amplitudes normalizadas α y β del qubit, se calculansus coordenadas esfericas asociadas utilizando las siguientes igualdades, resultantes

45

Page 64: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

de la proyeccion estereografica de la esfera sobre el plano complejo:

θ = 2 · atan(|β||α|

)

φ = Arg(β)− Arg(α)

Este procedimiento es necesario porque, cuando reservamos memoria cuanticaen QCL, el qubit resultante siempre se encuentra en el estado |0〉, siendo obligadasu rotacion para transformarlo en el qubit α |0〉 + β |1〉 introducido en la interfaz.Una vez conocemos la colatitud y el azimut (θ, φ), basta con efectuar las rotacionespertinentes sobre los ejes de la esfera de Bloch. Estas rotaciones son operadoresunitarios representados por las siguientes matrices, incluidas en la implementacionde QCL:

Rx(δ) =

[cos δ

2−i · sin δ

2

−i · sin δ2

cos δ2

]Ry(δ) =

[cos δ

2−sin δ

2

sin δ2

cos δ2

]Rz(δ) =

[e−i·

δ2 0

0 ei·δ2

]

La operacion llevada a cabo por QCL es por lo tanto Rz(φ)Ry(θ) |0〉, en el codigose ha implementado como el operador de la Figura 5.6.

Figura 5.6: Preparacion del qubit

5.3.4. Fase global

Es importante mencionar que, como resultado de las rotaciones efectuadas alqubit, a fin de preparar el estado inicial, el resultado puede verse afectado porlo que se denomina una fase global. Este fenomeno puede visualizarse como una

46

Page 65: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

rotacion del qubit sobre el eje Z, es decir, una modificacion de su longitud. Es clarover que, tras cualquiera de estas rotaciones, la probabilidad de colapso a uno de losestados qubitales puros no se ve modificada, es decir, el qubit original y el rotadoson equivalentes.

Matematicamente, esto se corresponde con la multiplicacion del ket por ei·δ. Ala hora de implementar el simulador, se podrıa haber utilizado el resultado obtenidotras las rotaciones preparatorias del qubit inicial, porque aunque las amplitudespodrıan no coincidir, serıan equivalentes. No obstante, se ha optado por deshacer esafase global a fin de que la simulacion sea mas intuitiva y explicativa. A continuacionse ejemplifica el proceso de obtencion de las amplitudes deseadas a traves de lasrotaciones y de la eliminacion de la fase global.

Supongamos que se quiere obtener el qubit normalizado

|ψ〉 =1− i5,57

|0〉+2 + 5i

5,57|1〉

cuyas coordenadas esfericas asociadas son

θ = 2 · atan

∣∣∣ 1−i5,57

∣∣∣∣∣∣2+5i5,57

∣∣∣ = 2,62

φ = Arg

(1− i5,57

)− Arg

(2 + 5i

5,57

)= 1,97

Aplicando las rotaciones Ry y Rz sobre |0〉

Rz(1,97)Ry(2,62) |0〉 =

[e−i·

1,972 0

0 ei·1,972

]?

[cos2,62

2−sin2,62

2

sin2,622

cos2,622

]?

[10

]=

=

[0,142555− 0,214859i0,534167 + 0,805094i

]

Puede verse que las amplitudes obtenidas difieren de las del qubit inicial, peroambas son equivalentes y tienen la misma probabilidad de colapsar a alguno de losestados puros. Las probabilidades de colapso para el qubit inicial son:

47

Page 66: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

p(|0〉) =

∣∣∣∣1− i5,57

∣∣∣∣2 = 0,064464 p(|1〉) =

∣∣∣∣2 + 5i

5,57

∣∣∣∣2 = 0,93519

y las del qubit rotado son:

p(|0〉) = |0,142555− 0,214859i|2 = 0,064464

p(|1〉) = |0,534167 + 0,805094i|2 = 0,93519

El motivo por el cual sus amplitudes no coinciden es que el segundo qubit se veafectado por una fase global. Para deshacer dicha fase, resolvemos la ecuacion

[0,142555 −0,214859i0,534167 0,805094i

]· ei·δ =

[1−i5,57

2+5i5,57

]

δ = 0,202446

y aplicamos la rotacion:

[ei·0,202446 0

0 ei·0,202446

]?

[0,142555− 0,214859i0,534167 + 0,805094i

]=

[0,179533− 0,179533i0,359066 + 0,897666i

]

Obteniendo las mismas amplitudes que el qubit inicial. En QCL, se ha codificadoel proceso de correccion de la fase global, a traves de un operador (Figura 5.7).

Figura 5.7: Operador de fase

48

Page 67: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

5.3.5. Fichero info.qcl

Una de las limitaciones encontradas en QCL, es que no es posible proporcionarleinformacion adicional una vez iniciada su ejecucion. Es por esto, que ante la necesi-dad de que el modulo cuantico conociese los valores de las coordenadas esfericas yde la fase global, ha sido necesaria la creacion de un archivo por parte del modulocontrol.c con extension .qcl que contenga esos datos y pueda ser incluido en el al-goritmo principal, a fin de que QCL lo carge al inicio de su ejecucion (utilizando ladirectiva include). La Figura 5.8 muestra el contenido de info.qcl para una entradaen el simulador de (1− i) |0〉+ (1 + i) |1〉.

Figura 5.8: Fichero info.qcl

5.3.6. Preparar qubit inicial y base de Bell

El qubit a teletransportar se obtiene utilizando lo explicado en las secciones 5.3.2,5.3.3 y 5.3.4 (normalizacion, rotacion y fase global). La base de Bell utilizada es

Φ+ =|00〉+ |11〉√

2

resultante de aplicar a un par de qubits |0〉 una puerta de Hadamard y una com-puerta CNOT, tal y como se explica en el desarrollo matematico de la seccion 4.2. Enel codigo, no ha sido posible implementar el entrelazamiento utilizando un operador(se ha usado una abstraccion mas general, denominada procedure, ver Figura 5.9),pues la necesidad de introducir el comando dump para conocer el estado cuantico acada paso del algoritmo, entra en conflicto con la restriccion de un operador de nocontener efectos colaterales.

5.3.7. Fichero dump.txt

En el algoritmo de teletransporte, despues de cada transformacion, QCL guar-da en el fichero dump.txt el estado cuantico del sistema, descrito como el producto

49

Page 68: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

Figura 5.9: Entrelazamiento en QCL

tensorial de los tres qubits involucrados. Este fichero es procesado por la interfazpara su visualizacion. En la Figura 5.10 puede verse un ejemplo del contenido delarchivo para una ejecucion del simulador con la entrada (1 + i) |0〉+ (1− i) |1〉, cabedestacar que el orden de los qubits dentro de los kets es el inverso al utilizado en losdesarrollos matematicos aquı expuestos. En la imagen se indican en rojo el qubit ateletransportar, en verde el par de la base de Bell que pertenece a Alice y en azul elpar entrelazado en poder de Bob.

Figura 5.10: Fichero dump.txt

5.3.8. Dibujado

En la interfaz, una vez llegados al ultimo paso del algoritmo, se ejecuta el modulode dibujado en OpenGL, que representa en la esfera de Bloch al qubit obtenido en latercera linea de computacion, utilizando la conversion entre coordenadas esfericas acartesianas. El modulo de dibujado es interactivo, pudiendo rotar la esfera y abrir unmenu contextual para ver las proyecciones sobre los ejes o cambiar entre los diferentespuntos de vista. La Figura 5.11 contiene la representacion visual para el qubit concoordenadas esfericas θ = 1,519492 y φ = −0,730907. En verde esta representado elqubit, en amarillo, rojo y azul los ejes, y las lıneas blancas punteadas se correspondencon las proyecciones cartesianas.

50

Page 69: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 5. EL SIMULADOR 5.3. FUNCIONAMIENTO

Figura 5.11: Qubit en OpenGL

51

Page 70: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

5.3. FUNCIONAMIENTO CAPITULO 5. EL SIMULADOR

52

Page 71: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Capıtulo 6

Conclusiones, incidencias ytrabajo futuro

Analizando el trabajo realizado, se han cumplido los objetivos propuestos paraeste trabajo fin de grado. Se ha desarrollado el algoritmo de teletransporte a nivelteorico y se ha implementado con exito un simulador del mismo, que puede resultarde utilidad en el ambito de la docencia, ya que automatiza los calculos involucradosen el algoritmo cuantico y permite una mejor comprension apoyandose en su facetavisual.

No obstante, han existido dificultades a lo largo del proceso, entre las que des-tacamos: la complejidad de los principios fundamentales de la mecanica cuantica,que supuso trabajar con un paradigma totalmente nuevo, y la obtencion de lascoordenadas esfericas para la preparacion del estado cuantico inicial, pues QCL noproporciona facilidades para obtener un qubit arbitrario, siendo necesario recurrir arotaciones en la esfera de Bloch. Este ultimo paso supuso un retraso importante en laprogramacion del algoritmo pues inicialmente se intento obtener las coordenadas atraves de la resolucion de las funciones trigonometricas inversas seno y coseno resul-tantes de la igualdad α = cos(θ/2), que aunque se logro resolver, no proporcionabael valor adecuado (el angulo resultante era complejo).

La direccion de trabajo a seguir es el refinamiento del simulador, para que permi-ta la utilizacion de cualquiera de las bases de Bell como clave, la implementacion deuna opcion que recree la interceptacion del mensaje por terceros (y observar ası laalteracion del canal cuantico y la destruccion del mensaje) y la determinacion de lasmatrices de decodificacion para una clave arbitraria resultante de utilizar qubits ensuperposicion.

53

Page 72: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

CAPITULO 6. CONCLUSIONES, INCIDENCIAS Y TRABAJO FUTURO

54

Page 73: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Anexos

55

Page 74: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci
Page 75: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Anexo A

Planificacion y coste

En este capıtulo se detallan las tareas en las que se divide el proyecto junto consu estimacion de costes. El trabajo esta compuesto por un conjunto de fases biendefinidas, que se enumeran a continuacion:

Fase 1: Estudio de la base matematica.

Fase 2: Comprension de los principios fundamentales de la mecanica cuanticaaplicados a la computacion.

Fase 3: Desarrollo teorico del algoritmo.

Fase 4: Estudio del lenguaje de programacion QCL y su integracion con elresto de herramientas utilizadas.

Fase 5: Implementacion del algoritmo.

Fase 6: Diseno y codificacion de la interfaz.

Fase 7: Desarrollo del modulo de dibujado en OpenGL.

De manera transversal a todas las fases se ha elaborado la presente memoria. LaFigura A.1 muestra un diagrama de Gantt con las tareas del proyecto. Las fechasindicadas en el grafico son aproximadas. Cabe destacar la linealidad de las primerasfases del proyecto (indicadas por las relaciones fin-comienzo) en las que cada tareaproporciona las herramientas y conocimientos necesarios para abordar las siguientes,provocando un cierto retraso en la finalizacion del proyecto, pues los inconvenientesencontrados imposibilitan el inicio de las subsiguientes tareas.

57

Page 76: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

ANEXO A. PLANIFICACION Y COSTE

20152016

2017Nov

Dic

Ene

Feb

Mar

Abr

May

Jun

Jul

Ago

Sep

Oct

Nov

Dic

Ene

Estu

dio

base

matem

aticaP

rincip

iosm

ecanica

cuan

ticaD

esarrolloteorico

algoritmo

Estu

dio

de

QC

LIm

plem

entacion

Interfaz

Op

enG

L

Figu

raA

.1:D

iagrama

de

Gan

tt

58

Page 77: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

ANEXO A. PLANIFICACION Y COSTE

El trabajo ha supuesto unas 885 horas de trabajo aproximadamente. De losmeses de Noviembre de 2015 a Junio de 2016 se han dedicado unas 3 horas diariasde trabajo y el resto de meses 5 horas al dıa. Si se estima que el sueldo medio de unestudiante de Ingenierıa Informatica es de 15 euros la hora, obtenemos un coste de13275 euros.

59

Page 78: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

ANEXO A. PLANIFICACION Y COSTE

60

Page 79: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Anexo B

Manual de usuario

En el CD adjunto a esta memoria, en un archivo comprimido, se incluye elsimulador. El fichero se descomprime en el directorio Simulator, que contiene elcodigo de todos los modulos de la simulacion.Para ejecutar el simulador, utilizar el comando make en el directorio raız Simulator,se crearan los archivos ejecutables simulator y plotter, lanzando de forma automaticael simulador. Es importante tener en cuenta las dependencias necesarias para elcorrecto funcionamiento de la simulacion, especificadas en el archivo README.txten el directorio principal.

A continuacion se expone el funcionamiento general del simulador, utilizandocomo base la Figura B.1.

Figura B.1: Manual del simulador

61

Page 80: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

ANEXO B. MANUAL DE USUARIO

Introducir en 1 las amplitudes complejas deseadas.

Pulsar 2 repetidamente para iterar sobre los pasos del algoritmo.

La seccion 3 muestra de forma grafica la evolucion del circuito de teletrans-porte.

En 4 puede verse la evolucion del estado del sistema.

Una vez alcanzado el ultimo paso, pulsar 5 para comenzar de nuevo.

62

Page 81: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

Bibliografıa

[1] Vicente Moret, Adventures in Computer Science (in press), Springer, 2016

[2] Paul Benioff, The Computer as a Physical System: A Microscopic Quantum Me-chanical Hamiltonian Model of Computers as Represened by Turing Machines,Journal of Statistical Physics, Vol.22, No.5, 1980

[3] Richard Feynman, Simulating Physics with Computers, International Journal ofTheoretical Physics, Vol.21, Nos. 6/7, 1982

[4] David Deutsch, Quantum theory, the Church-Turing principle and the universalquantum computer, Proceedings of the Royal Society of London A 400, pp. 97-117, 1985

[5] Daniel R. Simon, On the power of quantum computation, Microsoft Corporation,1993

[6] Charles H. Bennet, Teleporting an Unknown Quantum State via Dual Classicaland Einstein-Podolsky-Rosen Channels, Physical Review Letters, Vol. 70, No.13, 1993

[7] Peter W. Shor, Polynomial-Time Algorithms for Prime Factorization and Dis-crete Logarithms on a Quantum Computer, SIAM Journal on Computing, Vol.26, pp. 1484-1509, 1997

[8] Lov K. Grover, A fast quantum mechanical algorithm for database search, BellLabs, 1996

[9] J. A. Jones, M. Mosca, Implementation of a Quantum Algorithm to Solve Deu-tsch’s Problem on a Nuclear Magnetic Resonance Quantum Computer, Journalof Chemical Physics, Vol. 109, pp. 1648-1653, 1998

[10] R. J. Schoelkopf, Demonstration of two-qubit algorithms with a superconductingquantum processor, Nature, Vol 460, 2009

[11] Matthias Troyer, Quantum annealing with more than one hundred qubits, Na-ture Physics, 2014

63

Page 82: Trabajo de fin de grado Grado en Ingenier a Informatica · Universidade da Coru~na Facultad de informatica Trabajo de fin de grado Grado en Ingenier a Informatica Menci on en Computaci

BIBLIOGRAFIA BIBLIOGRAFIA

[12] Albert Einstein Concerning an Heuristic Point of View Toward the Emissionand Transformation of Light, American Journal of Physics, Vol. 33, No. 5, 1965

[13] Niels Bohr, On the Constitution of Atoms and Molecules, Philosophical Maga-zine, 1913

[14] Louis De Broglie, Recherches sur la Theorie des Quanta, Annals of Physics,1925

[15] Erwin Schrodinger, An undulatory theory of the mechanics of atoms and mole-cules, Physical Review, Vol. 28, No. 6, 1926

[16] Werner Heisenberg, Uber quantentheoretische Umdeutung kinematischer undmechanischer Beziehungen, Zeitschrift fur Physik, 1925

[17] D. Boschi, S. Branca, F. De Martini, Experimental Realization of Teleporting anUnknown Pure Quantum State via Dual Classical and Einstein-Podolski-RosenChannels, Physical Review Letters 80

[18] Xiao-song Ma, Thomas Herbst, Thomas Scheidl, Daqing Wang, Sebastian Kro-patschek, William Naylor, Alexandra Mech, Bernhard Wittmann, Johannes Ko-fler, Elena Anisimova, Vadim Makarov, Thomas Jennewein, Rupert Ursin, AntonZeilinger, Quantum teleportation using active feed-forward between two CanaryIslands, Nature 489, 2012

[19] Noson S. Yanofsky, Mirco A. Mannuci, Quantum Computing for ComputerScientists, Cambridge, 2008

[20] Dave Bacon, Dirac Notation and Basic Linear Algebra for Quantum Computing,Department of Computer Science and Engineering, University of Washington

[21] Bernhard Omer, Classical Concepts in Quantum Programming, Institute forTheoretical Physics, Vienna University of Technology

[22] Bernhard Omer, Structured Quantum Programming, Institute for TheoreticalPhysics, Vienna University of Technology

[23] Bernhard Omer, Quantum Programming in QCL, Institute of Information Sys-tems, Vienna University of Technology

[24] Bernhard Omer, A Procedural Formalism for Quantum Computing, Departmentof Theoretical Physics, Vienna University of Technology

64