IMPLEMENTACIÓN CON QISKIT DE UNIDADES
FUNCIONALES CUÁNTICAS: UN MULTIPLICADOR
LOGARÍTMICO
DANIEL DAVID ABELLÁN SERRANO
GRADO EN INGENIERÍA INFORMÁTICA. FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTESNE DE MADRID
T abajo Fin G ado en Ingenie ía In o má ica
Fecha
31-05-2019
Di ec o /es y/o colabo ado :
Albe o A. Del Ba io
Guille mo Bo ella
Resumen en cas ellano
La compu ación cuán ica ha dado un sal o eno me desde el desa ollo eó ico a la ealidad
g acias a las nue as ecnologías que han pe mi ido c ea compu ado as cuán icas eales
po eso es que en es e abajo se ponen a p ueba los concep os básicos de la compu ación
cuán ica así como a ias unidades uncionales básicas a pa i de las cuales se ha desa ollado
e implemen ado un mul iplicado loga í mico. En el p esen e ex o se pueden encon a las
implemen aciones de es as unidades uncionales así como los esul ados ob enidos y análisis
as su ejecución en di e sos simulado es y máquinas eales.
Palab as cla e
Compu ación cuán ica, compu ación clásica, bi , qubi , Qiski , sumado , mul iplica-
do , mul iplicado loga í mico, QFT (Quan um Fou ie T ans o m), Equi alencia Cuán ica-
Clásica, simulado es, algo i mos cuán icos, complejidad compu acional.
Abs ac
Quan um compu ing has aken a huge leap om heo e ical de elopmen o eali y
hanks o he new echnologies ha ha e allowed eal quan um compu e s o be c ea ed.
Tha is why in his wo k he basic concep s o quan um compu ing as well as se e al un-
c ional uni s a e es ed om which a loga i hmic mul iplie has been de eloped and imple-
men ed. In he p esen ex you can ind he implemen a ions o hese unc ional uni s as
well as he esul s ob ained and analysis a e hei execu ion in di e en simula o s and
eal machines.
Keywo ds
Cuan um compu ing, classic compu ing, qubi , bi , Qiski , adde , mul iplie , algo i mic
mul iplie , QFT (Quan um Fou ie T ans o m), Quan um-Classical Equi alence, simula o s,
cuan um algo i hms, compu a ional complexi y.
Índice gene al
Índice i
Ag adecimien os iii
Dedica o ia i
1. P incipios básicos sob e compu ación cuán ica 1
1.1. Elqubi ...................................... 1
1.1.1. Ope aciones sob e un qubi . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Múl iplesqubi s.................................. 4
1.2.1. Ope aciones sob e múl iples qubi s . . . . . . . . . . . . . . . . . . . 6
1.3. Equi alencia Cuán ica-Clásica . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. In oducción a los ci cui os cuán icos 11
2.1. Compu ado es cuán icos eales . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. F amewo ks de diseño de ci cui os cuán icos . . . . . . . . . . . . . . . . . . 12
2.3. Qiski ....................................... 13
2.3.1. Simulado es................................ 15
2.3.2. Máquinas eales.............................. 23
2.4. Tipos de algo i mos cuán icos . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5. E icienciaycomplejidad ............................. 27
3. Ci cui os cuán icos a i mé icos 30
3.1. Quan um Fou ie T ans o m (QFT)....................... 30
3.1.1. QFT−1.................................. 32
3.2. T ans o mada cuán ica de Fou ie ap oximada (AQFT)............ 33
3.3. Sumado es..................................... 34
3.3.1. Sumado deVed al............................ 34
3.3.2. Sumado deCucca o ........................... 34
3.3.3. Sumado basado en QFT ........................ 36
3.3.4. Sumado basado en AQFT ....................... 38
3.4. Mul iplicado basado en QFT .......................... 38
4. Compa a i a de cos es 40
5. Implemen ación y análisis de esul ados 42
5.1. Sumado es..................................... 43
5.1.1. Pseudocódigo pa a la c eación de los sumado es . . . . . . . . . . . . 43
i
5.1.2. Simulaciónideal.............................. 47
5.1.3. Simulación con modelos de uido . . . . . . . . . . . . . . . . . . . . 48
5.1.4. Ejecución eal............................... 49
5.2. Mul iplicado loga í mico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.1. Pseudocódigo pa a la c eación del codi icado y el decodi icado loga-
í micos .................................. 52
5.2.2. Codi icado /decodi icado loga í mico . . . . . . . . . . . . . . . . . . 53
5.2.3. Esquemacomple o ............................ 57
5.2.4. Mul iplicado loga í mico con o os sumado es . . . . . . . . . . . . . 60
6. Conclusiones 63
6.1. Fu u o....................................... 64
Bibliog a ía 65
Bibliog aphy 67
ii
Ag adecimien os
A Albe o y Guille mo po da me la opo unidad de en a en el uni e so cuán ico y
encon a un nue o camino. A An onio po oda su ayuda du an e el cu so pa a que es e
p oyec o lo ecie a.
iii
Dedica o ia
A mi abuela Angeli a y mi mad e Ma ía de los Ángeles po aguan e me un año más
en casa y pe mi i me inaliza la i ulación. A Ai o po baja me del cielo a la ie a. A
Bá ba a po apoya me an os años. A Ra a, Alejand o, Ve ónica, Ainhoa, Pablo, Miguel,
Cla a, Paco, Ad ianes, Daniel y Se gio po anima me a segui cada ie nes. A Manuel po
sus consejos an peculia es. Y po ú imo a mi sob ina Zoe y mi he mana Rosa.
i
Capí ulo 1
P incipios básicos sob e compu ación
cuán ica
En es e capí ulo in oduci emos los p incipios básicos sob e compu ación cuán ica nece-
sa ios pa a comp ende los emas abo dados más adelan e en es e ex o.
1.1. El qubi
Cuando hablamos de compu ación cuán ica, el concep o base y el p ime o que debemos
abo da es el concep o de qubi [C+18]. Un qubi es la unidad de almacenamien o de in o -
mación mínima de la compu ación cuán ica. Recibe ese nomb e po pa alelismo con el bi
clásico. Un bi clásico puede es a en dos posibles es ados, ce o y uno, que ep esen an la
di e encia de po encial en e dos pun os de e minados, es máxima (uno) o es mínima (ce o).
Sin emba go, un qubi puede es a en in ini os es ados que se co esponden con un ec o
uni a io en un espacio de Hilbe , complejo po de inición, de dimensión dos.
Pa a isualiza cual es el es ado de un qubi se suele pensa en un ec o den o de
la es e a uni a ia idimensional, lo que ecibe el nomb e de ep esen ación en la es e a de
Bloch, que podemos isualiza en la igu a 1.1. A la ho a de abaja con un qubi , podemos
ope a sob e él median e o aciones en la es e a dando luga a o os es ados. Es as o aciones
quedan ep esen adas po ma ices uni a ias, complejas po de inición, de o den dos.
Es o pone de mani ies o la eno me, de hecho, in ini a, can idad de es ados en que puede
1
Figu a 1.1: Es e a de Bloch
es a un qubi . Sin emba go, a la ho a de in en a isualiza o consul a el es ado de un
qubi , acción a la que de aho a en adelan e nos e e i emos como ealiza una medición,
ocu en dos cosas que de e minan la o ma en que se abaja en compu ación cuán ica.
En p ime luga , aunque los es ados posibles son in ini os, solo dos es ados son obse a-
bles, el ec o (1,0) del espacio de Hilbe que se co esponde con el ec o que apun a al
polo no e de la es e a y que iden i icamos con el |0i; y el ec o (0,1) que se co esponde con
el ec o que apun a al polo su de la es e a e iden i icamos con el |1icomo se mues a en la
ecuación 1.1. La no ación ke |i se u iliza pa a dis ingui los es ados cuán icos de los clásicos.
Es o sugie e la inmedia a p egun a de qué ocu e cuando medimos un qubi en o o es ado.
En al caso, se dice que el qubi es á en un es ado de supe posición pues o que se a a á de
una combinación lineal, posiblemen e compleja, de los dos ec o es an e io es. Al ealiza
la medición obse a emos el es ado |0io el |1isegún una dis ibución de p obabilidad que
depende del es ado del qubi .
|0i ⇐⇒ 1
0,|1i ⇐⇒ 0
1.(1.1)
Supongamos un es ado cualquie a α. Como los es ados |0iy|1ison una base del espacio
de es ados, αse pod á exp esa como combinación lineal de los dos es ados básicos al y
como emos en la ecuación 1.2.
α=a(1,0) + b(0,1) con |a|2+|b|2= 1.(1.2)
En es a si uación al ealiza una medición obse a emos el es ado |0icon p obabilidad
2
1.3. Equi alencia Cuán ica-Clásica
Hemos hablado de la po encia de quan um compu ing, pe o aún no hemos is o que
ealmen e es al menos igual de po en e que la compu ación clásica, de hecho es más po en e.
Pa a ello amos a e que se puede implemen a un conjun o uni e sal clásico median e
pue as cuán icas.
Lo p ime o que hay que ene en cuen a es que los ope ado es cuán icos deben se
e e sibles, es deci , no podemos implemen a una pue a dos a uno, aunque sí una dos a
dos o es a es que se compo e en una de sus salidas como la pue a que nos in e esa.
Con es e in p esen amos la pue a de To oli o CCNOT de es qubi s, una de las
pue as más impo an es. La pue a de To oli se compo a an e en adas clásicas, es deci ,
es ados obse ables, según desc ibe la abla 1.2, y iene la ma iz de la ecuación 1.18.
INPUT OUTPUT
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 1
1 0 1 1 0 0
1 1 0 1 1 1
1 1 1 1 1 0
Cuad o 1.2: Tabla de e dad de la pue a de To oli
MT=
10000000
01000000
00100000
00010000
00001000
00000100
00000001
00000010
(1.18)
Cuando la en ada menos signi ica i a es uno, es a pue a se compo a como la pue a
NAND en esa salida (imagen 1.5), que al y como hemos comen ado, es en sí misma un
9
Figu a 1.5: Implemen ación de una pue a NAND a pa i de la pue a de To oli
conjun o clásico uni e sal, y po an o cualquie ci cui o clásico pod ía implemen a se como
ci cui o cuán ico solo a pa i de es a pue a.
Es o pod ía da nos la idea de implemen a cualquie ci cui o clásico exis en e median e
su equi alencia cuán ica espe ando una ganancia de algún ipo solo po se cuán ico. Aun-
que cie amen e es posible implemen a cualquie ci cui o clásico median e su aducción a
pue as NAND, es o no suele se una buena idea pues no es a íamos eniendo en cuen a
la po encia de la ep esen ación cuán ica de la in o mación y posiblemen e cae íamos en un
ci cui o con muchas más pue as de las necesa ias, y desde luego no pod íamos educi el
o den de complejidad del algo i mo clásico. Po no habla de que cabe la posibilidad de que
el ci cui o, aunque co ec o, sea an la go que no enga u ilidad más allá de co e lo en un
simulado , al menos con la ecnología ac ual.
Más adelan e e emos ejemplos de compa a i as en e ci cui os cuán icos ealizados a
pa i de la aducción di ec a del ci cui o clásico y una al e na i a ap o echando la na u-
aleza de la ep esen ación cuán ica de la in o mación.
10
Capí ulo 2
In oducción a los ci cui os cuán icos
Aunque se suele habla de p og amas o algo i mos cuán icos, en ealidad ac ualmen e
es más co ec o habla de ci cui os cuán icos. Aunque en eo ía, po la equi alencia en-
e compu ación cuán ica y clásica con ada en la sección 1.3, se ía posible con a con un
p ocesado cuán ico, aún nos encon amos écnicamen e muy lejos de algo así.
Se puede deci que ac ualmen e abaja con compu ación cuán ica es en ealidad diseña
ci cui os cuán icos. Un diseño a muy bajo ni el más pa ecido a la p og amación ha dwa e,
como VHDL, que a los lenguajes de al o ni el conocidos po odos.
Un ci cui o cuán ico iene es pa es, en p ime luga la p epa ación de la en ada, es
deci , lle a cada qubi a un es ado de e minado que ep esen e la en ada. Gene almen e el
es ado inicial suele se |00...0iy después median e pue as NOT se in ie en los qubi que
así lo equie an.
Una ez enemos la en ada adecuada se p ocede a ope a con los qubi s aplicando los
ope ado es o pue as. Es impo an e ene en cuen a que du an e oda es a ase no se puede
consul a el es ado de los qubi s.
Finalmen e se p ocede a ealiza las mediciones sob e los qubi s. Al ealiza las mediciones
des uimos el es ado cuán ico del qubi y obse amos uno de los dos es ados obse ables |0i
o|1i. Es e esul ado se almacena en un egis o clásico como 0o1 espec i amen e.
11
2.1. Compu ado es cuán icos eales
La ecnología que se u iliza ac ualmen e pa a ep esen a el modelo de compu ación
cuán ico consis e en manipula pa ículas mic oscópicas median e la aplicación de mic oon-
das. Se a a de un sis ema muy complejo y en el que la p ecisión es c ucial. Más adelan e
e idencia emos como una mínima imp ecisión en una o ación, pod ía hace que el esul ado
de un cálculo cambia a comple amen e.
Además, hay que consegui man ene el sis ema es able pa a que los es ados de los qubi s
sean ijos y iables, y hay que e i a in e acciones no deseadas en e los qubi s y el ex e io ,
y ambién en e unos qubi s y o os.
Es o pone de mani ies o la complejidad ecnológica del sis ema y po qué de momen-
o muchos de los esul ados que se ob ienen son eó icos o sólo pueden ejecu a se sob e
simulado es.
Sin emba go, la ecnología en es e campo a anza a pasos agigan ados, y aunque los
ci cui os que diseñamos hoy puede que sólo uncionen en un simulado o en un compu ado
con muy pocos qubi s, se espe a que en un u u o ce cano sean ú iles en compu ado es
cuán icos eales.
2.2. F amewo ks de diseño de ci cui os cuán icos
En es a sección p esen amos algunos de los amewo ks y he amien as disponibles pa a
el desa ollo de p og amas en compu ado as cuán icas NISQ.
Quiski [AAea19]. Es un amwo k open-sou ce en py hon pa a el desa ollo de
p og amas sob e compu ado as cuán icas que pe mi e u iliza las como cop ocesado es
en la nube. Dispone de un se comple o pa a cons ui p og amas cuán icos, una
colección de simulado es y la posibilidad de ejecu a los ci cui os en compu ado as
eales a a és de la lib e ía de IBM.
Qui k [Se]. Es una aplicación web que p opo ciona una GUI pa a cons ui y
12
simula ci cui os cuán icos de amaño educido. El sis ema de edición "d ag and
d op"pe mi e inclui cualquie pue a lógica o displays in e medios pa a depu a el
ci cui o. La simulación se hace en iempo eal a la pa que se edi a el ci cui o mos-
ándose el esul ado en odo momen o en los displays si uados al inal del
Q# [Mic]. Es un lenguaje de p og amación desa ollado po Mic oso que pe mi e
p og ama compu ado as cuán icas y u iliza las como cop ocesado en la nube.
[Ci ]. Es un amewo k open-sou ce desa ollado po Google pa a el desa ollo
de so wa e en compu ado as cuán icas NISQ.
2.3. Qiski
Qiski es un amewo k de código abie o pa a la compu ación cuán ica. P opo ciona
he amien as pa a c ea y manipula ci cui os cuán icos y ejecu a los en p o o ipos de dis-
posi i os cuán icos eales y simulado es. Sigue el modelo de ci cui o pa a la compu ación
cuán ica uni e sal, y puede usa se pa a cualquie ha dwa e cuán ico que siga es e modelo.
Fue undado po IBM Resea ch pa a pe mi i el desa ollo de so wa e pa a su se i-
cio de compu ación cuán ica en la nube. Las con ibuciones ambién son ealizadas po
pa ocinado es ex e nos, ípicamen e de ins i uciones académicas.
Qiski se á el amewo k que u iliza emos en es e ex o pa a la implemen ación de los
ci cui os con los que ealiza emos p uebas y expe imen os pues pe mi e au oma iza la
ep esen ación de ci cui os cuán icos g á icamen e, y ambién p opo ciona di e sas o mas
de isualiza los esul ados ob enidos incluyendo g á icas a ias.
Además Qiski pe mi e lanza los ci cui os diseñados con a dis in os backends incluyen-
do simulado es, en los que se pueden con igu a ni eles de uido y p ecisión de los sis emas;
y ambién con a los di e sos compu ado es cuán icos eales que iene IBM disponibles pa a
el público en la nube.
Podemos e un sencillo ejemplo pa a c ea un ci cui o con Quiski en el lis ing 2.1 cuyo
13
esul ado se puede e en la igu a 2.3a.
Lis ing 2.1: Ejemplo de c eación de un ci cui o sencillo con Quiski
#Impo s
impo numpy as np
om qiski impo Quan umCi cui , Quan umRegis e , C l a s s i c a l R e g i s e
om qiski impo Ae , execu e
om q i s k i . o ol s . i s u a l i z a i o n impo plo _his og am
om q i s k i . p o ide s . ae impo QasmSimula o
# C i c u i b u i l d i n g
q = Quan umRegis e (2 , ’ q ’ )
c = C l a s s i c a l R e g i s e (2 , ’ c ’ )
c i c = Quan umCi cui ( q , c )
c i c . h( q [ 0 ] )
c i c . cx ( q [ 0 ] , q [ 1 ] )
c i c . measu e ( q , c
# Execu ion on sim u la o
simula o = Ae . ge _backend ( ’ qasm_simula o ’ )
e s u l = execu e ( ci c , simula o ) . e s u l ()
coun s = e s u l . ge _coun s ( c i c )
plo _his og am ( coun s , i l e=’ Bell−S a e ␣ coun s ’ )
En la abla 4.1 imos las pue as u ilizadas en los ci cui os has a el momen o que am-
bién implemen a Qiski . Todas las pue as p esen adas son casos pa icula es de la pue a
Ua pa i de la cual se implemen an el es o. Las máquinas eales de IBM solo ienen im-
plemen adas las pue as U2,U3(Pue a Ucon dos o es pa áme os) y CX a pa i de las
cuales se cons uyen los casos pa icula es. Un ejemplo son las o aciones sob e los ejes X,Y
yZ. Se pueden consegui pasando una ma iz de Pauli a la pue a Upa a que se compo e
como cada una de ellas. O a pue a in e esan e es la CCX o pue a de To oli que es una
negación doblemen e con olada. Es a pue a se o ma a pa i de una combinación de CX,
H,TyT al y como podemos e en la igu a 2.1 [Gee]. Es os son ac o es muy a ene en
cuen a a la ho a de medi con p ecisión la complejidad en núme o de pue as de los ci cui os
cuán icos ya que las pue as mul i-qubi ealemn e es án compues as po a ias de un solo
qubi o dos qubi s que compu an los casos pa ciales.
14
Figu a 2.1: To oli ga e
2.3.1. Simulado es
En es a sección p esen amos los di e en es simulado es que Qiski pone a disposición del
desa ollado con una p ueba de cada uno en dos ci cui os sencillos ep esen ados en las
igu as 2.2a y2.2b. Cada ez que se lanza un ci cui o a un backend (simulado o eal) se
ejecu a a ias eces (1000 po de ec o) pa a pode ob ene una dis ibución es adís ica con
los esul ados a ojados po odas las ejecuciones. En las g á icas de ba as p esen adas a
lo la go de ex o cada ba a ep esen a un es ado obse able al que se ha llegado as la
ejecución del ci cui o. El núme o encima de la ba a ep esen a la can idad de eces que se
ha llegado a ese esul ado median e su p obabilidad (en la igu a 2.3 emos que 00 ha salido
com p obabilidad 0.527 y11 con p obabilidad 0.473). En la pa e in e io es á el es ado
obse able codi icado en bi s clásicos (la ope ación de medición uelca el esul ado sob e un
egis o clásico). En los ci cui os implemen ados pa a es e ex o el bi más signi ica i o es el
que es á más abajo en las imágenes al y como podemos e en la igu a 2.2b que ep esen a
el dos en bina io (10).
Ideal (QasmSimula o )
Es e simulado ec ea el compo amien o de una compu ado a cuán ica y es la he a-
mien a más u ilizada pa a simula ci cui os en condiciones ideales. Es pe ec o pa a p oba
y alida ci cui os an es de lle a los a ejecu a en una máquina eal 2.3.2. Pa a pode u ili-
15
(a) Bell’s s a e (b) Dos en bina io
Figu a 2.2: Ci cui os de mues a
za lo se necesi a ob ene el obje o del backend y un ci cui o ya c eado como se mues a en
el ejemplo del lis ing 2.1. Podemos obse a como un ci cui o an simple como esc ibi el
núme o dos en bina io de uel e siemp e el mismo esul ado 2.3b al se un ci cui o de e mi-
nis a. T as ejecu a un ci cui o simple como es el de Bell’s s a e o en elazamien o cuán ico
en e dos qubi s 2.3a podemos obse a el compo amien o de un ci cui o inde e minis a y
la dis ibución de los dis in os es ados obse ables que ha a ojado la ejecución. Po supues-
o el simulado no de uel e la g á ica ya cons uída sino una colección con los esul ados
de cada ejecución. Es impo an e señala que en los ci cui os p esen ados solo medimos los
qubi s que con ienen la salida y no el es o ya que no apo an nada al esul ado inal y
pueden llega a complica mucho el p ocesado de la colección de esul ados ob enida como
e emos en las siguien es secciones.
Modelo de uido
Es e simulado es el mismo que el de la sección an e io jun o con un modelo de uido
que nos pe mi e simula una compu ado a cuán ica en condiciones eales. Pa a ob ene es e
modelo de uido hay que acudi a la API de IBMQ [IBM19b] pa a que nos p opo cione
en iempo eal un modelo de uido de sus máquinas. Como podemos e en el ejemplo 2.2
es necesa io un oken especial que se ob iene a a és del po al de IBM Quan um Expe-
ience [IBM19a] (es necesa io la c eación de una cuen a) y que u ilizamos pa a ecupe a
el modelo de alguna de las máquinas disponibles. Las máquinas disponibles son ’ibmqx4’ y
16
(a) Bell’s s a e (b) Dos en bina io
Figu a 2.3: Simulación ideal
’ibmq_16_melbou ne’ de 5 y 14 qubi s espec i amen e. Pa a pode u iliza es e modelo
de máquina eal es necesa io pasa lo jun o con el simulado pa a que los aplique du an e
la ejecución del ci cui o. El ci cui o elegido es un sumado basado en QFT que es á encap-
sulado en una lib e ía ya que no nos hace al a conoce los de alles pa a el desa ollo de
las ca ac e ís icas de los simulado es o backend eales. A con inuación exponemos las es
componen es p incipales del modelo de uido:
1) Coupling map 2.4. Es e g a o de ine la mane a en la que es án dis ibuídos los qubi s
así como los enlaces en e ellos. Es e ac o añade una es icción a la ho a de diseña
ci cui os ya que hab á casos en los que dos o más qubi s no puedan in e ac ua en e sí
siendo imposible el en elazamien o de odos los qubi s del modelo como es el caso de los
qubi s 0y8en la máquina ’ibmq_16_melbou ne’. Un ejemplo donde es a es icción aplica
es una QFT de 8 o más qubi s en el backend ’ibmq_16_melbou ne’.
2) Basis ga es. Son las pue as de cálculo básicas implemen adas en las máquinas eales
que con o man un conjun o uni e sal. Las pue as implemen adas en es e caso son U2,U3y
CX. Todas las pue as is as en la abla 4.1 se pueden implemen a como casos pa icula es
de U2yU3(las o aciones de un qubi de X, Y y Z son casos pa icula es de U2) o como
una combinación de U2,U3yCX como po ejemplo la pue a de To oli o CCX. No hay
que ol ida se de la pue a de medición que pese a no es a incluída en es e conjun o (no
17
si e pa a calcula ) ambién es impo an e ene la p esen e como e emos más adelan e.
3) Noise model. Con iene el ac o de uido de cada pue a en cada qubi (incluída la
pue a de medición). Debido a es e ac o de uído los esul ados ob enidos as la ejecución
de los ci cui os se e án a ec ados dis o sionándolos al y como se puede e en la igu a 2.5b
donde un ci cui o de e minis a es á a ojando cua o esul ados di e en es. Po supues o en
es e caso es ácil de ec a una moda en el esul ado que nos pe mi e iden i ica el es ado
obse able que con iene la salida co ec a. Como e emos en el capí ulo 5con ci cui os
más complejos los esul ados quedan más a ec ados siendo imposible de e mina la salida
co ec a. Sin emba go hay o o ac o a ene en cuen a que puede dis o siona más aun
los esul ados y son los qubi s dummy o qubi s acíos. Como imos en la sección 1 odos
los qubi s con o man un espacio n−dimensional de Hilbe complejo cuyas ope aciones se
de inen median e el p oduc o enso de mane a que odos los qubi s es án ’unidos’ y unos
se a ec an a o os. Po lo an o es impo an e a a co ec amen e los qubi s dummy pa a
que no a ec en al esul ado al y como emos en la igu a 2.5c donde hemos incluído dos
qubi s dummy en los cuales no se ealiza ope ación alguna pe o debido al uído a ec an al
es o gene ando un esul ado más dis o sionado. Vemos que las dos modas (0010 y1010)
con ienen el esul ado co ec o del ci cui o que es 0100sin emba go el qubi más signi ica i o
se ha is o a ec ado po el uído poniéndose a 010en uno de los casos a pesa de no ope a
sob e él. La mane a de a a es os qubi s dummy consis e en no medi los nunca de mane a
que los esul ados queden unidos solo en los qubi s ú iles que si medimos. Cada ez que se
ejecu a un ci cui o con modelo de uido o en una máquina eal odos los qubi s es án ac i os
aunque nues o ci cui o no los use de mane a que hay que ene los siemp e en cuen a. En
odos los ci cui os del ex o (sal o el ejemplo de la igu a 2.5c) se han a ado los qubi s
dummy en las ejecuciones con modelo de uído y en máquinas eales.
18
(a) Bell’s s a e (b) Dos en bina io
Figu a 2.8: Ejecución en una máquina eal
u iliza en los compu ado es eales y la imp ecisión que es o conlle a, los algo i mos cuán i-
cos de e minis as, ambién p oducen esul ados inde e minis as, aunque se ía más co ec o
deci imp ecisos. Ejempli ica emos inmedia amen e es a si uación.
El ci cui o de la igu a 2.9a, implemen ado en Qiski , cons a únicamen e de una pue -
a Hadama d, una CNOT y dos mediciones. En el caso de compu ado cuán ico ideal, se
en iende po es o sin imp ecisiones, los esul ados son p obabilís icos, pues sólo son obse -
ables los es ados |00iy|11i, cada uno con una p obabilidad p óxima a 0.5, al y como se
obse a en el g á ico de la igu a 2.9b.
Sin emba go, si ejecu amos es e mismo ci cui o en un compu ado eal, obse amos que
apa ecen de o ma ma ginal esul ados eó icamen e no obse ables ( igu a 2.9c). Es o se
debe a las imp ecisiones del o denado eal.
Un algo i mo p obabilís ico como el an e io se basa en ealiza su icien es ejecuciones de
algo i mo como pa a ene una p obabilidad acep able de que la conclusión que hemos sacado
de los esul ados sea la co ec a. Po eso mismo son acep ables las pequeñas imp ecisiones.
Po o a pa e, el ci cui o H−Z−Hde la igu a 2.10a, ya is o en en la sección 1.2,
es cla amen e de e minis a, y de hecho, simulado sob e un compu ado cuán ico ideal, el
esul ado es o almen e de e minis a al y como se obse a en el g á ico de la igu a 2.10b.
Sin emba go, si ejecu amos un ci cui o an sencillo sob e un compu ado cuán ico eal,
25
(a) Implemen ación en Qiski
(b) Resul ados en el caso ideal (c) Resul ados en el caso eal
Figu a 2.9: Ci cui o H−CNOT y esul ados
los esul ados obse ados son los de la igu a 2.10c.
Es o pone de mani ies o que a pesa de ealiza un expe imen o de e minis a, debido a las
imp ecisiones del sis ema, es necesa io ealiza lo a ias eces pa a pode ex ae conclusiones
iables sob e el esul ado. Es o no signi ica que el algo i mo en sí sea p obabilis a y es
impo an e e i a es a con usión.
Se espe a que con el a ance de la ecnología disminuyan las imp ecisiones de los sis e-
mas de compu ación y con ellas el núme o de ejecuciones necesa ias pa a ob ene esul ados
26
(a) Implemen ación en Qiski
(b) Resul ados en el caso ideal (c) Resul ados en el caso eal
Figu a 2.10: Ci cui o H−Z−Hy esul ados
ep esen a i os en algo i mos cuán icos de e minis as, en el caso ideal, con una única eje-
cución se ía su icien e; sin emba go, el núme o de ejecuciones de un algo i mo p obabilis a
segui á equi iendo un núme o al o de epe iciones.
2.5. E iciencia y complejidad
Al p incipio de es e ex o se mencionó que algunos algo i mos cuán icos habían conse-
guido educi el cos e de a ios algo i mos clásicos, pe o, ¿a qué nos e e imos en ealidad
con es e cos e? Po un lado hay que encon a una o ma de compa a algo i mos clásicos
con cuán icos, pa a lo que no malmen e se puede ecu i a la p o undidad del ci cui o, es
27
deci , al camino c í ico de ambos ci cui os. Po o o lado, hay que encon a una o ma de
compa a algo i mos cuán icos en e si. En es e sen ido, debido a la inmadu ez del campo,
aún no hay una me odología consolidada pa a ello, po eso, lo más impo an e es u iliza
una mé ica consis en e y obje i a en nues as compa aciones que no desp ecie pue as y
que pe mi a ex ae conclusiones. Pa a ello omamos como ejemplo las mé icas is as en
[Cuc04,D a00] pa a con ecciona la que empleamos en es e es udio. Habla del cos e de un
algo i mo cuán ico es habla de cua o pa áme os.
En p ime luga el núme o de qubi s necesa ios o anchu a del ci cui o. En muchos algo-
i mos son necesa ios qubi s adicionales pa a la ejecución del algo i mo. Es o es que pa a
ope a sob e una en ada de n qubi s, es posible que se equie an n+mqubi s. Reduci el
núme o de qubi s necesa ios pa a esol e un p oblema cla amen e aumen a la e iciencia del
algo i mo.
Po o o lado es á el núme o de pue a cuán icas necesa ias. Cuan o meno sea el núme o
de pue as en unción del amaño de la en ada mejo . Es e pa áme o sin emba go p esen a
una p oblemá ica adicional y es la o ma en que se cuen an las pue as. En algunos ex os
se cuen an pue as de has a es qubi s, en o os solo se pueden u iliza pue as de uno y
dos qubi s. Una de las medidas más es anda izadas es la de con abiliza la equi alencia del
ci cui o a analiza solo u ilizando pue as de un qubi y pue as CNOT.
En nues o caso, hemos decidido con abiliza las pue as de uno y dos qubi s, así como las
pue a de To oli y F edkin (CSWAP) de es qubi s, an p esen es en las implemen aciones;
y asumi que el es o de pue as deben se implemen adas a pa i de pue as más simples.
En la abla 4.1 se e una mues a de las pue as que con abiliza emos a es e e ec o.
O o aspec o a ene en cuen a es la p o undidad del ci cui o, el camino más la go
has a la medición. Es o es especialmen e impo an e a la ho a de lanza un ci cui o con a
un compu ado eal pues los iempos de es abilidad ac uales son educidos y cuan o más
la go sea el ci cui o más p obable es que el esul ado que ob engamos sea p oduc o de una
imp ecisión, in e e encia e c y po an o mayo se á el núme o de ejecuciones necesa ias
28
pa a pode obse a endencias es adís icas en el esul ado. En el caso peo , si el ci cui o es
demasiado la go, los esul ados que obse a emos se án o almen e alea o ios e inú iles.
Finalmen e, el úl imo pa áme o de cos e es la p ecisión de o ación eque ida. Es o es de
i al impo ancia a la ho a de ejecu a el ci cui o en una máquina ísica, a mayo p ecisión
eque ida, mayo p obabilidad de que una imp ecisión in alide un esul ado.
Node qubi s Con abiliza el núme o de qubi s u ilizados.
Node pue as Núme o de pue as de uno y dos qubi s y pue as de To oli
u ilizadas.
P o undidad Cuen a las pue as del camino más la go has a la medición.
P ecisión de o ación Se co esponde con la o ación más pequeña que debe hace el
ci cui o.
Cuad o 2.1: Tabla de pa áme os de complejidad
Con el in de ejempli ica un es udio de complejidad sob e un ci cui o, es udia emos los
cua o pa áme os mencionados a pa i del ci cui o de la igu a 3.2 de la sección 3.1.
Podemos obse a que iene un cos e de 6 en pue as y p o undidad, de 3 en núme o de
qubi s o anchu a y de π
4en p ecisión de o ación.
Es e ipo de es udios se suelen hace en unción del amaño de los ope andos de en ada.
En la sección 3.1 e emos en de alle el cos e pa a en adas de amaño a bi a io de es e
ci cui o.
29
Capí ulo 3
Ci cui os cuán icos a i mé icos
En es e capí ulo amos a p esen a una pequeña colección de los ci cui os cuán icos más
ele an es. Pa a desc ibi los mos a emos su es uc u a in e na y su complejidad al y como
se desc ibe en la sección 2.5.
3.1. Quan um Fou ie T ans o m (QFT)
La ans o mada cuán ica de Fou ie [Cop94], en adelan e QFT, es la equi alen e cuán ica
de la ans o mada ápida de Fou ie [Mic94]. Se a a de una ans o mación lineal que
codi ica una en ada en bina io (gene almen e ep esen ando un núme o) en o aciones de
ase. Es o es, codi ica el núme o como un desplazamien o de ase en la ci cun e encia ecuado
de la es e a de Bloch. La igu a 3.1 ep esen a la ep esen ación en o ación de ase, siendo
ϕla ase, del 001 en una en ada de es qubi s.
Es o puede suge i la idea de que eniendo pue as de p ecisión su icien e pod íamos
codi ica núme os en e os de amaño a bi a io en un único qubi y es cie o, el p oblema
iene en que no pod íamos decodi ica pa a ob ene un esul ado legible, eco demos que
los únicos es ados obse ables son |0iy|1i.
Po eso, el ci cui o de QFT en ealidad equie e nqubi s pa a codi ica un núme o de
amaño has a 2n. Supongamos la en ada en bina io de longi ud n, en onces la QFT codi ica
el núme o comple o en el qubi más signi ica i o, los n−1qubi s menos signi ica i os en el
segundo qubi más signi ica i o, y así has a el qubi menos signi ica i o que sólo se codi ica
30
Figu a 3.1: Rep esen ación del 1en o ación de ase sob e una ci cun e encia
Figu a 3.2: Ci cui o QFT de 3 qubi s
a sí mismo.
El ci cui o de la igu a 3.2 ealiza la QFT de es qubi s. Supongamos que que emos
codi ica la en ada |110i. En onces en el qubi supe io se codi ica á en o ación de ase el
|110i, en el del medio |10iy el in e io |0i al y como se mues a en la igu a 3.3.
Es a ep esen ación nos pe mi e ope a sob e odo el es ado cuán ico haciendo o a-
ciones sob e el eje Z, pe o debido a que cada qbui con iene in o mación pa cial sob e el
es ado cuan ico codi icado, los cambios se deben aplica en odos los qubi s pa a no pe de
in o mación. Todas las ope aciones ealizadas en una compu ado a cuán ica son uni a ias y
e e sibles, al y como se explica en el capí ulo 1, y una ez ealizados los cálculos es nece-
sa io aplica la ans o mación in e sa, QFT−1, pa a que la in o mación salga del es ado de
supe posición y se con ie a en un es ado obse able (o al menos ene una al a p obabilidad
de ello).
31
Figu a 3.3: Rep esen ación del 110 en o ación de ase con 3 qubi s
Figu a 3.4: Ci cui o QFT de amaño a bi a io
El cos e de es e ci cui o en una compu ado a cuán ica es, siendo nel amaño de la
en ada, n2+n
2en núme o de pue as y p o undidad, nen qubi s, y π
2n−1en p ecisión de
o ación. En la igu a 3.4 se mues a un ci cui o QFT de amaño na bi a io.
3.1.1. QFT−1
Queda ía habla de la ans o mación in e sa, QFT−1, que pe mi e ans o ma un e-
gis o codi icado en o aciones de ase en una en ada bina ia clásica.
En gena al, pa a cons ui la ans o mación in e sa de cualquie ci cui o clásico, bas a
cons ui un ci cui o en el que se aplican las pue as in e sas en o den in e so. Es o se hace
32
Figu a 3.5: Ci cui o QFT−1de es qubi s
e iden e si enemos en cuen a lo mencionado en la sección 1.1.1 ace ca de como in e accionan
las ma ices de las pue as al conca ena las.
En es e sen ido, la QFT no es dis in a. En la igu a 3.5 se obse a el ci cui o in e so del
p esen ado en la igu a 3.2.
3.2. T ans o mada cuán ica de Fou ie ap oximada (AQFT)
En la sección 3.1 eíamos como a medida que aumen a el amaño de la en ada, ealiza la
QFT equie e pue as de o ación de p ecisión el doble. Es o puede da nos la ace ada idea
de ealiza una QFT eliminando las o aciones más pequeñas ob eniendo así un esul ado
ap oximado. De hecho, an e la p esencia de de e minados ni eles de uido, se ha demos ado
que la QFT ap oximada, AQFT [BEST96] en adelan e, puede se más p ecisa que la QFT
comple a al y como se menciona en [BEST96].
La siguien e p egun a es has a qué ni el de pue as es azonable llega . Es o depende
de los ni eles de decohe encia y uido del compu ado ísico, pe o los alo es óp imos es án
al ededo de logn pue as de o ación [BEST96]. Es o además educe el o den de p o undidad
y pue as del ci cui o de n2+n
2an+(n−1)logn y el de p ecisión de o ación de π
2n−1aπ
2[logn].
El ci cui o de la igu a 3.6 ealiza la AQFT a una en ada de ocho qubi s man eniendo
un máximo de 3 = logn ni eles de pue as de o ación.
33
Figu a 3.6: AQFT 8 qubi s
3.3. Sumado es
En es a sección p esen amos algunos de los di e en es sumado es exis en es pa a compu-
ado as cuán icas.
3.3.1. Sumado de Ved al
Es e sumado ue p esen ado po Ved al en [VBE97] y ep esen a la o ma clásica de
suma dos núme os basada en la lle ada o ca y. Pa a ello son necesa ias dos unidades básicas
de cómpu o. La pue a ca y de la igu a 3.7a se enca ga de clacula el ca y i−esimo a
pa i de los qubi s ai,biyci−1median e pue as CNOT y pue as de To oli o CCNOT.
La pue a suma de la igu a 3.7b compu a la suma i−esima en e aiybimedian e dos
pue as CNOT. El ci cui o se compone de dos pa es di e enciadas. La p ime a se enca ga
de calcula la lle ada y la segunda la suma.
El cos e de es e ci cui o es de 8nen pue as y p o undidad, 3nen qubi s, n qubi s pa a
cada ope ando y n qubi s pa a el ca y, y de πen p ecisión de o ación.
3.3.2. Sumado de Cucca o
Es e sumado ue p esen ado po S e en A. Cucca o en [Cuc04] y se basa en los suma-
do es clásicos Ripple-Ca y y es á cons uído con majo i y-ga es y UMA-ga es. La unción
majo i y consis e en nen adas y una salida. La salida se á alse si al menos n
2en adas
34
una o ación de π
4y−π
4 espec i amen e las cuales ma can la co a supe io en la complejidad
de p ecisión.
41
Capí ulo 5
Implemen ación y análisis de esul ados
En es e capí ulo se mues an y discu en los esul ados ob enidos as ejecu a los ci cui os
plan eados en las secciones an e io es (QFT 3.1, sumado es 3.3 y mul iplicado loga í mico
[dlT]) en un simulado ideal, en un simulado con modelos de uido y en una máquina
eal median e el amewo k Qiski 2.3 y la API de IBMQ. Pa a no edunda en el es o
de secciones indicamos en el lis ing 5.1 el esquema gene al que siguen odos los ci cui os
p esen ados. Los egis os auxilia es o clásicos no ienen po qué ene ancho de palab a nq,
puede se el que se necesi e en cada caso.
Lis ing 5.1: Esquema gene al de un ci cui o
# Leng h o he c i c u i
nq = k
# Quan um e g i s e c e a i o n
# Ope and e g i s e s
q A = Quan umRegis e (nq , ’qA ’ )
q B = Quan umRegis e (nq , ’qB ’ )
. . .
q Z = Quan umRegis e (nq , ’qZ ’ )
# An ci l l a e g i s e s
q Aux1 = Quan umRegis e (nq , ’qAux1 ’ )
. . .
q AuxN = Quan umRegis e (nq , ’qAuxN ’ )
# C l a s s i c a l e g i s e s
c A = C l a s s i c a l R e g i s e (nq , ’cA ’ )
. . .
c Z = C l a s s i c a l R e g i s e ( nq , ’ cZ ’ )
42
# Add he e g i s e s od he c i c u i ins anc e
c i c u i . add_ egis e (q A)
. . .
c i c u i . add_ egis e ( q Z )
# Assing i n i i a l a lu es o he ope ands and a n c i l l a s
q u b i I n i ( op1 , nq , q A , c i c u i )
. . .
q u b i I n i (opN , nq , q Z , c i c u i )
q u b i I n i ( aux1 , nq , q Aux1 , c i c u i )
. . .
q u b i I n i (auxN , nq , q AuxN , c i c u i )
# onca ena e he ope a ion
someOpe a ion . add ( c i c u i , q A , . . . , q Z , nq )
# Measu e he q u b i s ha c on ains he i n a l e s u l
o iin 0 o nq :
measu e . add (q K , c K )
5.1. Sumado es
En es a sección p esen amos una compa a i a de los di e en es sumado es p esen ados
en la sección 3.3. Los sumado es son el de Ved al 3.3.1, Cucca o 3.3.2, D appe basado en
QFT 3.3.3 y el basado en AQFT 3.3.4. Además p opo cionamos el pseucocódigo necesa io
pa a la implemen ación de los ci cui os. En odas las sumas in en a emos suma 1+1.
5.1.1. Pseudocódigo pa a la c eación de los sumado es
D appe QFT 3.3.3
Lis ing 5.2: Esquema sumado QFT
q A : ope and 1
q B : ope and 2
nq : e g i s e leng h , nq >= 2
c i c u i : c i c u i ins ance
# No e ha an a n c i l l a q ub i i s needed o ca y so nq+1 l e n g h mus be pased o
# he QFT, QFTT and ADD b u i l d e s in o de o i n cl ude i in he compu a ion .
# This mus be c onside ed a e g i s e s c ea i o n ime oo .
# Adde g en e a l scheme
Adde Ci cui ( c i c u i , q A , q B , nq ){
# QFT
doQFT( c i c u i , q A , nq+1)
43
# Add
doAdd( c i c u i , q A , q B , nq+1)
# QFT−1
doQFTT( c i c u i , q A , nq+1)
}
doQFT( c i c u i , q A , nq ){
o cin nq−1 down o 0:
c i c u i . h( q [ c ] )
e = 1
o din c−1 down o 0:
c i c u i . c z ( pi /(2∗∗e ) , q [ d ] , q [ c ] )
e+=1
}
doQFTT( c i c u i , q , nq ){
o cin 0 o nq :
c i c u i . h( q [ c ] )
e = 1
o din c+1 o nq :
c i c u i . c z(−pi /(2∗∗e ) , q [ c ] , q [ d ] )
e+=1
}
doAdd( c i c u i , q 1 , q 2 , nq ){
o cin 0 o nq :
e = 0
o din c o nq :
c i c u i . c z ( pi /(2∗∗e ) , q 2 [ c ] , q 1 [ d ] )
e+=1
}
AQFT 3.3.4
Lis ing 5.3: Esquema sumado AQFT
q A : ope and 1
q B : ope and 2
nq : e g i s e leng h , nq >= 2
p : AQFT p e c i s i o n
c i c u i : c i c u i ins ance
# No e ha an a n c i l l a q ub i i s needed o ca y so nq+1 l e n g h mus be pased
# o he QFT, QFTT and ADD b u i l d e s in o de o i nc l ud e i in he compu a ion .
# This mus be c onside ed a e g i s e s c ea i o n ime oo .
# Adde g en e a l scheme
Adde Ci cui ( c i c u i , q A , q B , nq , p ){
# AQFT
doAQFT( c i c u i , q A , nq+1)
# Add
44
doAdd( c i c u i , q A , q B , nq+1)
# AQFT−1
doAQFTT( c i c u i , q A , nq+1)
}
doAQFT( c i c u i , q A , nq , p ){
o cin nq−1 down o 0:
c i c u i . h( q [ c ] )
e = 1
o din c−1 down o 0:
i e > p :
b eak
c i c u i . c z ( pi /(2∗∗e ) , q [ d ] , q [ c ] )
e+=1
}
doAQFTT( c i c u i , q , nq , p ){
o cin 0 o nq :
c i c u i . h( q [ c ] )
e = 1
o din c+1 o nq :
i e > p :
b eak
c i c u i . c z(−pi /(2∗∗e ) , q [ c ] , q [ d ] )
e+=1
}
doAdd( c i c u i , q 1 , q 2 , nq , p ){
o cin 0 o nq :
e = 0
o din c o nq :
i e > p :
b eak
c i c u i . c z ( pi /(2∗∗e ) , q 2 [ c ] , q 1 [ d ] )
e+=1
}
Ved al 3.3.1
Lis ing 5.4: Esquema sumado Ved al
q A : ope and 1
q B : ope and 2
q Z : ca y e g i s e
nq : e g i s e leng h , nq >= 4
c i c u i : c i c u i ins ance
# Gene al scheme o Ved al adde
Adde Ci cui ( c i c u i , q A , q B , q Z , nq ){
# Compu e ca y
45
o iin 0 o nq :
doCa y ( c i c u i , q Z [ i ] , q A [ i ] , q B [ i ] , q Z [ i +1])
# CX
c i c u i . cx (q A [ nq −1] , q B [ nq −1])
# Compu e add
# Mos s i g n i i c a n q b i
doAdd( c i c u i , q Z [ nq −1] , q A [ nq −1] , q B [ nq −1])
# Res o q u b i s
o iin nq−2 down o 0:
doCa y ( c i c u i , q Z [ i ] , q A [ i ] , q B [ i ] , q Z [ i +1])
doAdd( c i c u i , q Z [ i ] , q A [ i ] , q B [ i ] )
}
# P a i a l c a l c u l a i o n o he i h ca y
doCa y ( c i c u i , q 1 , q 2 , q 3 , q 4 ){
c i c u i . ccx ( q 2 , q 3 , q 4 )
c i c u i . cx ( q 2 , q 3 )
c i c u i . ccx ( q 1 , q 3 , q 4 )
}
# P a i a l c a l c u l a i o n o he i h add
doAdd( c i c u i , q 1 , q 2 , q 3 ) {
c i c u i . cx ( q 2 , q 3 )
c i c u i . cx ( q 1 , q 3 )
}
Cucca o 3.3.2
Lis ing 5.5: Esquema sumado Cucca o
q A : ope and 1
q B : ope and 2
q Z : ca y e g i s e
nq : e g i s e leng h , nq >= 2
c i c u i : c i c u i ins ance
Adde Ci cui ( c i c u i , q A , q B , q Z , nq ){
o iin ange 1 o nq :
c i c u i . cx (q A [ i ] , q B [ i ] )
c i c u i . cx (q A [ 1 ] , q Z [ 0 ] )
c i c u i . ccx (q A [ 0 ] , q B [ 0 ] , q Z [ 0 ] )
c i c u i . cx (q A [ 2 ] , q A [ 1 ] )
c i c u i . ccx ( q Z [ 0 ] , q B [ 1 ] , q A [ 1 ] )
c i c u i . cx (q A [ 3 ] , q A [ 2 ] )
o iin 2 o nq−2:
46
c i c u i . ccx (q A [ i −1] , q B [ i ] , q A [ i ] )
c i c u i . cx (q A [ i +2] , q A [ i +1])
c i c u i . ccx (q A [ nq −3] , q B [ nq −2] , q A [ nq −2])
c i c u i . cx (q A [ nq −1] , q Z [ 1 ] )
c i c u i . ccx (q A [ nq −2] , q B [ nq −1] , q Z [ 1 ] )
o iin 1 o nq−1:
c i c u i . x(q B [ i ] )
c i c u i . cx ( q Z [ 0 ] , q B [ 1 ] )
o iin 2 o nq :
c i c u i . cx (q A [ i −1] , q B [ i ] )
c i c u i . ccx (q A [ nq −3] , q B [ nq −2] , q A [ nq −2])
o iin nq−3 down o 1:
c i c u i . ccx (q A [ i −1] , q B [ i ] , q A [ i ] )
c i c u i . cx (q A [ i +2] , q A [ i +1])
c i c u i . x(q B [ i +1])
c i c u i . ccx ( q Z [ 0 ] , q B [ 1 ] , q A [ 1 ] )
c i c u i . cx (q A [ 3 ] , q A [ 2 ] )
c i c u i . x(q B [ 2 ] )
c i c u i . ccx (q A [ 0 ] , q B [ 0 ] , q Z [ 0 ] )
c i c u i . cx (q A [ 2 ] , q A [ 1 ] )
c i c u i . x(q B [ 1 ] )
c i c u i . cx (q A [ 1 ] , q Z [ 0 ] )
o iin 0 o nq :
c i c u i . cx (q A [ i ] , q B [ i ] )
}
5.1.2. Simulación ideal
En es e caso hemos simulado los sumado es con un ancho de palab a de cua o qubi s más
uno del aca eo sal o el basado en AQFT po el cual hemos op ado po inc emen a el núme o
de qubi s a ocho qubi s pa a ap ecia mejo las p opiedades de la AQFT. Reco demos que
en las g á icas el bi más signi ica i o es el que se encuen a abajo. Como podemos obse a
as ejecu a los ci cui os en el simulado en condiciones ideales los esul ados de la igu a 5.1
son comple amen e de e minis as, es deci siemp e de uel en el mismo es ado obse able en
cada ejecución sal o el sumado basado en AQFT que iene na u aleza inde e minis a y el
47
(a) Ved al 3.3.1 (b) S e en A. Cucca o 3.3.2
(c) QF T 3.3.3 (d) AQF T 3.3.4
Figu a 5.1: Sumado es en simulado ideal (7 + 12)
esul ado con iene un pequeño ac o de e o al pe de in o mación debido a las p opiedades
de la AQFT 3.2. A cambio de pe de un poco de in o mación hemos podido ejecu a un
ci cui o con menos complejidad en núme o de pue as y una p ecisión meno en las o aciones
lo cual nos da en ajas pa a casos en los que el ancho de palab a sea a bi a iamen e g ande y
no sea necesa ia una p ecisión exac a en los esul ados. En de ini i a se educe la complejidad
del ci cui o a cambio de un pequeño ac o de imp ecisión.
5.1.3. Simulación con modelos de uido
Pa a es e expe imen o hemos modi icado los pa áme os de ancho de palab a de los
ci cui os debido a las es icciones que impone el modelo eal que hemos aplicado un modelo
de uido de una máquina eal al simulado de mane a que los esul ados ob enidos son
o almen e dispa es en los di e en es ci cui os y comple amen e dis in os a los esul ados de
la simulación en condiciones ideales.
1) En el sumado de Ved al hemos op ado po un ancho de palab a de 2 qubi s más el
48
aca eo po lo an o hay un o al de 3∗2=6qubi s de ancho de palab a así que hemos
empleado el backend ’ibmq_16_melbou ne’ de 14 qubi s. Podemos e en la igu a 5.2a
como los esul ados no mues an una moda cla a que pueda indica nos la solución de la
ope ación. Aunque el ci cui o solo necesi a 6 qubi s los 8 es an es in luyen en el esul ado
a pesa de no se u ilizados ya que es án p esen es en el backend induciendo uido al es o
de qubi s.
2) En el caso del sumado S e en A. Cuca o hemos op ado po un ancho de palab a de
4 qubi s más el aca eo po lo que hacen un o al de 2∗4 + 2 = 10 qubi s. De nue o hemos
empleado el simulado ’ibmq_16_melbou ne’ de 14 qubi s. Y una ez más el esul ado
ob enido en la igu a 5.2b p esen a una dis ibución uni o me en la que no des aca ningún
es ado obse able sob e el es o. Los qubi s sob an es y la al a complejidad del ancho de
palab a del ci cui o uel en a dis o siona po comple o el esul ado.
3)Pa a los sumado es QFT 5.2c yAQFT 5.2d hemos op ado po un ancho de palab a
de 2 qubi s debido a las es icciones que mues a el backend ’ibmq_16_melbou ne’ de
14 qubi s en su g a o de dis ibución de los qubi s que podemos e en el cen o de la
igu a 2.4. Po lo an o hemos empleado el backend ’ibmqx4’ de 5 qubi s. En es os dos
casos des acan las modas de los esul ados co ec os debido a que el núme o de qubi s
empleados en o al (incluídos los dummy) es in e io . Si adap á amos es os ci cui os al
backend ’ibmq_16_melbou ne’ de 14 qubi s los esul ados se ían igual de di usos que en los
sumado es de Ved al y Cucca o y más eniendo en cuen a que su complejidad en núme o
de pue as, p ecisión y p o undidad es mayo al y como indicamos en el capí ulo 4de
compa a i a de cos es.
5.1.4. Ejecución eal
Pa a la ejecución en la máquina eal enemos las mismas es icciones que en la simu-
lación con modelo de uido po lo an o hemos empleado los mismos ci cui os que en la
sección an e io 5.1.3.
49
(a) Ved al 3.3.1 (b) S e en A. Cucca o 3.3.2
(c) QF T 3.3.3 (d) AQF T 3.3.4
Figu a 5.2: Sumado es en simulado con modelos de uido (1 + 1)
1) El sumado de Ved al p esen a una dis ibución homogénea sin una moda que indique
el esul ado de la suma debido de nue o a los 8 dummy qubi s y a su ancho de palab a de
6 qubi s.
2) En el sumado de Cucca o obse amos de nue o una dis ibución de los esul ados
o almen e di usa sin una moda que des aque sob e el es o. Los mo i os de es e esul ado son
los mismos que en la simulación con modelo de uido: los qubi s dummy y una complejidad
de 6 qubi s en el ancho de palab a.
3) Los sumado es QFT en cambio si p esen an una moda cla a con el esul ado de la
suma debido a que se han ejecu ado en una compu ado a de solo 5 qubi s la cual iene un
ac o de e o mucho más educido que la de 14 qubi s. Los esul ados ambién son ieles a
los ob enido en la simulación con modelos de uido.
50
(a) Decodi icación 0101 (b) Decodi icación 1000
Figu a 5.8: Codi icaciones y decodi icaciones loga í micas en condiciones eales
Ejecución eal
Pa a es e expe imen o no se aplica ningún ipo de es icción al ci cui o al igual que en
el expe imen o de simulación con modelo de uido. Hemos empleado el backend eal de 5
qubi s ’ibmqx4’. Debido al iempo de espe a necesa io pa a la espues a del backend eal
hemos educido el expe imen o a solo un da o de en ada, el 5. Como podemos obse a en
la igu a 5.8 los esul ados uel en a se di usos al igual que en la simulación con el modelo
de uido. Aunque la dis ibución de los esul ados no es an uni o me esul a imposible
iden i ica co ec amen e el esul ado co ec o.
5.2.3. Esquema comple o
En es a sección exponemos la implemen ación y los esul ados de la ejecución del diseño
de un mul iplicado loga í mico plan eado en el TFG "Diseño de Unidades Funcionales
Cuán icas: Un Mul iplicado Loga í mico" [dlT] cuyo esquema podemos e en la igu a 5.9.
El ci cui o se compone de dos codi icado es loga í micos, un sumado basado en QFT
y un decodi icado loga í mico. Como podemos obse a en el esquema solo hemos medido
los qubi s que con ienen el esul ado de la mul iplicación igno ando el es o ya que no
son necesa ios. El mul iplicado implemen ado mul iplica un núme o de 2 qubi s de ancho
de palab a po lo que son necesa ios 4 qubi s pa a albe ga la solución. El codi icado y
decodi icado empleados son los mismos que en la sección 5.2.2 que codi ican y decodi ican
alo es de 4 qubi s. Po lo an o pa a es e mul iplicado de 2 qubi s se án necesa ios un o al
57
Figu a 5.9: Esquema mul iplicado loga í mico de 2qubi s
de 10 qubi s ya que las codi icaciones de cada ope ando p ecisan de 5 qubi s. El sumado
que hemos elegido es el basado en QFT de la sección 3.3.3 ya que no equie e ningún
qubi adicional y es comple amen e in place. Es posible inclui cualquie o o sumado
como e emos más adelan e. Las ope aciones que hemos ealizado son 2∗3=6y3∗
3=8. La segunda mul iplicación, a pesa de se e ónea es el esul ado que a oja el
mul iplicado loga í mico debido a su ac o de e o (más de alles en [dlT]). Si hacemos
el cálculo manualmen e siguiendo las indicaciones de la sección 5.2 obse amos que 00011
codi icado es 01100. Si sumamos 01100+01100 bi a bi el esul ado es 11000 que nos indica
que el bi más signi ica i o es el de la posición 3 y que su man isa es 0 po lo an o nos
queda el alo 01000 al decodi ica que es 8 en decimal.
Simulación ideal
Pa a es e expe imen o hemos empleado el simulado en condiciones ideales. A p ime a
is a podemos obse a en las g á icas de la igu a 5.10 que el mul iplicado loga í mico
p opues o es un ci cui o de e minis a ya que a ojan el mismo esul ado en odas las eje-
cuciones. En la igu a 5.10a obse amos como la salida de la mul iplicación 2∗3es 0110 ó
6 en decimal de mane a que el cálculo es co ec o. En el caso de la ope ación 3∗35.10b
el esul ado es 01000 que es 8 en decimal po lo an o el ci cui o ha de uel o el esul ado
58
(a) 2 * 3 = 6 (b) 3 * 3 = 8
Figu a 5.10: Mul iplicado loga í mico de 2 qubi s en condiciones ideales
(a) 2 * 3 = 6 (b) 3 * 3 = 8
Figu a 5.11: Mul iplicado loga í mico de 2 qubi s en condiciones de uido
espe ado as el cálculo manual ealizado p e iamen e.
Simulación con modelos de uido
En es e expe imen o hemos añadido al simulado el modelo de uido del backend
’ibmq_16_melbou ne’ de 14 qubi s ya que necesi amos al menos 10 qubi s pa a ejecu a el
ci cui o. No se aplica ninguna es icción pa a es e ci cui o aunque hab á 4 qubi s dummy
que in lui án en el esul ado inal. En la igu a 5.13 podemos obse a que ambos esul ados
son muy di usos y no es posible di e encia un esul ado del es o de alo es debido a la
g an in luencia del uido. Queda pa en e que la complejidad en p o undidad y p ecisión
del ci cui o a ec an no ablemen e a los esul ados ob enidos. Teniendo en cuen a que los
esul ados indi iduales del codi icado is os en la sección 5.2.2 ya son muy di usos cab ía
espe a que los esul ados del mul iplicado comple o con a ios módulos simila es amién
lo sean.
59
Figu a 5.12: Mul iplicado loga í mico de 2 qubi s en condiciones eales, 2 * 3 = 6
Ejecución eal
En es e expe imen o hemos empleado el backend ’ibmq_16_melbou ne’ de 14 qubi s
pa a lanza el ci cui o p opues o. En es a ocasión ampoco hay es icciones de ningún
ipo pa a el ci cui o sal o los 4 qubi s dummy que a ec a án al es o de qubi s induciendo
uido. Debido a los esul ados p e is os po la simulación con el modelo de uido solo hemos
ejecu ado una de las dos ope aciones p opues as. Como podemos e en la igu a 5.12 el
esul ado es el espe ado 5.2.3. Cla amen e no es posible iden i ica la espues a co ec a ya
que el alo 00110 solo p esen a una p obabilidad de 0.055 que a pesa de se de las más
al as no es la única.
5.2.4. Mul iplicado loga í mico con o os sumado es
En es a sección exponemos los esul ados que a ojan a ias e siones del mul iplicado
loga í mico que di ie en en el sumado empleado en e los módulos de codi icación y deco-
di icación. Excluímos el sumado QFT ya que los esul ados pa a es e sumado ya han sido
expues os en la sección 5.2.3. Los sumado es que amos a emplea son el basado en AQFT
3.10a, el de Ved al 3.3.1 y el de Cucca o 3.3.2. Solo simula emos los ci cui os en condiciones
ideales ya que como hemos is o en la sección 5.2.2 el codi icado loga í mico po sí solo
a oja esul ados demasiado di usos po lo que cabe espe a que odos los módulos en su
conjun o ambién a ojen los mismos esul ados. Además el obje i o de es a sección es de-
mos a el uncionamien o concep ual del mul iplicado sea cual sea el sumado u ilizado.
60
La ope ación que amos a analiza es 2∗3=6ya que sabemos que es e caso de uel e una
espues a co ec a al mul iplica .
AQFT
En es a sección hemos empleado el sumado basado en AQFT pa a p oba el mul i-
plicado loga í mico. Al a a se de un ci cui o inde e minis a el sumado ’con agia’ es a
p opiedad al es o del ci cui o de mane a que el esul ado ob enido puede no se exac o
pe o en es e caso el esul ado es exac o al y como indica la igu a 5.13a,0110. Aun así hay
que ene en cuen a la combinación del ac o de e o del sumado basado en AQFT y el
ac o de e o del codi icado /decodi icado loga í mico a la ho a de aplica es e sumado .
Pa a anchos de palab a mayo es los esul ados si son a iados como imos po ejemplo en
la igu a 5.1d que mues a el esul ado de una suma con el sumado AQFT po sí solo. No
hemos lle ado a cabo el expe imen o con ancho de palab a mayo debido a que el codi ica-
do empleado se ía 10 qubi s de ancho siendo necesa ios 20 en o al y no hay disponible un
backend de 20 qubi s pa a p oba lo. Además edunda ía en la exposición del concep o de
mul iplicado loga í mico del cual ya hemos is o un ejemplo de imp ecisión al mul iplica
3∗3 = 8 en 5.10b.
Ved al y Cucca o
En es e expe imen o hemos empleado los sumado es de Ved al y Cucca o pa a ealiza
la mul iplicación loga í mica. En el caso del sumado de Ved al se necesi an un o al de 15
qubi s po lo que no disponemos de un backend con los su icien es qubi s pa a ejecu a los
con un modelo de uido o en eal. El backend con más qubi s de que disponemos es el
’ibmq_16_melbou ne’ que iene 14 qubi s. Como podemos obse a en las igu as 5.13b y
5.13c el esul ado ob enido al u iliza es os dos sumado es es el co ec o habiendo ob enido
0110 que es 6 en decimal. Un apun e a ene en cuen a a la ho a de conca ena es os ci cui os
son los qubi s ancilla necesa ios pa a calcula el aca eo. Debido a que ealmen e es amos
mul iplicado dos ope ando de 2 qubi s cada uno la suma más g ande que puede da se es la
61
(a) AQFT (b) Ved al
(c) Cucca o
Figu a 5.13: Mul iplicado loga í mico de 2 qubi s con di e en es sumado es
que ep esen a la ope ación 3∗3,01100 + 01100 cuyo esul ado hemos is o en la sección
5.2.3 que es 11000, 8 en decimal de mane a que el aca eo pa a cualquie a de las posibles
sumas de 2 qubi s siemp e a a se 0 así que los egis os que lle an el aca eo simplemen e
se pueden ob ia a la ho a de conec a con la en ada del codi icado .
62
Capí ulo 6
Conclusiones
T as es e es udio ealizado sob e los concep os básicos de la compu ación cuán ica y
a ias unidades uncionales la conclusión más gene al es que aun queda mucho camino que
eco e sob e odo en el desa ollo de un ha dwa e que sea capaz de ejecu a los ci cui os
plan eados con un ac o de e o que pe mi a hace los ope a i os y se puedan u iliza pa a
cons ui nue os sis emas más complejos. Un ejemplo de ello es el mul iplicado loga í mico
en el cual hemos is o que cada uno de sus módulos po sí solos son inope a i os en una
máquina eal al a oja siemp e esul ados muy di usos que no pe mi en esca a la sali-
da co ec a. Sin emba go las he amien as is as como Qiski pe mi en que poco a poco
la compu ación cuán ica pase del ámbi o eó ico ma emá ico al p ác ico ace cándose a la
in o má ica y pe mi iendo expe imen a de mane a muy sencilla con odos es os concep-
os. Dada la na u aleza de las compu ado as cuán icas las unidades uncionales plan eadas
ca ecen de u ilidad eal al no explo a al comple o las cualidades del pa adigma y sob e
odo al ene ya máquinas clásicas que ealizan esas a eas de mane a muy e icaz (sal o la
QFT). Sin emba go a la ho a de plan ea una in oducción o un ans ase desde la compu-
ación clasica a la compu ación cuán ica en el ámbi o académico las unidades uncionales
plan eadas son esenciales ya que con amos con sus equi alen es en compu ación clásica y
su compo amien o se conoce p e iamen e. Es o es c ucial pa a comp ende co ec amen e
odos los concep os básicos de la compu ación cuán ica ya que ac ualmen e la ba e a de
conocimien o es conside able po el al o ni el de concep os ma emá icos necesa ios. Po o o
63
lado el mundo que se ab e en el ámbi o de la compu ación se á una e olución po la g an
capacidad de cálculo que end án esa as compu ado as. Buena p ueba de ello es po ejemplo
la posibilidad de encapsula un ci cui o en e o en una sola ope ación como imos la posi-
bilidad de calcula la ma iz uni a ia ep esen a i a de un ci cui o al comple o. Po úl imo
indica que los esul ados p esen ados se basan en la in es igación publicada en [SdlTB+19]
p e ia a es e abajo.
6.1. Fu u o
1) Los siguien es pasos a segui pueden se aplica las unidades uncionales is as a
las nue as ac ualizaciones de Qiski que se ayan publicando en el u u o que pe mi an
ap o echa mejo las cualidades de sus simulado es y compu ado as eales.
2) Como hemos is o simula un ci cui o cuán ico puede se una a ea muy ediosa pa a
una compu ado a clásica de mane a que olca odos es os p ocesos a una GPU puede se
muy in e esan e pa a así pode simula ci cui os más complejos en iempos azonables.
3) O o camino a segui pod ía se el de diseña e implemen a las unidades uncionales
plan eadas como gene alización en el espacio de Hilbe complejo en ez de los núme os
clásicos en e os que hemos empleado.
4) O a con inuación es ap o echa que cada qubi se compo a como una pa ícula
elemen al de mane a que es posible u iliza los pa a simula sis emas na u ales como á omos
o moléculas pudiendo así libe a a las compu ado as clásicas de es as a eas an ediosas
que una compu ado a cuán ica puede hace ap o echando sus ca ac e ís ican.
64
Bibliog a ía
[AAea19] Gadi Aleksand owicz, Thomas Alexande , and Panagio is Ba kou sos e al. Qis-
ki : An open-sou ce amewo k o quan um compu ing, 2019.
[BEST96] A. Ba enco, A. Eke , K. Suominen, and P. Tö mä. App oxima e quan um
ou ie ans o m and decohe ence. Phys. Re . Le e s, pages 139–146, july
1996.
[C+18] Pa ick J. Coles e al. Quan um algo i hm implemen a ions o beginne s.
CoRR, abs/1804.03719, 2018.
[Ci ] Ci q.
[Cop94] Coppe smi h D. An app oxima e ou ie ans o m use ul in quan um ac o ing.
h ps://a xi .o g/abs/quan -ph/0201067, 1994.
[Cuc04] Cucca o S.A. and o he s. A new quan um ipple-ca y addi ion ci cui . h ps:
//a xi .o g/abs/quan -ph/0410184, 2004.
[dlT] An onio Valdi ia de la To e. Diseño de unidades uncionales cuán icas: Un
mul iplicado loga í mico.
[D a00] D ape T.G. Addi ion on a quan um compu e . h ps://a xi .o g/abs/
quan -ph/0008033, 2000.
[Gee] Geek3. To oli ga e, own wo kc ea ed in la ex using q-ci cui . h ps://
commons.wikimedia.o g/w/index.php?cu id=75723375.
[Hi 12] Mika Hi ensalo. Ma hema ics o quan um in o ma ion p ocessing. In Hand-
book o Na u al Compu ing, pages 1381–1412. 2012.
65
[HPKM07] Mika Hi ensalo, Raymond La lamme Phillip Kaye, and Michele Mosca. An
in oduc ion o quan um compu ing, ox o d uni e si y p ess (2007) ISBN
019857049x. Compu e Science Re iew, 1(1):73–76, 2007.
[IBM19a] IBM. IBM Q Expe ience. h ps://quan umexpe ience.ng.bluemix.ne /
qx/expe ience, 2019. [Online; accessed 25-Feb ua y-2019].
[IBM19b] IBM. IBM Quan um de ices & simula o s - IBM Q. h ps://www. esea ch.
ibm.com/ibm-q/ echnology/de ices/, 2019. [Online; accessed 25-Feb ua y-
2019].
[KBO+19] M. S. Kim, A. A. D. Ba io, L. T. Oli ei a, R. He mida, and N. Baghe za-
deh. E icien mi chell’s app oxima e log mul iplie s o con olu ional neu al
ne wo ks. IEEE T ansac ions on Compu e s, 68(5):660–675, May 2019.
[KDHB18] M. S. Kim, A. A. Del Ba io, R. He mida, and N. Baghe zadeh. Low-powe im-
plemen a ion o mi chell’s app oxima e loga i hmic mul iplica ion o con olu-
ional neu al ne wo ks. In 2018 23 d Asia and Sou h Paci ic Design Au oma ion
Con e ence (ASP-DAC), pages 617–622, Jan 2018.
[Mic] Mic oso . Mic oso q#. h ps://www.mic oso .com/en-us/quan um.
[Mic94] G. De Micheli. Syn hesis and Op imiza ion o Digi al Ci cui s. McG aw-Hill, 1
edi ion, 1994.
[Mi 62] J. N. Mi chell. Compu e mul iplica ion and di ision using bina y loga i hms.
IRE T ansac ions on Elec onic Compu e s, EC-11(4):512–517, Aug 1962.
[NC11] Michael A. Nielsen and Isaac L. Chuang. Quan um Compu a ion and Quan-
um In o ma ion: 10 h Anni e sa y Edi ion. Camb idge Uni e si y P ess, 10 h
edi ion, 2011.
66