• No se han encontrado resultados

Resolución de sistemas de ecuaciones con computación cuántica

N/A
N/A
Protected

Academic year: 2023

Share "Resolución de sistemas de ecuaciones con computación cuántica"

Copied!
90
0
0

Texto completo

(1)

Universidad ORT Uruguay

Facultad de Ingenier´ıa

Resoluci´ on de sistemas de ecuaciones con computaci´ on cu´ antica

Entregado como requisito para la obtenci´ on del t´ıtulo de Ingeniero en Electr´ onica

Autor

Ariel Mordetzki Goldstein - 222523

Tutores

Andr´e Fonseca De Oliveira Efrain Buksman Hollander

2022

(2)

Declaraci´ on

Yo, Ariel Mordetzki Goldstein, declaro que el trabajo que se presenta en esa obra es de mi propia mano. Puedo asegurar que:

• La obra fue producida en su totalidad mientras realizaba el proyecto integrador de Ingenier´ıa en Electr´onica;

• Cuando he consultado el trabajo publicado por otros, lo he atribuido con claridad;

• Cuando he citado obras de otros, he indicado las fuentes. Con excepci´on de estas citas, la obra es enteramente m´ıa;

• En la obra, he acusado recibo de las ayudas recibidas;

• Cuando la obra se basa en trabajo realizado conjuntamente con otros, he explicado claramente qu´e fue contribuido por otros, y qu´e fue contribuido por mi;

• Ninguna parte de este trabajo ha sido publicada previamente a su entrega, excepto donde se han realizado las aclaraciones correspondientes.

Ariel Mordetzki 17 de marzo de 2022

(3)

Dedicado a Bettina Mordetzki, Yoel Kazareski, Daniela Mordetzki, Ronen Katsap y Eitan Katsap.

(4)

Agradecimientos

A mis Padres y Abuelos por habilitar, a mis Tutores: Efrain Buskman y Andr´e Fonseca por guiar, a mis Docentes por formar y a mis Amigos por estar, de los cuales menciono especialmente a Carolina Allende y Diego Marvid por escuchar, opinar y acompa˜nar.

(5)

Abstract

En esta monograf´ıa se presentan los principales postulados del modelo te´orico de la compu- taci´on cu´antica universal basada en compuertas, con el fin de llegar a la deducci´on de un algoritmo de resoluci´on de sistemas de ecuaciones lineales llamado HHL [1] en honor a sus descubridores, Aram Harrow, Avinatan Hassadim y Seth Lloyd.

La computaci´on cu´antica se encuentra, a la fecha de escritura de este documento, en estado de pleno desarrollo con dificultades de hardware que imposibilitan implementacio- nes de sistemas robustos y resistentes al ruido y dem´as errores. El objetivo central del trabajo es pautar las bases y deducir los pasos para construir un circuito cu´antico capaz de resolver un sistema de ecuaciones, y luego indicar posibles t´ecnicas para circunvalar las dificultades de modelo. Se presenta como ejemplo de aplicaci´on del algoritmo la resoluci´on de un sistema de ecuaciones que resulta del modelado de ondas de corriente en una l´ınea de transmisi´on.

(6)

Palabras clave

Computaci´on Cu´antica, Sistemas de ecuaciones, HHL, Modelado, IBM Quantum Expe- rience.

(7)

´ Indice

Cap´ıtulo 1: Fundamentos de la computaci´on cu´antica 11

1.1 Motivaci´on 11

1.2 Estados cu´anticos 12

1.2.1 Estados de varios qubits 15

1.2.1.1 Estados separables y entrelazados 16

1.2.3 Operadores de densidad 17

1.3 Compuertas cu´anticas 18

1.3.1 Operadores de Pauli y compuerta Hadamard 19

1.3.2 Matrices de rotaci´on 21

1.3.3 Descomposici´on de compuertas de un qubit 23 1.3.4 Compuertas de varios qubits y operadores controlados 23 1.3.4.1 Operadores controlados gen´ericos 25 1.3.3.2 Compuerta Toffoli y compuertas controladas m´ultiples 25 1.3.5 El CN OT y las compuertas elementales como conjunto universal 28

1.4 Medici´on cu´antica 29

1.4.1 Mediciones proyectivas 30

1.4.2 Mediciones proyectivas en otras bases 31

(8)

1.4.3 Fase local y global 32 Cap´ıtulo 2: Circuitos cu´anticos y Algoritmos Previos 34

2.1 Circuitos cu´anticos 34

2.1.2 M´etodo de an´alisis de circuitos cu´anticos 34 2.2 Transformada cu´antica de Fourier 36

2.2.1 Introducci´on 36

2.2.2 Definici´on can´onica 37

2.2.2.1 Caso particular: 1 qubit 37

2.2.3 Forma producto de la definici´on 38

2.2.4 Construcci´on del circuito 39

2.2.4.1 Topolog´ıa del circuito 40

2.2.4.2 Caso particular: implementaci´on para 3 qubits 41

2.2.5 An´alisis computacional 42

2.2.4.1 Profundidad de compuertas 42

2.2.4.2 Orden del algoritmo 43

2.2.4.3 Limitaciones 43

2.3 Algoritmo de estimaci´on de fase 44

2.3.1 Introducci´on 44

(9)

2.3.2 Estudio del algoritmo 44

2.3.2.1 Circuito previo 44

2.3.2.2 Procedimiento general en condiciones ´optimas 46

2.3.2.3 Error de truncamiento 47

2.3.2.4 Error en preparaci´on de estado inicial 48

Cap´ıtulo 3: Algoritmo HHL 49

3.1 Introducci´on 49

3.2 Descripci´on del problema 50

3.3 Lemas te´oricos necesarios 50

3.4 Estudio del algoritmo 52

3.4.1 Procedimiento previo 52

3.4.2 Procedimiento general 54

3.5 Aplicaci´on a un caso particular 56

3.5.1 Procedimiento algebraico 58

3.5.2 Aplicaci´on del algoritmo 59

3.5.3 Implementaci´on en IBMQ 60

3.5.3.1 Resultados 63

Cap´ıtulo 4: Aplicaciones del algoritmo HHL 65

4.1 Problem´atica 65

(10)

4.2 Ecuaci´on de onda 65 4.2.1 Soluci´on de un caso particular 67

4.2.2.1 Fuentes de error 72

4.2.2.2 Conclusiones 72

4.3 Comparador cu´antico 72

4.3.1 La fidelidad como medida de distancia 72

4.3.2 Swap Test 73

4.3.2.1 Implementaci´on de swap test en IBMQ 75

Cap´ıtulo 5: Conclusiones 77

Referencias bibliogr´aficas 78

Referencias 78

Anexo I: Conceptos matem´aticos y notaciones 80

Notaci´on de Dirac 80

Producto de Kronecker 80

Propiedades 81

Anexo II: C´odigos 82

Funci´on HHL 82

Simulaci´on de l´ınea de transmisi´on 89

(11)

Cap´ıtulo 1: Fundamentos de la computaci´ on cu´ antica

1.1 Motivaci´ on

Se har´a una peque˜na rese˜na hist´orica basada en [2] En el 1970 comienzan los primeros avances para lograr controlar completamente un sistema de naturaleza cu´antica. Anteriormente, las aplicaciones conocidas de la mec´anica cu´antica involucraban grandes cantidades de sistemas, con pocas posibilidades de controlarlos. Al cuestionarse cuales son los descubrimientos pueden traer el aumento del control sobre sistemas cu´anticos elementales, y su extensi´on a sistemas m´as complejos, nacen las primeras ideas de la computaci´on cu´antica.

La era moderna de la ciencia de la computaci´on comienza con el matem´atico Alan Turing, que en 1936 hace una publicaci´on cient´ıfica en la cual desarrolla abstractamente lo que hoy en d´ıa llamar´ıamos una computadora programable. Turing muestra que existe una abstracci´on capaz de modelar cualquier tarea de car´acter algor´ıtmico, es decir, que si un algoritmo puede ser imple- mentado en cualquier hardware, entonces existe un procedimiento, capaz de ser implementado en una maquina de Turing, que puede resolver la misma tarea.

No mucho despu´es de los avances de Turing, las primeras computadoras desarrolladas con componentes electr´onicos comenzaron a surgir. En 1947, a˜no en el cual Shockley et al desarrollan el transistor, el desarrollo de hardware comenzo una fase de crecimiento exponencial, con el poder computacional duplic´andose aproximadamente una vez cada dos a˜nos. Esto es conocido como ley de Moore, que se mantuvo veros´ımil por varias d´ecadas.

En la actualidad, debido a que los transistores son construidos cada vez m´as peque˜nos con el af´an de aumentar el poder de c´omputo, los m´etodos convencionales de desarrollo de hardware est´an comenzando a interferir con los fen´omenos de la mec´anica cu´antica, lo cual significa un eventual fallo de la ley de Moore. Una de las posibles soluciones a este problema es cambiar de paradigma computacional, y naturalmente surge la idea de utilizar fen´omenos cu´anticos para

(12)

realizar c´omputos.

En 1985, David Deutsch comienza a estudiar si la f´ısica cu´antica puede definir un dispositivo computacional capaz de simular un sistema f´ısico arbitrario. Debido a que las leyes de la f´ısica son esencialmente cu´anticas, Deutsch se inclina naturalmente a considerar dispositivos gobernados por los principios de la mec´anica cu´antica. Estos dispositivos, an´alogos cu´anticos al concepto moderno de maquina de Turing, son los precursores de la computaci´on cu´antica y del modelo que estudiaremos en esta tesis.

Hoy en d´ıa existe un gran modelo para el marco de la computaci´on cu´antica pero a´un faltan encontrar aplicaciones para el mismo. El dise˜no de un algoritmo cu´antico es extremadamente complejo ya que la intuici´on humana est´a fuertemente arraigada al mundo cl´asico. Si utilizamos esta intuici´on como ayuda para construir un algoritmo, lo que obtendr´ıamos ser´ıan algoritmos cl´asicos. Para dise˜nar un algoritmo cu´antico uno debe despojarse de la intuici´on cl´asica.

¿Qu´e clase de problemas pueden ser solucionados eficientemente en una computadora cu´anti- ca? ¿C´omo se comparan con las respectivas soluciones con las proporcionadas por una compu- tadora cl´asica? las respuestas a estas preguntas son escasas, esto implica un gran y esperanzador desaf´ıo para la humanidad en los a˜nos venideros.

1.2 Estados cu´ anticos

El bit es la unidad m´as b´asica de informaci´on en la computaci´on cl´asica. Para comenzar el estudio de la computaci´on cu´antica, introducimos el an´alogo cu´antico, qubit. Los qubits son objetos matem´aticos con ciertas propiedades. La abstracci´on del qubit como objeto matem´atico permite despojarnos de sus diversas implementaciones f´ısicas, lo cual nos da libertad para construir un modelo matem´atico independiente del objeto f´ısico que se utilice para implementar un qubit.

Si se considera un bit cl´asico, que se encuentra en estado 1 o estado 0, siendo estos estados mutuamente excluyentes. Los qubits pueden encontrarse en un estado que denotaremos |1⟩, en otro estado denotado |0⟩ o en cualquier combinaci´on lineal de estos estados, que describiremos:

(13)

|ψ⟩ = α |0⟩ + β |1⟩ (1) donde α y β son n´umeros complejos.

Desde el punto de vista algebr´aico afirmamos que el subespacio generado por el conjunto {|0⟩ , |1⟩} y C2 son isomorfos. Por esto, podemos escribir

 1 0

→ |0⟩

 0 1

→ |1⟩ (2)

Es decir, a partir de ahora debido a la identidad (2), los s´ımbolos |0⟩ y |1⟩ denotan la base can´onica de C y heredan todas sus propiedades.

Ahora observando la expresi´on (1), podemos concluir que un qubit es una combinaci´on lineal de los vectores |0⟩ y |1⟩, es decir, Un qubit es un vector de C2.

Cl´asicamente, uno puede examinar un bit para determinar su estado. Determinar el estado de un qubit, es decir, los valores de α y β es computacionalmente poco eficiente. Cuando se mide u observa un qubit, uno obtiene el resultado 0 con probabilidad |α|2 o el estado |1⟩ con probabilidad |β|2, debido a los axiomas de probabilidad de Kolmogorov se desprende la condici´on:

|α|2+ |β|2 = 1, es decir un estado de un qubit debe ser unitario para poder ser implementado en una computadora cu´antica, en general, un qubit es un vector unitario de C2

Los qubits pueden ser manipulados y transformados de forma tal que en sus amplitudes se codifique informaci´on relevante y f´acilmente recuperable, o que observaciones realizadas al final puedan ser utilizadas para determinar soluciones a problemas. El algoritmo HHL es un claro ejemplo de este enunciado, ya que en el cap´ıtulo correspondiente estudiaremos que en el estado de salida del algoritmo, aparece un t´ermino an´alogo al vector soluci´on x del sistema de ecuaciones.

El hecho de que un qubit pueda encontrarse en dos estados al mismo tiempo como com- binaci´on lineal antes de ser observado es contraintuitivo. A este fen´omeno se lo conoce como superposici´on. Un bit cl´asico puede ser pensado como una moneda en el suelo, es cara o

(14)

n´umero y lo ´unico que debemos hacer es observarla para determinar su estado, mientras que un qubit puede ser pensado como una moneda en el aire antes de caer, que se encuentra en un continuo entre cara y numero hasta que al suelo. En mec´anica cu´antica, caer al suelo es medir.

Consideremos el estado cu´antico que representa una moneda:

|+⟩ = 1

√2|0⟩ + 1

√2|1⟩ (3)

Este estado al ser medido, da |0⟩ con probabilidad |12|2 = 0,5 y |1⟩ con la misma probabi- lidad. Podemos observar que la suma de los cuadrados de los coeficientes da 1, cumpliendo la condici´on de ser unitario. Anecd´oticamente, consideremos un estado con la misma propiedad:

|−⟩ = 1

2|0⟩ − 1

2|1⟩ (4)

Debido a que el vector debe ser unitario, podemos reescribir (1) utilizando notaci´on expo- nencial de n´umeros complejos como:

|ψ⟩ = e

 cosθ

2|0⟩ + esinθ 2|1⟩



(5)

para ciertos γ, θ , φ ∈ R arbitrarios. En cap´ıtulos venideros demostraremos que el t´ermino e no tiene efectos observables, y por ende puede ser despreciado. Podemos reescribir (5) como:

|ψ⟩ = cosθ

2|0⟩ + esinθ

2|1⟩ (6)

Los n´umeros θ y φ definen un punto en una esfera llamada esfera de Bloch, que sirve para visualizar el estado de un qubit y su evoluci´on. Muchas de las operaciones en computaci´on cu´antica son descritas en t´erminos geom´etricos sobre la esfera de Bloch. Esta representaci´on es limitada ya que no existe una forma intuitiva para generalizarla a varios qubits.

(15)

Figura 1: Tomada de [3]. Representaci´on de un qubit en la esfera de Bloch

Notamos que esta esfera no representa exactamente R3 ya que la noci´on de ortogonalidad se da a los π radianes y no al esperado π2

La representaci´on en la figura (1) da a lugar a la siguiente pregunta: ¿Cuanta informaci´on se puede representar con un solo qubit? existen infinitos puntos en la esfera de Bloch, o infinitos vectores unitarios en C2. Uno tender´ıa a pensar que se podr´ıa codificar la divina comedia entera en una representaci´on binaria de θ. Esta afirmaci´on es verdadera, no obstante in´util ya que al medir el qubit obtendr´ıamos solo 0 o 1 y para determinar θ se necesitar´ıa realizar estad´ıstica extensa sobre el qubit, y esto es computacionalmente poco deseable.

Similarmente, una moneda no equilibrada que se encuentra en el aire, guarda el valor real de probabilidad de salir cara, no obstante para poder determinarlo se debe realizar un correcto tratamiento estad´ıstico, tan extenso como la precisi´on que se quiera tener sobre p.

1.2.1 Estados de varios qubits

Sea un registro cl´asico de dos bits, que puede encontrarse cuatro estados posibles 00, 01, 10, 11 en alg´un momento dado del tiempo. En contraposici´on, un estado de dos qubits es descrito por la misma base computacional mencionada anteriormente, solo que extendida para 4 dimensiones mediante el producto de Kronecker:

• |0⟩ ⊗ |0⟩ = |00⟩

• |0⟩ ⊗ |1⟩ = |01⟩

• |1⟩ ⊗ |0⟩ = |10⟩

(16)

• |1⟩ ⊗ |1⟩ = |11⟩

Se puede verificar que esta base computacional se corresponde con la base can´onica de C4. Para 2 qubits, un estado gen´erico es de la forma:

|ψ⟩ = α00|00⟩ + α01|01⟩ + α10|10⟩ + α11|11⟩ (7)

donde los αij pueden tomar cualquier valor complejo, mientras que se cumpla la condici´on de normalizaci´on:

X

i,j∈{0,1}

ij|2 = 1 (8)

Notamos que, para n = 1 qubit podemos trabajar con una superposici´on de N = 21 estados de la base computacional, con n = 2 qubits tenemos n = 22 estados de la base computacional.

Con n qubits, podemos trabajar con una superposici´on de N = 2n estados, y debido a la linealidad de los algoritmos cu´anticos, que estudiaremos en cap´ıtulos venideros, podemos aplicar una serie de operaciones a cada uno de estos estados al mismo tiempo, lo cual deja entrever la potencia de poder trabajar con unidades de informaci´on de tipo vectorial.

1.2.2 Estados separables y entrelazados

De la mec´anica surge el fen´omeno de entrelazamiento cu´antico. Un sistema entrelazado formado por dos subespacios asociados a dos estados |ϕA⟩ y |ϕB⟩ cumple que sus propiedades est´an correlacionadas entre s´ı, incluso si ambos estados est´an separados f´ısicamente. Para introducir la definici´on matem´atica de estados entrelazados, comenzaremos hablando sobre su opuesto, los estados separables. Un estado cu´antico de dos qubits es separable si puede ser escrito como producto tensorial de dos estados de un qubit. Mas espec´ıficamente diremos que el estado |ψC⟩ es separable si existen |ψA⟩ y |ψB⟩ tal que:

C⟩ = |ψA⟩ ⊗ |ψB⟩ (9)

Un ejemplo de esto es el estado |ψ⟩ = 12|00⟩ − 12|01⟩ + 12|10⟩ −12|11⟩ que puede ser escrito como |ψ⟩ =|0⟩+|1⟩

2



⊗|0⟩−|1⟩

2



= |+⟩ ⊗ |−⟩

(17)

Generalizaremos esto para estados de varios qubits, diciendo que un estado de n qubits es totalmente separable se puede descomponer en n productos de estados de un qubit:

|ψ⟩ =

n

O

i=1

i⟩ (10)

donde los |ϕi⟩ son estados de un qubit.

Diremos que un estado esta entrelazado cuando no es separable, ejemplo:

|ψ⟩ = |00⟩ + |11⟩

2 (11)

Es trivial demostrar que no existen dos estados |ψA⟩ y |ψB⟩ tal que |ψ⟩ = |ψA⟩ ⊗ |ψB⟩ y el estado original no puede ser pensado como dos estados separados, y toda acci´on que se realice sobre el primer qubit afectar´a al segundo.

1.2.3 Operadores de densidad

Hasta este punto hemos formulado un modelo computacional utilizando estados vectores. Existe una herramienta alterna para formular estados cu´anticos llamada operadores de densidad, o matriz de densidad. La formulaci´on es matem´aticamente equivalente a la vectorial, pero es ´util para modelar ciertos escenarios com´unmente encontrados en algunos algoritmos.

La descripci´on en operadores de densidad proporciona una forma conveniente de describir sistemas cu´anticos cuyos estados no son conocidos. Supongamos que un sistema cu´antico est´a compuesto por una serie de estados |ψi⟩, con respectivas probabilidades pi, definimos el conjunto {|ψi⟩ , pi} como un ensamble de estados puros. El operador de densidad o matriz densidad del sistema queda definido como:

ρ =X

i

pii⟩ ⟨ψi| (12)

Todos los postulados y terminolog´ıas de la computaci´on cu´antica vectorial pueden ser for- mulados en torno al operador de densidad. La elecci´on del lenguaje a describir radica puramente en preferencias. En esta monograf´ıa se opt´o por utilizar lenguaje vectorial, pero para ciertas implementaciones de simulaci´on o modelados puede ser ´util esta notaci´on

(18)

Un operador ρ es operador de densidad si y solo si satisface las condiciones:

1. Su traza es igual a 1.

2. Es definido positivo.

Una sencilla prueba de estas propiedades:

1. T r(ρ) =P

ipitr(|ψi⟩ ⟨ψi|) =P

ipi= 1

2. Sea ϕ un vector arbitrario se tiene que ⟨ϕ| ρ |ϕ⟩ =P

ipi⟨ϕ|ψi⟩ ⟨ψi|ϕ⟩ =P

ipi| ⟨φ|ψi⟩ |2≥ 0 Se pueden reformular los postulados de la computaci´on cu´antica para la utilizaci´on de ope- radores de densidad.

Postulado 1: La evoluci´on de un sistema cu´antico descrita por el operador U se define como ρ= U ρU

Postulado 2: Sea un estado cu´antico ρ y un operador de proyecci´on Mi la probabilidad de que colapse a un estado |i⟩ es T r



MiMiρ



y el estado post medida es MiρM

i

T r

MiMiρ

Postulado 3: Sea un sistema de n qubits cada uno con sus respectivos ρn operadores de densidad, el operador de densidad total del estado es: ρ1⊗ ρ2⊗ . . . ⊗ ρn

Dado un estado con su respectivo operador de densidad se cumple que tr(ρ2) ≤ 1, en caso de igualdad diremos que el estado es puro. En otro caso, diremos que se trata de un estado mezcla.

1.3 Compuertas cu´ anticas

Al haber descrito con totalidad el modelo de los estados cu´anticos, para seguir completando nuestro modelo de computaci´on surge la pregunta de como manipular estos estados. De la ecuaci´on de Schr¨odinger [4] se desprende el siguiente postulado: La evoluci´on de un estado cu´antico queda descrita por una transformaci´on lineal unitaria. [5]

Sea el estado |ψ1⟩ en tiempo t1 y el estado |ψ2⟩ en tiempo t1 se tiene que existe U unitaria tal que:

2⟩ = U |ψ1⟩ (13)

(19)

La condici´on de que las operaciones deben ser unitarias es la ´unica restricci´on. Cualquier transformaci´on unitaria define una compuerta cu´antica valida. Esto es una diferencia sustancial con la computaci´on cl´asica, en la cual existe un conjunto finito de compuertas no triviales. Las computadoras cl´asicas est´an construidas mediante cables y compuertas l´ogicas, similarmente, las computadoras cu´anticas contienen compuertas cu´anticas que describen los cambios sobre estados cu´anticos. Mientras que un estado cl´asico evoluciona mediante funciones booleanas, un estado cu´antico evoluciona mediante transformaciones lineales.

Una posible definici´on de algoritmo cu´antico ser´ıa como una composici´on de rotaciones y simetr´ıas (transformaciones unitarias) en cierto subespacio complejo.

1.3.1 Operadores de Pauli y compuerta Hadamard

Para desarrollar un modelo computacional, comenzaremos describiendo cuatro operadores fun- damentales sobre un ´unico qubit. Estos son los operadores de Pauli y la compuerta Hadamard.

El operador X act´ua como un Not cl´asico sobre los estados de la base computacional de un qubit, es decir X |0⟩ = |1⟩ y que X |1⟩ = |0⟩. Recurriendo a la notaci´on matricial para observar este efecto:

X =

 0 1 1 0

(14)

y verificamos su efecto sobre un estado |ψ⟩ gen´erico:

X

 α β

=

 β α

(15)

Por ello, el efecto del operador X actuando sobre un estado arbitrario |ψ⟩ = α |0⟩ + β |1⟩ es del la forma: X |ψ⟩ = α |1⟩ + β |0⟩. utilizando la linealidad de los operadores parecer´ıa que pudimos implementar dos compuertas Not al mismo tiempo sobre cada uno de los estados de la base

(20)

computacional.

Otro de los operadores de Pauli es el operador Z:

Z =

1 0

0 −1

(16)

que act´ua sobre un estado arbitrario de un qubit dejando intacto al t´ermino con |0⟩ y agregando un −1 al termino con |1⟩. Esta compuerta es un caso particular de otra mas general llamada Compuerta de rotaci´on que agrega un termino de e a la componente |1⟩. La compuerta Z es un caso particular para θ = π

El tercer operador de Pauli es el operador Y , cuya representaci´on matricial es:

Y =

 0 −i i 0

(17)

Que act´ua sobre un qubit arbitrario agregando una fase de π2. Tambi´en introducimos la compuerta Hadamard:

H = 1

√2

1 1

1 −1

(18)

que act´ua de la siguiente manera:

• H |0⟩ → |+⟩

• H |1⟩ → |−⟩

Geom´etricamente, se trata de una rotaci´on de π2 en torno al eje y, visualmente en la esfera de Bloch, la compuerta Hadamard aplicada al estado |0⟩:

(21)

Figura 2: Tomada de: [6]. Efecto de la compuerta Hadamard sobre estado |0⟩

La compuerta Hadamard act´ua como un Not a medio camino, es decir, en vez de rotar completamente un |0⟩ hasta dejarlo en |1⟩, simplemente lo rota y lo deja en un estado entre un

|0⟩ y un |1⟩.

Otra propiedad interesante de la compuerta Hadamard es que H2= Id es decir, aplicar dos veces una compuerta Hadamard no efect´ua ning´un cambio.

Una consideraci´on importante es que al exigirle a todas las compuertas cu´anticas ser unita- rias, tambi´en les estamos exigiendo biyectividad, lo cual es importante, ya que demuestra que la computaci´on cu´antica es completamente reversible, es decir, para cualquier composici´on de compuertas que lleven un estado |ψ⟩ a otro estado |ψ⟩, existe una configuraci´on an´aloga que permita recuperar el estado |ψ⟩ a partir del estado |ψ⟩ para cualquier estado arbitrario

1.3.2 Matrices de rotaci´ on

Considerando la esfera de Bloch y las matrices de Pauli, deducimos tres ´utiles y potentes ope- radores que se corresponden a rotaciones a lo largo del eje x y y z, los cuales son:

Rx(θ) = e−iθX2 =

cos θ2

−i sin θ2

−i sin θ2

cos θ2

(19)

(22)

Ry(θ) = e−iθY2 =

cos θ2

− sin θ2

− sin θ2

cos θ2

(20)

Rz(θ) = e−iθZ2 =

e−iθ2 0 0 eiθ2

(21)

Considerando la matriz de giro Rz(θ) y sacando factor com´un e−iθ/2 podemos definir una nueva compuerta, llamada compuerta de fase:

Rz=

e−iθ2 0 0 eiθ2

= e−iθ2

1 0

0 eiθ2+iθ2

= e−iθ2

1 0

0 e

(22)

El t´ermino e−iθ2 no genera efectos observables sobre un estado de un qubit. Este fen´omeno ser´a discutido en la secci´on de mediciones cu´anticas.

Con esta consideraci´on, llegamos a redefinir la compuerta RZ como:

RZ= P (θ) =

1 0

0 e

(23)

Esta compuerta agrega una fase de e al estado |1⟩, actuando sobre un qubit |ψ⟩ arbitrario de la siguiente forma:

P (θ) |ψ⟩ = α |0⟩ + βe|1⟩ (24)

Tomando θ = π se obtiene la compuerta Z, de ah´ı la noci´on de que la compuerta Z, que agrega en definitiva una fase de π al sistema, es un caso particular de esta compuerta. Tambi´en definimos las compuertas S y T como P π2 y P (π4) respectivamente.

(23)

1.3.3 Descomposici´on de compuertas de un qubit

Existen infinitas transformaciones unitarias, por ende infinitas compuertas cu´anticas. No obs- tante, podemos definir un conjunto de compuertas que modelen la totalidad de la computaci´on cu´antica. Para comenzar, introducimos una descomposici´on de compuertas unitarias cualquiera en 3 compuertas de un qubit.

Teorema: Cualquier compuerta unitaria de 2 × 2 qubits puede ser descompuesta de la siguiente forma:

U = e

e−iβ2 0 0 e2

 .

cos γ2

−sin γ2 sin γ2

cos γ2

 .

e−iδ2 0 0 e−iδ2

(25)

donde α , β, γ, δ son n´umeros reales. La segunda matriz es una rotaci´on ordinaria, y las primeras pueden ser entendidas como rotaciones en cierto subespacio.

El teorema, cuya demostraci´on puede ser encontrada en [7] establece que cualquier rotaci´on Rn(θ) se puede obtener como producto de rotaciones RZ y RY de la forma:

U = eRz(β)Ry(γ)Rz(δ) (26)

para ciertos valores reales de α γ y δ.

Esto fortalece la definici´on de estas compuertas, ya que solo conociendo estas dos, podemos construir cualquier rotaci´on gen´erica, permitiendo acercarnos m´as a un modelo computacional de compuertas elementales que permitan dise˜nar algoritmos, en la infinidad de las transformaciones unitarias.

1.3.3 Compuertas de varios qubits y operadores controlados

Para generalizar estos operadores a sistemas de varios qubits alcanza con calcular el producto tensorial entre ellos. Sea un sistema compuesto por dos estados de un qubit: |ψ⟩ ⊗ |ϕ⟩ y se quiere aplicar el operador H al primer qubit y el operador Z al segundo, debemos construir el operador U = H ⊗ Z.

(24)

Operadores controlados

Es de inter´es tanto en la computaci´on cl´asica como en la cu´antica poder definir alg´un tipo de operaci´on que solo act´ue bajo ciertas condiciones. La primera de estas compuertas es llamada CN OT o simplemente Controlled Not que a ct´ua sobre un estado arbitrario, en t´erminos de la base computacional, de la siguiente manera:

|c⟩ |t⟩ → |c⟩ |t ⊕ c⟩ (27)

Es decir, si el qubit de control |c⟩ es igual a |1⟩ entonces se aplica una compuerta X sobre el qubit target |t⟩. En otro caso, el qubit target queda inalterado. La representaci´on matricial de esta compuerta es:

CNOT=

1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0

(28)

La representaci´on circuital es:

Figura 3: CN OT

Donde el punto negro representa el qubit de control, y el circulo representa el qubit de target.

Es te´oricamente interesante definir el efecto del CN OT en funci´on de la compuerta X de la siguiente manera:

|c⟩ |t⟩ → |c⟩ Xc|t⟩ (29)

Por ejemplo,

• |01⟩ → |0⟩ X0|1⟩ = |01⟩

• |11⟩ → |1⟩ X1|1⟩ = |10⟩

(25)

Se observa que en caso que el qubit de control se encuentra en |0⟩ la compuerta no act´ua, mientras que en el caso opuesto aplica una compuerta X al segundo qubit.

Existen ciertas consideraciones interesantes del CN OT, la primera es que no existen dos ope- radores U1 y U2 tal que CN OT = U1⊗ U2, la segunda es que la compuerta es capaz de generar entrelazamiento, es decir, si se introduce el estado |+⟩ |0⟩ separable, a la salida tendremos el estado entrelazado |00⟩+|11⟩

2 . Tanto los qubits de target como de control pueden ser superposi- ciones, para resolver anal´ıticamente el efecto de la compuerta en este caso, basta con utilizar la linealidad de los operadores.

1.3.3.1 Operadores controlados gen´ericos

El primer paso para generalizar las operaciones controladas, es generalizar la noci´on del contro- lled Not a cualquier operaci´on unitaria U que act´ua de la siguiente manera:

|c⟩ |t⟩ → |c⟩ Uc|t⟩ (30)

Lo representamos circuitalmente:

Figura 4: Control U

La noci´on de la existencia de estas compuertas controladas permiten asignar significados l´ogicos a las transformaciones lineales, permitiendo seleccionar con mayor especificidad en que circunstancias se aplican ciertas compuertas. Este pensamiento es crucial para el algoritmo HHL.

1.3.3.2 Compuerta Toffoli y compuertas controladas m´ultiples

Continuando sobre la idea de generalizar las compuertas cu´anticas, podemos definir una com- puerta controlada generalizada con k qubits de target y n qubits de control:

Que aplica la compuerta U = U1⊗ U2 ⊗ . . . Uk a los k qubits de target, si y solo si los n qubits de control se encuentra en estado |1⟩. Es trivial mencionar que, si se quisiera manipular

(26)

Figura 5: Tomada de [8].Control U

el tipo de control, se podr´ıan utilizar compuertas X para hacer que los controles se efect´uen cuando se encuentran en estado |0⟩. Esto se anota con un circulo blanco:

Figura 6: Utilizaci´on de |0⟩ como control

Un caso particular e interesante de estas compuertas controladas generalizadas es la com- puerta Toffoli, que es definida como un CN OT con dos controles.

Figura 7: Compuerta Toffoli

Esta compuerta es algebr´aicamente importante, ya que es crucial en la construcci´on de las compuertas generalizadas.

Distintos hardwares cu´anticos implementan la compuerta Toffoli de diferentes maneras, por simpleza constructiva o para minimizar errores. Debido a ciertas identidades de las compuertas, existen diversas formas de implementar una compuerta Toffoli. Mostraremos dos implementa- ciones, una utilizando CN OT y compuertas X y otra utilizando compuertas CN OT, H, T y S ya definidas como casos particulares de la compuerta P .

(27)

Es trivial observar que X = HZH, por ende podemos construir una compuerta Toffoli construyendo una compuerta Z con dos controles y luego encerr´andola entre dos compuertas Hadamard.

Figura 8: Tomada de [9]. Compuerta Toffoli

Definimos V = (1 − i)(Id + iX)/2 = P (π/2).

Este circuito oculta una propiedad interesante, vemos que con compuertas invertibles de uno y dos qubits podemos construir la compuerta Toffoli, que nos permitir´a construir cualquier compuerta universal.

Otra forma de definir la Toffoli es utilizando compuertas T y S

Figura 9: Tomada [10]. Compuerta Toffoli

La elecci´on de como implementar las compuertas Toffolis radica puramente en optimizaci´on de errores. Cada computadora cu´antica tiene sus modelos y par´ametros de error, y algunas compuertas inducen mas error que otras. Por ejemplo, la computadora cu´antica IBMQ utiliza esta implementaci´on en vez de la anterior.

(28)

1.3.5 El C

N OT

y las compuertas elementales como conjunto uni- versal

En el comienzo de la secci´on mencionamos que cualquier matriz unitaria de n × n es v´alida como compuerta cu´antica, y nuestro af´an es poder determinar un conjunto finito de compuertas capaz de implementar cualquier unitaria. Este postulado es veraz, y una demostraci´on formal puede ser encontrada en [9]. En esta monograf´ıa mostraremos las implicancias del teorema, comenzando con c´omo construir cualquier compuerta unitaria controlada de un qubit, con 1 qubit de target y n qubits de control:

Figura 10: Tomada de [11]. Caso particular n = 5

Este circuito implementa una operaci´on U controlada utilizando 5, |c1c2c3c4c5⟩ qubits de control, y 4 qubits auxiliares en estado |0⟩ llamados ancillas.

Debido a que con compuertas elementales de un qubit podemos construir cualquier com- puerta unitaria y agregando al CN OT podemos construir compuertas Toffoli, y con compuertas Toffoli podemos construir compuertas controladas U generalizadas, podemos concluir que las compuertas de un qubit y el CN OT forman un conjunto universal para la computaci´on cu´antica.

Este teorema es crucial para el algoritmo HHL, ya que el mismo asume la existencia de un procedimiento finito para implementar cierta unitaria UHHL, cuya definici´on se dar´a en su correspondiente cap´ıtulo. No obstante, el hecho de que exista una configuraci´on finita de com- puertas elementales para implementar cualquier compuerta U no asegura que esto sea trivial.

Encontrar maneras ordenadas de realizar esto es uno de los mayores desaf´ıos de la computaci´on

(29)

cu´antica. Existen casos particulares ya estudiados como los operadores de Grover [12] y la imple- mentaci´on de la transformada cu´antica de Fourier, pero circuitalmente requieren de elaborados razonamientos algebraicos. Existen ciertos algoritmos [13] cl´asicos que utilizan inteligencia ar- tificial cl´asica para determinar maneras de construir compuertas unitarias con cierto nivel de precisi´on.

1.4 Medici´ on cu´ antica

En la secci´on anterior se discuti´o que un estado cu´antico cerrado evoluciona acorde a una trans- formaci´on unitaria, no obstante en alg´un punto del algoritmo, el estado resultante debe ser observado para poder determinar informaci´on relevante. Cuando esto ocurre, el sistema deja de ser cerrado lo cual incumple una hip´otesis fundamental en el postulado de evoluci´on unitaria.

Para modelar esta situaci´on introducimos unos nuevos operadores {Mi}, llamados operadores de medida.

Las medidas cu´anticas son descritas por un conjunto de operadores de medida que deben satisfacer la ecuaci´on:

X

i

MiMi = I (31)

llamada ecuaci´on de completitud, que se deriva de el hecho de que las probabilidades de todos los posibles resultados deben de sumar 1.

X

i

pi=X

i

⟨ψ| MiMi|ψ⟩ (32)

Si esta ecuaci´on se cumple para todo |ψ⟩, se deriva la ecuaci´on de completitud.

Dado un estado |ψ⟩, la probabilidad de que colapse a cierto estado |i⟩ ocurra viene dada por:

P (|i⟩) = ⟨ψ| MiMi|ψ⟩ (33)

(30)

Y el estado luego de la medici´on es:

Mi|ψ⟩

q

⟨ψ| MiMi|ψ⟩

(34)

1.4.1 Mediciones proyectivas

En la secci´on anterior describimos la teor´ıa de medici´on cu´antica utilizando unos operadores abstractos llamados operadores de medida, en esta secci´on estudiaremos el caso particular en el cual estos operadores de medida act´uan como proyecciones ortogonales.

Supongamos que los operadores {Mi} adem´as de satisfacer la ecuaci´on de completitud, cum- plen ser proyectores ortogonales, los denotaremos {Pi} . En este caso, se simplifican las ecuaciones (33) y (34), y la probabilidad de un resultado |i⟩ es de la forma:

P (|i⟩) = ⟨ψ| Pi|ψ⟩ (35)

y el estado post medida:

Pi|ψ⟩

p⟨ψ| Mi|ψ⟩ (36)

Consideramos un estado arbitrario de un qubit |ψ⟩ = α |0⟩ + β |1⟩ y los operadores:

P0= |0⟩ ⟨0| (37)

P1= |1⟩ ⟨1| (38)

que cumplen la ecuaci´on de completitud: P0P0+ P1P1 = P02+ P12 = P0+ P1 = I .

Los operadores definidos en (37) y (38) son los operadores de proyecci´on ortogonal sobre la base can´onica de C2 que cumplen las propiedades de ser herm´ıticos, unitarios, no biyectivos e idempotentes de orden 2. Todas propiedades esperables de operadores de medici´on.

La probabilidad de que un estado colapse a |0⟩ o |1⟩ se puede calcular utilizando la propiedad enunciada: ⟨ψ| Pi|ψ⟩. Es trivial verificar que para un estado de un qubit |ψ⟩, se cumple que

⟨ψ| P0|ψ⟩ = |α|2y que ⟨ψ| P1|ψ⟩ = |β|2, demostrando as´ı que al medir un estado de un qubit, este

(31)

colapsar´a al estado |0⟩ con probabilidad |α|2 o al estado |1⟩ con probabilidad |β|2, evidenciando la condici´on de norma 1 de los estados cu´anticos, que mantiene coherencia con los axiomas de probabilidad ya que |α|2+ |β|2 = 1 necesariamente.

El concepto de medici´on desmotiva el com´un error de concepto de que un qubit es un bit cl´asico en 1 y 0 al mismo tiempo. El qubit es un vector unitario, escrito como combinaci´on lineal de 1 y 0 pero para poder determinar su estado, en alg´un momento ese qubit se deber´a observar (medir) y colapsar´a inevitablemente a 1 o 0, dando lugar as´ı al concepto de superposici´on cu´antica.

La idea de muchos algoritmos cu´anticos es manipular la probabilidad de que cierto estado colapse a un estado objetivo o favorable con probabilidad cercana 1 (ver algoritmo de Grover).

Otros algoritmos intentan almacenar informaci´on en los coeficientes del estado vector, pero se debe tener especial cuidado en que esa informaci´on viene dada en forma de probabilidad y para poder conocerlas con cierto grado de precisi´on se deber´an recurrir a m´etodos estad´ısticos computacionalmente caros y generalmente poco deseables.

1.4.2 Mediciones proyectivas en otras bases

En la secci´on anterior establecimos que la medida de un qubit |ψ⟩ = α |0⟩ + β |1⟩ da como resultado |0⟩ o |1⟩ con probabilidades |α|2 y |β|2respectivamente. Debido a que un vector puede ser escrito en las coordenadas de cualquier base que uno desee, se puede medir un mismo qubit en distintas bases, pudiendo as´ı obtener m´as informaci´on sobre el mismo.

Considerando los estados |0⟩ y |1⟩ que pueden ser descritos en las coordenadas de la base {|+⟩ , |−⟩}, permitiendo que un estado arbitrario de un qubit en la base computacional pueda ser escrito de la siguiente forma:

|ψ⟩ = α |0⟩ + β |1⟩ = α|+⟩ + |−⟩

2 + β|+⟩ − |−⟩

2 = α + β

2 |+⟩ +α − β

2 |−⟩ (39)

con estados post medida |+⟩ y |−⟩ respectivamente. Midiendo en funci´on de esta base, utilizando los proyectores P+ = |+⟩ ⟨+| y P de an´aloga definici´on. Naturalmente, la probabilidad de obtener |+⟩ es |α + β|2 y la de obtener un |−⟩ es |α − β|2.

(32)

Generalizando, dada una base ortonormal {|e1⟩ , |e2⟩} es posible expresar un qubit en las coordenadas de dicha base, como combinaci´on lineal de |e1⟩ y |e2⟩ y luego medir respecto a esa base y as´ı obtener las coordenadas del estado arbitrario en esa base, que satisfacen la condici´on de norma 1. Computacionalmente, construir los proyectores |ei⟩ puede no ser trivial.

La noci´on de trabajar con estados escritos en otras bases que no sean la computacional es crucial para comprender las ideas b´asicas detr´as del algoritmo HHL.

1.4.3 Fase local y global

Consideramos el estado |ψ⟩ y el estado |ψ⟩ = e|ψ⟩. Diremos que los estados |ψ⟩ y |ψ⟩ difieren en una fase global de θ. Esto es importante, ya que los estados son indistinguibles a nivel de mediciones, es decir, las probabilidades de obtener ciertos resultados para ambos estados son iguales.

La demostraci´on de esta proposici´on: Sea Mi un operador de medici´on, recordamos de (33) la probabilidad de tener un resultado |i⟩ al medir el estado |ψ⟩:

P (|i⟩) = ⟨ψ| MiMi|ψ⟩

Ahora consideremos las probabilidades de obtener un resultado |i⟩ en el estado |ψ⟩:

P |i⟩ = ⟨ψ| e−iθMiMie|ψ⟩ = ⟨ψ| MiMi|ψ⟩ = P (|i⟩) (40)

Desde el punto de vista de las observaciones, dado que las ecuaciones (33) y (40) son iguales, los estados son indistinguibles.. Es por este resultado que en el primer cap´ıtulo ignoramos el t´ermino e en la ecuaci´on (5) para representar un qubit, lo cual nos permiti´o definir la esfera de Bloch con ayuda de las coordenadas esf´ericas en la figura (1). Tambi´en es la raz´on por la cual reescribimos la compuerta Rz(θ) sacando un factor com´un eiθ2 en la ecuaci´on (21) y luego ignor´andolo para definir la compuerta P (θ).

No obstante, existe otro tipo de fase llamada fase local o fase relativa. Consideremos los estados:

(33)

|+⟩ = |0⟩ + |1⟩

√2 , |−⟩ = |0⟩ − |1⟩

√2 = |0⟩ + e|1⟩

√2

Ambos estados difieren en una fase local de π. Se puede observar que las probabilidades de medir |0⟩ y |1⟩ en ambos estados son ambas 12. ¿No podr´ıan considerarse indistinguibles a nivel de medici´on? la respuesta es no, porque esto es solo considerando mediciones en la base computacional, utilizando los proyectores P0 = |0⟩ ⟨0| y P1 = |1⟩ ⟨1|. Si medimos en la base {|+⟩ , |−⟩} utilizando los proyectores P+ = |+⟩ ⟨+| y P= |−⟩ ⟨−|, la probabilidad de medir un

|+⟩ es evidentemente 1 en el estado |+⟩ y l´ogicamente la probabilidad de medir un |−⟩ es 0 en el estado |+⟩ con razonamientos an´alogos para mediciones en el estado |−⟩ mostrando que dos estados que difieren en una fase local, son claramente distinguibles.

La fase local o relativa genera diferencias en mediciones y por ende, efectos observables a nivel de las bases en las cuales deseemos expresar los estados cu´anticos, mientras que las fases globales no tienen efectos observables sobre los estados cu´anticos independientemente de en que base se elijan expresar.

(34)

Cap´ıtulo 2: Circuitos cu´ anticos y Algoritmos Previos

2.1 Circuitos cu´ anticos

Computer programming is an art form, like the creation of poetry or music. - Donald Knuth La construcci´on de un algoritmo cu´antico es esencialmente una configuraci´on de compuertas cu´anticas que implementan cierta transformaci´on lineal unitaria sobre un estado inicial que com´unmente llamaremos |ψ0⟩ tal que el resultado luego de n pasos sea |ψn⟩ con propiedades interesantes y medibles como por ejemplo, gran probabilidad de colapsar a un estado objetivo, informaci´on sobre cierto problema codificado en alguna de las fases, etc. El correcto tratamiento de un estado cu´antico luego de finalizado un algoritmo para recuperar informaci´on interesante no es trivial, e incluso puede llegar a ser tan complejo, rebuscado y costoso computacionalmente como el algoritmo en si. En este capitulo estudiaremos como analizar circuitos cu´anticos para poder entender como funcionan los algoritmos.

2.1.2 M´ etodo de an´ alisis de circuitos cu´ anticos

Para interpretar un circuito cu´antico existen un conjunto de reglas:

• Los qubits se representan con l´ıneas.

• Las compuertas se representan con cuadrados con su nombre.

• Una secuencia de compuertas se corresponde a una composici´on de transformaciones linea- les. Para hallar la matriz asociada a la secuencia basta con realizar el producto matricial de los operadores.

Los circuitos se analizan de abajo hacia arriba con productos tensoriales, y de izquierda a derecha con productos entre matrices.

(35)

A modo de ejemplo, introducimos el siguiente circuito:

Figura 11: Circuito de Ejemplo

Y consideremos el estado:

0⟩ = |00⟩ = |0⟩ ⊗ |0⟩ (41)

Calculemos la evoluci´on de |ψ0⟩ a medida que se le aplican las compuertas, y estudiemos el estado de salida.

• |ψ0⟩ = |0⟩ ⊗ |0⟩

• La compuerta Hadamard en el primer qubit la podemos modelar incluyendo al segundo, con el operador H ⊗ Id indicando que al primer qubit se le aplica una Hadamard y al segundo se lo deja inalterado, luego el estado es de la forma:

1⟩ = (H ⊗ Id)(|0⟩ ⊗ |0⟩) = H |0⟩ ⊗ Id |0⟩ = |+⟩ ⊗ |0⟩ (42)

• Para analizar la salida del CN OT, haremos un par de cuentas sobre |ψ1⟩ descrito en la ecuaci´on (42) :

2⟩ = |0⟩ + |1⟩

2 ⊗ |0⟩

Para estudiar operaciones controladas se precisan tener estados de tipo |0⟩ o |1⟩ en los controles. En este caso, tenemos un estado |+⟩. para estudiar el comportamiento del CN OT utilizando como control dicho estado, se aplica propiedad distributiva y se utiliza la linealidad:

1⟩ = |00⟩ + |10⟩

2 (43)

Notar que los estados (42) y (43) son iguales utilizando propiedades del producto tensorial.

(36)

• Ahora podemos estudiar el efecto del CN OT sobre las componentes |00⟩ y |10⟩ por separado utilizando la linealidad y la definici´on de CN OT:

2⟩ = |0⟩ X0|0⟩ + |1⟩ X1|0⟩

2 = |0⟩ |0⟩ + |1⟩ |1⟩

2 (44)

Es decir, en el primer t´ermino el control estaba en |0⟩ y en el segundo termino el control estaba en |1⟩, asi que se aplica un X en el target pero solo en el segundo t´ermino de la superposici´on. Finalmente luego de reducir:

2⟩ = |00⟩ + |11⟩

2 (45)

El circuito toma como entrada al estado separable |00⟩ y a la salida se obtiene la superposici´on entrelazada |00⟩+|11⟩2 . Notar que el hecho de que hallamos tomado como estado inicial al |00⟩ de la base computacional no cambia el funcionamiento del circuito, podr´ıamos haber ingresado cualquier superposici´on de estados, y el cricuito hubiese operado sobre los mismos de forma independiente gracias a la linealidad. Esto es parte de la fuerza de la computaci´on cu´antica. Se eligi´o ingresar como estado de entrada un estado de la base computacional para simplficar el ejemplo.

2.2 Transformada cu´ antica de Fourier

A good idea has a way of becoming simpler and solving problems other than that for which it was intended. - Robert Tarjan

2.2.1 Introducci´ on

El hecho de que las computadoras cu´anticas trabajen con vectores como sus unidades elementales de informaci´on combinado a los distintos isomorfismos presentes entre diversos subespacios con C2nnos da lugar a pensar que una sucesi´on finita puede ser representable con un estado cu´antico, lo que nos permite pensar que una sucesi´on finita de la forma: an = {a1, a2, ..., ak} puede ser mapeada a un estado cu´antico de la forma: |ψ⟩ = a1|e1⟩ + a2|e2⟩ +, ... + ak|ek⟩ luego de una correcta normalizaci´on.

(37)

Sumado al hecho de que la transformada cl´asica de Fourier discreta es una transformaci´on unitaria y dado que las computadoras cu´anticas pueden en teor´ıa implementar cualquier transfor- maci´on unitaria, podemos asegurar que existe una forma de construir un circuito cu´antico cuya matriz asociada sea la de la transformada de Fourier Discreta. En este cap´ıtulo estudiaremos la definici´on adaptada a nuestro marco computacional, as´ı como sus propiedades e implementaci´on recursiva utilizando compuertas elementales.

2.2.2 Definici´ on can´ onica

Sea un estado cu´antico |X⟩, definimos su transformada cu´antica de Fourier como:

Uf|X⟩ = 1

√N

N −1

X

y=0

ei2πxyN |Y ⟩ (46)

Donde

• N = dimensi´on del espacio donde est´e definida la transformaci´on.

• N = 2n donde n = cantidad de qubits.

• Y se expresa en binario mientras que y se expresa en decimal.

2.2.2.1 Caso particular: 1 qubit

En este caso, N = 21 Luego siguiendo la definici´on, la transformaci´on nos queda:

Uf|X⟩ = 1

√2

2−1

X

y=0

ei2πxy2 |Y ⟩ = 1

√2



ei2πx02 |0⟩ + ei2πx12 |1⟩

= 1

√2 |0⟩ + eiπX|1⟩

(47)

Siguiendo esta definici´on, observamos que para los estados de la base computacional de un Qubit:

Uf|0⟩ = 1

√2 |0⟩ + eiπ0|1⟩ = |+⟩ (48)

Uf|1⟩ = 1

√2 |0⟩ + eiπ1|1⟩ = |−⟩ (49)

(38)

Resumiendo el efecto de Uf (47) en t´erminos de la base computacional:

{|0⟩ , |1⟩}−U−→ {|+⟩ , |−⟩}f

Es decir, la transformada cu´antica de Fourier actu´o como cambio de base, de la base compu- tacional a la base Hadamard. Esto se generaliza con el siguiente enunciado: ”La transformada cu´antica de Fourier se define como un cambio de base de la base computacional a la base de Fourier”. Para el caso de un qubit, la base de Fourier es la base {|+⟩ , |−⟩}.

2.2.3 Forma producto de la definici´ on

Utilizaremos propiedades para encontrar una definici´on an´aloga de la QFT, que nos ayudar´a a calcular f´acilmente transformadas de Fourier para estados de mayor dimensi´on as´ı como deducir un circuito capaz de implementarla. Algunos textos consideran la definici´on en forma producto como la original.

Partimos de la definici´on (46)

Uf|X⟩ = 1

√ N

N −1

X

y=0

ei2πxyN |Y ⟩ (50)

En donde |Y ⟩ = |y1y2...yn⟩ puede ser escrito como Pn

k=1yk2n−k Sustituyendo en (46), nos queda:

Uf|X⟩ = 1

√ N

N −1

X

y=0

ei2πx

Pn

k=1yk2n−k

N |Y ⟩ (51)

Y recordando que N = 2n:

Uf|X⟩ = 1

√ N

N −1

X

y=0

ei2πx

Pn k=1yk

2k |Y ⟩ (52)

Usando propiedades de exponenciales:

Uf|X⟩ = 1

√ N

N −1

X

y=0 n

Y

k=1

ei2πx

Pn k=1yk

2k |Y ⟩ (53)

(39)

Finalmente, desarrollando la productoria en (53)

Uf|X⟩ = 1

√ N



|0⟩ + e21ix |1⟩

⊗

|0⟩ + e22ix |1⟩

⊗ ... ⊗

|0⟩ + e2nix |1⟩

(54)

Esta expresi´on equivalente de la transformada permite aplicarla de forma mas sencilla, con- sideramos un estado inicial |x⟩ = |x1x2...xn⟩ = |x1⟩ |x2⟩ ... |xn⟩ vemos que esta definici´on mapea de forma separable:

• |x1⟩−U−→ |0⟩ + ef 21ix |1⟩

• |x2⟩−U−→ |0⟩ + ef 22ix |1⟩

...

• |xn⟩−U−→ |0⟩ + ef 2nix |1⟩

en donde xi ∈ {0, 1}

2.2.4 Construcci´on del circuito

Construiremos el circuito en base a dos observaciones:

• Los factores de Uf|x⟩ son de la forma:

– |00..,00⟩

– e2nix |00..,01⟩

– e2n−1ix |00..,10⟩

Es decir, factores cuya fase depende en donde se encuentre el 1

• la fase del t´ermino |11..,1⟩ es de la forma:

e2nixe2nix...e2nix = e2πi

x 21+x

22+...+2nx

De estas observaciones concluimos que la fase depende de los cambios de |0⟩ a |1⟩ y cuantos mas |1⟩ hallan, mas componentes exponenciales tendr´a esta fase. Esto nos lleva a pensar en dos compuertas elementales para construir el circuito que implemente la transformada cu´antica:

(40)

• La compuerta Hadamard, cuya actuaci´on sobre un estado de la base computacional se puede escribir de la forma: H |x⟩ = |0⟩+e

2pi ix 22|1⟩

2

• Una rotaci´on gen´erica que denotaremos Rk tal que Rk|xj⟩ = eixj2k |xj⟩ cuya matriz asociada es:

Rk=

1 0

0 eixj2k

(55)

Recordamos que xj puede tomar valores entre {01}, para xj = 0, Rk= Id , para xj = 1, Rk act´ua aplicando una fase de e

ixj

2k al estado |1⟩.

2.2.4.1 Topolog´ıa del circuito

Con estas observaciones construiremos un circuito:

Figura 12: Tomada de [14]. Topolog´ıa de QFT

Al estudiar la evoluci´on del estado tenemos:

0⟩ = |x1x2...xn⟩ (56)

1⟩ =

|0⟩ + eix121 |1⟩

⊗ |x2x3...xn⟩ (57)

2⟩ =

|0⟩ + eix222eix121 |1⟩

⊗ |x2x3...xn⟩ (58)

3⟩ =

|0⟩ + eix323 eix222eix121 |1⟩

⊗ |x2x3...xn⟩ (59)

(41)

Con un procedimiento similar en el segundo qubit:

4⟩ =

|0⟩ + eix323 eix222eix121 |1⟩

⊗ |x2x3...xn⟩ (60)

Hasta terminar con |x1⟩, luego se repite recursivamente el procedimiento para |x2⟩ hasta completar el estado. La representaci´on muestra instant´aneamente que la transformada cu´antica de Fourier es unitaria, ya que su implementaci´on est´a conformada por matrices unitarias.

2. 2. 4. 2 Caso particular: implementaci´on para 3 qubits

Consideramos n = 3 qubits, lo que implica una transformada de dimensi´on N = 23 = 8.

Notamos que R1 se corresponde con H , R2 se corresponde con S y R3 se corresponde con T . Esta observaci´on nos permitir´a derivar una sencilla implementaci´on:

Figura 13: Tomada de [15]. Representaci´on de QFT para 3 qubits

(42)

La matriz asociada a la transformaci´on, considerando ω = e2πi8 es:

Uf =

1 1 1 1 1 1 1 1

1 ω ω2 ω3 ω4 ω5 ω6 ω7 1 ω2 ω4 ω6 1 ω2 ω4 ω6 1 ω3 ω6 ω1 ω4 ω7 ω1 ω5 1 ω4 1 ω4 1 ω4 1 ω4 1 ω5 ω2 ω7 ω4 ω1 ω6 ω3 1 ω6 ω4 ω2 1 ω6 ω4 ω2 1 ω7 ω6 ω5 ω4 ω3 ω2 ω1

(61)

Para el estado |X⟩ = |5⟩ = |101⟩:

|x⟩ = |0⟩ |1⟩ |1⟩−U−→f 1

√ 8



|0⟩ + e21i5 |1⟩

⊗

|0⟩ + e24i5 |1⟩

⊗

|0⟩ + e28i5 |1⟩

(62)

2.2.4 An´ alisis computacional

2.2.4.1 Profundidad de compuertas

Es de inter´es preguntarse cuantas compuertas cu´anticas ser´an necesarias para implementar una transformada cu´antica de Fourier de n qubits. En el primer qubit, se aplica una compuerta Hadamard y n − 1 rotaciones controladas, es decir, un total de n compuertas.

En el segundo qubit, se aplica una Hadamard y un total de n − 2 rotaciones controladas, es decir, n − 1 compuertas.

La cantidad de compuertas utilizadas es: n + (n − 1) + (n − 2) + ... + 1 es decir, n(n+1)2 compuertas. Para el caso de 3 qubits verificamos que necesitaremos un total de 6 com- puertas y un swap.

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y