Fundamentos matemáticos de la computación cuántica
Abstract
[ES] Este trabajo es una pequeña introducción al mundo de la computación cuántica, a través de los espacios de Hilbert, la fibración de Hopf y los grupos de Lie; empezando por una introducción histórica de la mecánica cuántica (teoría física sobre la que se basa la computación cuántica), continuando por el concepto de qubit (la pieza clave de la computación cuántica, al igual que lo es el bit en la computación clásica) y su representación geométrica y terminando con el estudio de las puertas lógicas junto con un par de ejemplos para ilustrar su uso en los algoritmos.
Full text
Trabajo Fin de Grado Fundamentos matemáticos de la computación cuántica Ignacio Gómez Casares 2019/2020 UNIVERSIDAD DE SANTIAGO DE COMPOSTELA
GRADO EN MATEMÁTICAS Trabajo Fin de Grado Fundamentos matemáticos de la computación cuántica Ignacio Gómez Casares Julio 2020 UNIVERSIDAD DE SANTIAGO DE COMPOSTELA
Trabajo propuesto Área de Conocimiento: Análisis matemático Título: Fundamentos matemáticos de la computación cuántica Breve descripción del contenido: La computación cuántica es una ciencia que aúna áreas tan diversas como las matemáticas, la ingeniería, la física, la criptografía o la filosofía. En este trabajo se pretende aportar las nociones matemáticas básicas que están tras el funcionamiento de la computación cuántica y sus algoritmos.
Resumen Este trabajo es una pequeña introducción al mundo de la computación cuántica, a través de los espacios de Hilbert, la fibración de Hopf y los grupos de Lie; empezando por una introducción histórica de la mecánica cuántica (teoría física sobre la que se basa la computación cuántica), continuando por el concepto de qubit (la pieza clave de la computación cuántica, al igual que lo es el bit en la computación clásica) y su representación geométrica y terminando con el estudio de las puertas lógicas junto con un par de ejemplos para ilustrar su uso en los algoritmos. Abstract This work is a short introduction to the world of quantum computing, seen trough Hilbert spaces, the Hopf fibration and Lie groups; starting with the history of quantum mechanics (the fundamental physical theory on which quantum computing is based). Following that, the introduction of the qubit (the most important piece of quantum computing, as the bit is for classic computing), and it’s geometric interpretation. And finally the study of logic gates including a couple of examples to show how they work inside an algorithm.
Índice Introducción xi Capítulo 1. Breve introducción a la mecánica cuántica 1 1. Origen e ideas fundamentales 1 2. Axiomas de la mecánica cuántica 4 Capítulo 2. Los fundamentos de la computación cuántica 11 1. El concepto de qubit 11 2. Representación geométrica de un qubit 15 3. Transformaciones unitarias 22 4. Puertas lógicas - un qubit 31 5. Puertas lógicas - varios qubits 37 Capítulo 3. Un par de ejemplos 39 1. Clonación, no; teletransporte, sí 39 2. El algoritmo de Deutsch 41 Bibliografía 45 Índice alfabético 47 ix
4 1. BREVE INTRODUCCIÓN A LA MECÁNICA CUÁNTICA 2. Axiomas de la mecánica cuántica Cualquier teoría física tiene que describir en primer lugar al sistema 1 que se quiere estudiar. Para ello se utiliza el concepto de estado de un sistema físico. El estado de un sistema no es más un compendio de toda la información que es posible conocer sobre el sistema de forma que quede completamente determinado (es decir, se conoce todo sobre él) por el valor o los valores de dicho estado. En el ámbito de la mecánica cuántica, el estado de un sistema va a estar representado por un vector unitario en un espacio de Hilbert sobre el cuerpo de los números complejos. Dicho espacio de Hilbert es lo que se conoce como el espacio de estados del sistema, es decir, el espacio que contiene a todos los posibles valores que puede tomar el estado del sistema. Para definirlo necesitamos primero establecer la definición de producto escalar, así como aprovechar para introducir la notación que utilizaremos a lo largo de este trabajo. La notación utilizada habitualmente en el campo de la mecánica cuántica es la notación bra-ket, introducida por Paul Dirac en 1958. En nuestro caso también usaremos esta notación: un vector del espacio de Hilbert lo denotaremos |vi ∈ H ; el producto escalar/interior de dos vectores |vi,|wi ∈ H lo denotaremos hv|wi ; y el conjugado de un número complejo z, lo denotaremos z∗. Definición 1.1.Un producto escalar oproducto interior sobre un espacio vectorial complejo H es una aplicación h·|·i : H×H→C que satisface las siguientes propiedades. (1) Para todo |vi,|wi ∈ H, hv|wi=hw|vi∗. (2) Para todo |vi ∈ H , hv|vi es real y no negativo; es cero si y sólo si |vi = 0. (3) Para todo |vi,|wi ∈ Hyc∈C, hcv|wi=c∗hv|wiyhv|cwi=hv|wic. (4) Para todo |v1i,|v2i,|wi ∈ H, hv1+v2|wi=hv1|wi+hv2|wi y para todo |vi,|w1i,|w2i ∈ H, hv|w1+w2i=hv|w1i+hv|w2i. Un espacio vectorial Hcon un producto escalar se llama espacio prehilbertiano. Si consideramos una base ortonormal de un espacio prehilbertiano de dimensión finita H sobre C , {|e1i,...,|eni} , tendremos una forma de escribir el producto 1 Un sistema no es más que una parte del universo físico que se elige para analizar; todo lo que no se encuentra en esa parte se considera ajeno al sistema y no se consideran sus efectos.
2. AXIOMAS DE LA MECÁNICA CUÁNTICA 5 escalar a partir de las coordenadas de los vectores en dicha base. Si tomamos |vi = Pn i=1 vi|eii y |wi = Pn j=1 wj|eji vectores de H con vi, wj∈C para todo i, j , hv|wi=X i,j v∗ iwjhei|eji=X i v∗ iwi, por ser {|e1i,...,|eni} una base ortonormal. Traduciendo esto en la notación bra-ket, dado un vector o “ket” |vi , el conjugado traspuesto, dual o “bra” de dicho vector lo denotaremos por hv| de forma que, trabajando en una base ortonormal, el que el producto escalar de |vi y |wi lo escribimos como hv|wi: hv|wi=hv| |wi=v∗ 0v∗ 1··· v∗ n w0 w1 . . . wn =v∗ 0w0+v∗ 1w1+···+v∗ nwn. Definición 1.2.Un espacio de Hilbert H sobre C es un espacio vectorial sobre C con un producto interior h·|·i : H×H→C tal que, con la métrica inducida por dicho producto escalar ( d ( u, v ) := phu−v|u−vi para u, v ∈H ), el espacio H es un espacio métrico completo. Esta definición es más general de lo que necesitaremos, ya que en el ámbito de la computación cuántica se utiliza el término espacio de Hilbert haciendo únicamente referencia a los espacios vectoriales de dimensión finita (que son siempre espacios de Hilbert con el producto escalar usual); y eso es lo que haremos a partir de ahora. El primer axioma establece por tanto cómo describir al sistema que se pretende estudiar. Axioma 1.Cualquier sistema físico aislado tiene asociado un espacio de Hilbert llamado el espacio de estados del sistema. Un sistema queda completamente determinado en cada instante por su vector de estado, que es un vector unitario en el espacio de estados del sistema. Una posible interpretación del axioma surge al considerar a la mecánica cuántica como una generalización de la probabilidad, pero usando la norma 2en vez de la norma 1(que es la que constituye la probabilidad usual: la suma de las probabilidades de los posibles resultados de un experimento deben sumar 1) [ 1 , p. 110-112]. Es más, entre las generalizaciones de la probabilidad, es una de las pocas opciones posibles si queremos obtener propiedades interesantes, como el tener aplicaciones “no triviales” que conserven la norma de los vectores [1, p. 116]. Una vez descrito un sistema físico como un espacio de Hilbert sobre C (a partir de ahora cuando nos refiramos a un espacio de Hilbert estará siempre definido sobre el cuerpo de los complejos), el siguiente paso es describir su evolución con el paso del tiempo, de forma que se pueda predecir su comportamiento futuro a partir del estado actual del sistema.
6 1. BREVE INTRODUCCIÓN A LA MECÁNICA CUÁNTICA La descripción de la evolución temporal se lleva a cabo en este caso mediante el concepto de transformaciones unitarias. Para definir dicho concepto necesitamos algunos conceptos previos. Definición 1.3.Dado A un endomorfismo sobre un espacio de Hilbert H , el adjunto oconjugado hermitiano de A , denotado por A† , es el único [ 2 , p. 204] operador lineal A†tal que, para todo |vi,|wi ∈ H, hv|Awi=A†vw. Diremos que un operador es hermitiano oautoadjunto si A†=A. Dada la matriz asociada a un operador lineal, la construcción de la matriz asociada al operador adjunto se consigue conjugando sus entradas y transponiendo la matriz, i.e., A† = ( A∗ ) T . Como ya hemos visto, para un vector |vi ∈ H , |vi† = hv| . A partir de esta definición se define el concepto de operador unitario. Definición 1.4.Un operador U sobre un espacio de Hilbert H se dice unitario si U†U=Idonde Irepresenta la aplicación identidad. En lo que se refiere a la representación matricial del operador, será unitario si dada una matriz asociada U se satisface que U†U = I donde I es la matriz identidad. Dado un operador unitario, se satisface además una propiedad importante y es que conservan los productos escalares, i.e., si tenemos dos vectores |vi,|wi ∈ H se satisface que el producto escalar de U|vi y U|wi es igual al producto escalar de |vi y|wi: hUv|Uwi=vU†Uw=hv|wi, usando la definición de operador adjunto. Aprovechamos esta pequeña prueba para introducir un poco más de notación. Para escribir el producto escalar de |vi y A|wi (o equivalentemente de A†|vi y |wi ) utilizaremos la notación hv|A|wi . En este caso, escribiremos de esta forma la expresión vU†Uw, que será igual a hv|U†U|wi. Hay otra descripción de la evolución del estado de un sistema para tiempo continuo que se conoce como la ecuación de Schrödinger [ 6 , p. 82] y a partir de la cual se puede obtener la versión del postulado que hemos presentado. Sin embargo, para estudiar la computación cuántica no es necesario utilizarla por lo que no la presentaremos en este trabajo. Así, el segundo axioma de la mecánica cuántica es el siguiente. Axioma 2.La evolución de un sistema cerrado se describe mediante una transformación unitaria. Es decir, si el estado de un sistema es |ψien el tiempo t1 y|ψ0ien el tiempo t2, la relación entre ambos estados es |ψ0i=U|ψi, donde Ues un operador unitario que solo depende de los tiempos t1yt2.
2. AXIOMAS DE LA MECÁNICA CUÁNTICA 7 El siguiente axioma introduce la acción de algo externo al sistema en el propio sistema, en concreto, el efecto que tiene una medición del sistema. Antes de presentar el axioma necesitamos probar un pequeño lema previo. Lema 1.5.Dada una colección numerable de operadores {Mm} actuando sobre un espacio de Hilbert H tales que PmM† mMm = I , y dado |ψi ∈ H un vector unitario, hψ|M† mMm|ψi ∈ [0,1] para todo m. Demostración. Tenemos en primer lugar que X mhψ|M† mMm|ψi=hψ|X m M† mMm|ψi=hψ|ψi= 1. Por otro lado, hψ|M† mMm|ψi=ψM† mMmψ=hMmψ|Mmψi=|Mmψ|2 para todo m usando la definición del conjugado hermitiano de un operador. Así, juntando ambas afirmaciones, tendremos que necesariamente 0≤ hψ|M† mMm|ψi ≤ X mhψ|M† mMm|ψi ≤ 1. Con este pequeño lema ya estamos preparados para concretar el tercer axioma de la mecánica cuántica. Axioma 3.Una medida cuántica se describe mediante una colección {Mm} de operadores de medida. Estos operadores actúan sobre el espacio de estados del sistema que se está midiendo. El índice m se refiere a los posibles resultados que se pueden obtener en la medición. Si el sistema se encuentra en el estado |ψi justo antes de la medición, la probabilidad de que el resultado m ocurra viene determinada por p(m) = hψ|M† mMm|ψi, que pertenece al intervalo [0 , 1] (Lema 1.5) y el estado del sistema tras la medición será Mm|ψi phψ|M† mMm|ψi. Los operadores de medición satisfacen la ecuación de completitud X m M† mMm=I, que fuerza a que las probabilidades de los diferentes resultados sumen uno: X m p(m) = X mhψ|M† mMm|ψi=hψ|X m M† mMm|ψi=hψ|ψi= 1 por ser |ψi unitario, es decir, ( M,P ( M ) , p )es un espacio de probabilidad, donde M={Mn}. El último axioma resume cómo considerar un sistema formado por varios sistemas físicos. Para ello se utiliza el producto tensor de espacios vectoriales.
8 1. BREVE INTRODUCCIÓN A LA MECÁNICA CUÁNTICA Definición 1.6.Dados dos espacios vectoriales V1 y V2 sobre C un producto tensor de V1 y V2 es un espacio vectorial W sobre C junto con una aplicación bilineal T : V1×V2→W que satisface la siguiente propiedad universal: si U es cualquier espacio vectorial sobre C yΦ : V1×V2→U es una aplicación bilineal, entonces existe una única aplicación lineal ˜ Φ : W→U tal que el siguiente diagrama conmuta: V1×V2W U T Φ∃·˜ Φ El producto tensor de dos espacios vectoriales es único [4, p. 527]. Proposición 1.7.Dados dos espacios vectoriales V1, V2 , existe al menos un producto tensor de V1 y V2 y es único salvo isomorfismo, i.e., dados dos productos tensores ( W1, T1 )y( W2, T2 ), existe una única aplicación lineal biyectiva Ψ : W1→W2tal que T2= Ψ ◦T1. Denotaremos al producto tensor de dos espacios vectoriales V1 y V2 por V1⊗V2 , y a la aplicación bilineal asociada por ⊗:V1×V2→V1⊗V2. Todos los elementos del producto tensor de V y W son combinación lineal de elementos de la forma |v1i⊗|v2i con |v1i ∈ V1,|v2i ∈ V2 . Es más, si {|eii} es una base ortonormal de V1 y {e0 j} una base ortonormal de V2 , la colección {|eii⊗e0 j} es una base de V1⊗V2. Por la definición de espacio tensor se satisface que [6, p. 73]: (1) para un escalar arbitrario z,|vi ∈ V1,|wi ∈ V2, se tiene que z(|vi⊗|wi) = (z|vi)⊗|wi=|vi⊗(z|wi); (2) para |v1i,|v2i ∈ V1y|wi ∈ V2, se tiene que (|v1i+|v2i)⊗|wi=|v1i⊗|wi+|v2i⊗|wi; (3) para |vi ∈ V1y|w1i,|wwi ∈ V2, se tiene que |vi⊗(|w1i+|w2i) = |vi⊗|w1i+|vi⊗|w2i. A partir de la definición de producto tensor podemos definir el operador lineal A⊗B a partir de A un operador lineal sobre V1 y B un operador lineal sobre V2 de la siguiente forma: (A⊗B) X i ai|vii⊗|wii!=X i aiA|vii⊗B|wii(1) donde |vii,v0 j∈Vyai∈C. Así mismo, si V1 y V2 son espacios de Hilbert, podemos definir un producto escalar en V1⊗V2a partir de los productos escalares de V1yV2: h˜v|˜wi=X i,j a∗ ibjviv0 jwiw0 j(2) donde ˜v = Piai|vii⊗|wii y ˜w = Pibiv0 j⊗w0 j pertenecen a V1⊗V2 con |vii,v0 j∈V1,|wii,w0 j∈V2yai∈C.
2. AXIOMAS DE LA MECÁNICA CUÁNTICA 9 Usando estos conceptos podemos escribir el último axioma de la mecánica cuántica de la siguiente forma. Axioma 4.El espacio de estados de un sistema físico compuesto es el producto tensor de los espacios de estados de las componentes del sistema. Si las componentes son los sistemas 1 , . . . , n , y el sistema i está en el estado |ψii , el estado del sistema completo es |ψ1i⊗|ψ2i⊗···⊗|ψni.
CAPÍTULO 2 Los fundamentos de la computación cuántica 1. El concepto de qubit Al igual que un bit en la computación clásica, un qubit se puede pensar como un sistema físico con “dos” estados: |0i y |1i . Como ya hemos visto, un sistema físico aislado se representa en mecánica cuántica por un espacio de Hilbert; en este caso, un espacio de Hilbert de dimensión dos, donde los estados |0i y |1i son una base ortonormal de dicho espacio. Por tanto, estos estados no son los únicos que puede tomar un qubit, sino que siguiendo el primer axioma de la mecánica cuántica, cualquier vector unitario del espacio es un estado posible del sistema físico. Así, podemos tener por ejemplo un qubit en el estado 1 √2|0i+1 √2|1i. En general son de la forma 1 q|x|2+|y|2(x|0i+y|1i) (x, y)∈C×C\{(0,0)}. Los estados que son combinaciones de |0i y |1i se denominan superposiciones de estos dos estados. Esta particularidad de los qubits contrasta con los bits de la computación clásica, ya que en ese caso no hay más que dos estados posibles para un bit. Otra particularidad de los qubits aparece cuando consideramos una medición de un qubit, y es que cuando intentamos medir el estado de un qubit, el aparato de medición tiene que tener dos estados “preferidos” que formen una base ortonormal del espacio de estados (i.e., dos vectores |ui y |vi tales que {|ui,|vi} sea una base del espacio de Hilbert y hu|vi = 0) y lo único que obtendremos al llevar a cabo la medición es |0io|1i(si seleccionamos la base canónica) [7, p. 16]. Es por esto por lo que, cuando se presentan los axiomas de la mecánica cuántica, se suele utilizar una versión más restrictiva del tercer axioma [ 6 , p 87]. Esta versión utiliza las mediciones proyectivas que son un caso particular del axioma más general. Antes de mostrar el tercer axioma modificado necesitamos ver qué es una proyección en un estado de Hilbert. Si tenemos un subespacio del espacio de Hilbert, generado por una base ortonormal {|v1i,...,|vki} , la proyección de un vector |ψi sobre ese subespacio se define como P|ψi:= hv1|ψi|v1i+···+hvk|ψi|vki. 11
12 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA Esto implica varias cosas. Lema 2.1.Dado H un espacio de Hilbert y P una proyección sobre un subespacio, se satisface que P2=P. Demostración. Sea |ψi ∈ H un vector. Supongamos que el subespacio está generado por una base ortonormal {|v1i,...,|vki}. Por definición, P|ψi=hv1|ψi|v1i+···+hvk|ψi|vki y, consecuentemente, P2|ψi=P(hv1|ψi|v1i+···+hvk|ψi|vki) = hv1|ψi|v1i+···+hvk|ψi|vki. Lema 2.2.Dado H un espacio de Hilbert y P una proyección sobre un subespacio, se satisface que P†=P. Demostración. Sin pérdida de generalidad (el caso más general se obtiene aplicando la linealidad del producto escalar), veámoslo para el caso de un subespacio generado por un único vector |v1i . Usando la definición de adjunto de un operador nos basta con ver que para |vi,|wi ∈ Hse satisface que hv|Pwi=hPv|wi: hv|Pwi=hv|hv1|wiv1i=hv1|wihv|v1i=hv1|wihv1|vi∗=hhv1|viv1|wi=hPv|wi. Lema 2.3.Dado Hun espacio de Hilbert, y dado un operador hermitiano M, si para cada autovalor m , el operador Pm es la proyección sobre el subespacio generado por el autovector asociado al autovalor m, se satisface que PmPm=I. Demostración. Por ser M una matriz hermitiana, es diagonalizable –por lo que sus autovectores forman una base del espacio vectorial– y además la base formada por sus autovectores es una base ortogonal. Por tanto, si consideramos la base formada por los autovectores normalizados {|v1i,...,|vni} , tendremos una base ortonormal tal que hvi|vji = δij para todo i, j . Así, dado |ψi = λ1|v1i + . . . λn|vni ∈ H, Pi|ψi=hψ|vii|vii= (λ1hv1|vii+···+λnhvn|vii)|vii=λi|vii y, de esta forma, X m Pm!|ψi=P1|ψi+···+Pn|ψi=hψ|v1i|v1i+···+hψ|vni|vni=|ψi. Presentamos ahora el tercer axioma modificado. Una medición proyectiva se describe mediante un observable 1 , M , un operador hermitiano en el espacio de 1 En física, un observable es cualquier propiedad de un sistema determinado que se puede medir.
1. EL CONCEPTO DE QUBIT 13 estados del sistema. Este operador tiene una descomposición espectral M=X m∈sp(M) mPm, donde Pm es la proyección sobre el subespacio vectorial generado por el autovalor m del operador M . Esta descomposición proviene de la descomposición espectral de una matriz hermitiana. Cada uno de estos operadores Pm se puede relacionar con los operadores Mm del tercer axioma general. Así, los posibles resultados de la medición se corresponden con los autovalores del observable. Tras medir el estado |ψi, la probabilidad de obtener el resultado mes hψ|P† mPm|ψi=hψ|Pm|ψi por los Lemas 2.2 y 2.1. El estado del sistema después de la medición, suponiendo que se ha obtenido el resultado m, será Pm|ψi phψ|Pm|ψi. Nótese que se satisface la condición de que PmP† mPm=I: X m P† mPm=X m P2 m=X m Pm=I, usando los Lemas 2.1 y 2.3. En el desarrollo de los fundamentos de la computación cuántica nos fijaremos principalmente en el tercer axioma modificado ya que es el que realmente se corresponde con los experimentos en este ámbito. El hecho de que un qubit pueda tener infinitos estados diferentes (en principio) nos llevaría a pensar que en ese sentido son “mejores” que los bits de la computación clásica. Sin embargo, nos encontramos con que hay estados que no se pueden distinguir 2 ; por ejemplo, dos estados que no son ortogonales no se pueden distinguir. Supongamos que es posible hacerlo si los dos estados satisfacen que hψ1|ψ2i 6 = 0, i.e., no son ortogonales. Entonces, si el qubit se halla por ejemplo en el estado |ψ1i , se tendría que satisfacer que la probabilidad de obtener un resultado m en la medición tal que f ( m ) = 1 sea 1(análogamente en caso de que el estado fuese |ψ2i ). Definimos Ei = Pm|f(m)=iM† mMm de forma que podemos escribir la restricción establecida antes como hψ1|E1|ψ1i= 1;hψ2|E2|ψ2i= 1. (3) Como la colección {Mm} es una medida cuántica, se tiene que PiEi = I y por lo tanto Pihψ1|Ei|ψ1i = 1. Como hψ1|E1|ψ1i = 1, tendremos que hψ2|E1|ψ2i = 0. Análogamente, hψ1|E2|ψ1i = 0. Si descomponemos |ψ2i = α|ψ1i + β|ψi –donde 2 Distinguir dos estados significa que dados dos estados |ψ1i y |ψ2i es posible encontrar una colección de operadores de medida {Mm} de forma que, dependiendo del resultado obtenido en la medición, sepamos en cuál de los dos estados estaba el qubit (i.e. existe una aplicación f tal que f(m) = i, donde i= 1,2, que indica el estado en función del resultado obtenido en la medición).
20 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA y que Adr(x+x0, y +y0, z +z0) = [a2(x+x0)+2ac(z+z0)−2ad(y+y0) + b2(x+x0) + 2b(c(y+y0) + d(z+z0)) −c2+d2(x+x0)]i + [a2(y+y0)−2ab(z+z0)+2ad(x+x0)−b2(y+y0) + 2bc(x+x0) + c2(y+y0)+2cdz + 2cdz0−d2(y+y0)]j + [a2(z+z0)+2ab(y+y0)−2ac(x+x0)−b2(z+z0) + 2bd(x+x0)−c2(z+z0)+2cdy + 2cdy0+d2(z+z0)]k =Adr(x, y, z) + Adr(x0, y0, z0). Tenemos ahora que la matriz asociada a la aplicación Adr (en las condiciones del lema anterior) sobre la base canónica de R3es M= a2+b2−c2−d22bc −2ad 2ac + 2bd 2bc + 2ad a2−b2+c2−d22cd −2ab 2bd −2ac 2ab + 2cd a2−b2−c2+d2 . (8) El determinante de esta matriz es 1, y la matriz es ortogonal (i.e. MMt = I ) por lo que efectivamente se trata de una rotación. Los autovalores son λ1= 1, λ2=a2−b2−c2−d2−2p−a2b2−a2c2−a2d2, λ3=a2−b2−c2−d2+ 2p−a2b2−a2c2−a2d2, y uno de los autovectores asociado al autovalor λ1 (que es el eje de la rotación; al ser los autovalores distintos, el subespacio asociado es una recta) es ( b, c, d ). Para calcular el ángulo de giro, consideremos un vector perpendicular a ( b, c, d ), por ejemplo ( b, c, d ) × (1 , 0 , 0) = (0 , d, −c )(usando el producto vectorial de R3 ). El ángulo de giro θ será el ángulo que forma w = (0 , d, −c )con su imagen Mw . Por la definición de producto escalar en R3, tenemos que el coseno de este ángulo es cos θ=w·Mw kwk2=a2−b2−c2−d2= 2a2−1, por lo que a2 = 1 2 ( cos θ + 1), lo que significa que a = cos θ 2 . Así, θ = 2 cos−1 ( a )es el ángulo de la rotación. Una vez definidas las aplicaciones Adr , podemos definir la fibración de Hopf a partir de ellas. Fijamos un punto en S2 , w0 , y dado un punto ( a, b, c, d ) ∈S3 definimos r→Adr(w0) = rw0r−1=rw0r∗. Para el punto w0 = (1 , 0 , 0), esta aplicación coincide con la definida en (7) . Es decir, la fibración de Hopf consiste en, dado un punto de la esfera S3 , aplicar la rotación determinada por ese cuaternión sobre un punto determinado w0en la esfera S2.
2. REPRESENTACIÓN GEOMÉTRICA DE UN QUBIT 21 z y x |0i |1i (2(ac +bd),2(ad −bc), a2+b2 −c2 −d2) Figura 2.1. Fibración de Hopf. 2.3. La esfera de Bloch. Una vez visto el concepto de la fibración de Hopf, lo usaremos para representar el estado de un qubit en la esfera de Bloch. Podemos representar el estado |ψide un qubit en la base {|0i,|1i} como α β! con α, β ∈C tales que |α|2 + |β|2 = 1. A su vez, α = a + bi y β = c + di donde a, b, c, d ∈R . Que |α|2 + |β|2 = 1 implica que a2 + b2 + c2 + d2 = 1. Esta ecuación describe la esfera S3contenida en R4. La idea es construir una aplicación que relacione C×C con los cuaterniones, de forma que a la imagen de un estado de un qubit por esta aplicación le podamos aplicar la fibración de Hopf y obtener un punto en la esfera S2 . La aplicación que definimos (por motivos técnicos que exploraremos más adelante) es f:C×C−→ H (α, β)=(a+bi, c +di)7−→ (a, b, −c, d). La imagen de la composición h◦f es lo que se denomina la esfera de Bloch, tal y como podemos ver en la Figura 2.1. También vemos que h ( |0i ) = h (1 , 0 , 0 , 0) = (1 , 0 , 0) y h ( |1i ) = h (0 , 0 , 1 , 0) = ( − 1 , 0 , 0). Esta no es la convención utilizada habitualmente por los físicos, sino que los papeles del eje x y el eje z están intercambiados. Al comienzo de esta sección, definimos lo que se conoce como el factor de fase global, de forma que dos estados que se diferencian únicamente en un complejo unitario exp(iγ) son “iguales” desde el punto de vista de las mediciones. La pregunta ahora es si esta fibración de Hopf h◦f lleva siempre dos estados “iguales” al mismo punto, es decir, si respecta la relación de equivalencia definida en (6). Lema 2.8.La aplicación h◦frespeta la relación de equivalencia (6). Demostración. Sean |ψi y |ψ0i tales que |ψi ∼ |ψ0i . Entonces, |ψ0i = exp(iγ)|ψi para γ∈R , es decir, si |ψi = ( α, β ) = ( a + bi, c + di ), tendremos
22 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA que |ψ0i= exp(iγ)(a+bi, c +di) = (cos(γ) + isin(γ))(a+bi, c +di) y por tanto, (h◦f)(|ψ0i) = h(acos γ−bsin γ, a sin γ+bcos γ, −ccos γ+dsin γ, c sin γ+dcos γ) = (a2+b2−c2−d2,2(ad −bc),2(bd +ac)) = h(a, b, −c, d) = (h◦f)(a, b, c, d)=(h◦f)(|ψi). Hemos definido así una representación del qubit en la esfera S3 . En el caso de varios qubits, no se ha podido definir todavía una representación tan simple como la esfera de Bloch en el caso de un qubit [6, p. 15]. En el resto del capítulo nos centraremos en estudiar las puertas lógicas, que constituyen la base de la computación cuántica, así como intentar interpretar geométricamente su efecto sobre la representación del qubit en la esfera de Bloch. 3. Transformaciones unitarias En la Definición 1.4 introdujimos el concepto de operador unitario sobre un espacio de Hilbert. Los operadores unitarios son, según los axiomas de la mecánica cuántica, la forma de representar los cambios a lo largo del tiempo de los qubits. En esta sección los estudiaremos a fondo para después centrarnos en aquellos operadores que constituirán las puertas lógicas de la computación cuántica. Para analizar estos operadores utilizaremos los grupos de matrices, es decir, supondremos fijada una base en el espacio de Hilbert y consideraremos las matrices asociadas a los diferentes operadores sobre esa base. 3.1. Grupo lineal general. En la Sección 2.1 de este capítulo utilizamos los cuaterniones para definir la fibración de Hopf. Tal y como dijimos en su momento, tenemos las siguientes inclusiones R⊂C⊂H, donde la operación de multiplicación y sus propiedades se mantiene, excepto que en H no es conmutativa. En lo que sigue, denotaremos por K a cualquiera de los tres, es decir, K∈ {R,C,H} . Por otro lado, denotaremos a las matrices cuadradas n×n con coeficientes en Kpor Mn(K). Cuando K∈ {R,C}, la aplicación det : Mn(K)−→ K, es conocida. Sin embargo, debido a las particularidades de H , no podemos utilizar la misma definición para las matrices con coeficientes en H si queremos retener propiedades como que las matrices sean invertibles si y sólo si el determinante es
3. TRANSFORMACIONES UNITARIAS 23 distinto de cero. Por ejemplo, si definiésemos el determinante con la definición habitual, al considerar la matriz A= i j i j!∈M2(H), obtendríamos un determinante igual a ij −ji = k− ( −k ) = 2 k6 = 0; sin embargo, la matriz no es invertible, ya que si existiese una matriz a b c d!∈M2(H) tal que i j i j! a b c d!= 1 0 0 1! tendríamos que ia +jc = 1, ib +jd = 0, ia +jc = 0, ib +jd = 1, lo que supone una contradicción, ya que 0 6 = 1. Más adelante definiremos una aplicación que verificará esta propiedad y que nos servirá como definición de determinante para una matriz con coeficientes cuaterniónicos. Las particularidades de H también afectan a la estructura de los espacios vectoriales sobre los cuaterniones. Al no ser un cuerpo conmutativo, podemos considerar tanto espacios vectoriales por la derecha como por la izquierda. Definición 2.9.Un espacio vectorial por la izquierda sobre un cuerpo no conmutativo K es un conjunto M junto con una suma de M×M a M (denotada por A, B 7→ A + B ) y una multiplicación de K×M a M (denotada por a, A 7→ a·A ) tal que M es un grupo abeliano con la suma y, para todo a, b ∈K y todo A, B ∈M , (1) a·(b·A)=(a·b)·A, (2) 1·A=A, (3) (a+b)·A=a·A+b·A, (4) a·(A+B) = a·A+a·B. Un espacio vectorial por la derecha sobre K verifica las mismas propiedades, aplicando los correspondientes cambios de notación (la multiplicación es ahora a, A 7→ A·a ); excepto que la primera propiedad cambia con respecto a la enunciada para espacios vectoriales por la izquierda, quedando en este caso expresada como (A·b)·a=A·(b·a). Así, podemos considerar Mn ( K )como espacios vectoriales sobre K , y en el caso de K=H, consideraremos Mn(H)como un espacio vectorial por la derecha.
24 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA Esta decisión tiene también consecuencias a la hora de relacionar las matrices con las aplicaciones lineales. Y es que si consideramos Hn como un espacio vectorial por la derecha, tendremos que definir la aplicación asociada a una matriz A∈Mn ( H ) como LA : Hn→Hn tal que para x∈Hn , LA ( x ) = A·x . En otro caso, la aplicación resultante no es lineal [8, p. 16]. Usando esa definición, podemos establecer el concepto de grupo lineal general sobre K. Definición 2.10.El grupo lineal general sobre Kes: GLn(K) = {A∈Mn(K)∃B∈Mn(K)tal que AB =BA =I}. La matriz B es la inversa de A y la denotamos por A−1 . Es decir, el grupo lineal general es el conjunto de matrices con inversa. Equivalentemente, también podemos describir al grupo lineal general como el conjunto de isomorfismos de Kn→Kn [8, p. 17]. Proposición 2.11. GLn(K) = {A∈Mn(K)LA:Kn−→ Knes un isomorfismo lineal.} Para las matrices con coeficientes reales o complejos, tener inversa es equivalente a que su determinante sea no nulo. Para poder llegar a una caracterización similar en las matrices con coeficientes cuaterniónicos, necesitamos primero escribir a las matrices de GLn ( H )como matrices de GLm ( C )para un cierto m . Es por ello por lo que introducimos el siguiente teorema. Teorema 2.12. (1) GLn(C)es isomorfo a un subgrupo de GL2n(R). (2) GLn(H)es isomorfo a un subgrupo de GL2n(C). Demostración. Para el primer caso, empezamos por n = 1. Definimos así ρ1:M1(C)→M2(R)definida por ρ1(a+bi) = a b −b a!. Para una matriz A∈Mn ( C )con n≥ 1, construimos ρn ( A )a partir de los bloques 2×2resultantes de aplicar ρ1a cada entrada de la matriz A. Por ejemplo ρ1 a+bi c +di e+fi g +hi!= a b c d −b a −d c e f g h −f e −h g . Esta aplicación así definida, es un isomorfismo lineal con su imagen (contenida en GL2n ( R )) al restringirla a GLn ( C )y además conserva la multiplicación [ 8 , p. 25].
3. TRANSFORMACIONES UNITARIAS 25 En el segundo caso, procedemos de forma similar. Empezamos por el caso n = 1, definiendo la aplicación ψ1:M1(H)→M2(C)dada por ψ1(a+bi +cj +dk) = a+bi c +di −c+di a −bi! y generalizamos para cualquier n≥ 1igual que antes. La aplicación resultante es también un isomorfismo con su imagen (contenida en GL2n ( C )) al restringirla a GLn(H)y además conserva la multiplicación [8, p. 29]. Utilizando la aplicación ψn definida en la demostración inmediatamente anterior, podemos definir el determinante de una matriz cuaterniónica. Esta definición consiste únicamente en componer ψncon el determinante usual de M2n(C): det ◦ψn:Mn(H)−→ C. Así conseguimos la propiedad esperada [8, p. 31]. Proposición 2.13. GLn(H) = {A∈Mn(H)det(A)6= 0}. Veamos como ejemplo el caso de una matriz 2 × 2. Sea A una matriz de M2 ( H ) A= a11 +b11i+c11j+d11k a12 +b12i+c12j+d12k a21 +b21i+c21j+d21k a22 +b22i+c22j+d22k!, tendremos que su matriz asociada en M4(C)será a11 +b11i c11 +d11i a12 +b12i c12 +d12i −c11 +d11i a11 −b11i−c12 +d12i a12 −b12i a21 +b21i c21 +d21i a22 +b22i c22 +d22i −c21 +d21i a21 −b21i−c22 +d22i a22 −b22i . Por lo tanto, el determinante de A será el determinante de esta matriz. Por ejemplo, para i j i j!tendremos que la matriz asociada en M4(C)es i0 0 1 0−i−1 0 i0 0 1 0−i−1 0 y por tanto que det i j i j!= 0.
26 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA 3.2. Grupos ortogonales. Introducimos ahora el concepto de grupo ortogonal sobre K , utilizando para ello el producto escalar definido para R , C y H respectivamente. Definición 2.14.El grupo ortogonal sobre K, O n(K) = {A∈GLn(K)hx·A|y·Ai=hx|yipara todo x, y ∈Kn}. Si K = R , este grupo se denota O ( n )y se denomina el grupo ortogonal. Si K = C , se denota U ( n )y se denomina el grupo unitario. Por último, si K = H , se denota Sp(n)y se denomina grupo simpléctico. La denominación del grupo U ( n )como grupo unitario no es casual, sino que está relacionada con el concepto de operador unitario de un espacio de Hilbert: una matriz A∈U ( n )es una matriz unitaria en el sentido de la Definición 1.4. Esto se puede extrapolar a los otros grupos ortogonales. Proposición 2.15.Para A∈GLn(K)son equivalentes (1) A∈O n(K), (2) LA conserva bases ortonormales; i.e., si {x1, . . . , xn} es una base ortonormal de Kn, entonces {LA(x1), . . . , LA(xn)}lo es también, (3) las columnas de Aforman una base ortonormal de Kny (4) A†A=I3. Demostración. La implicación (1) = ⇒ (2) se deduce de que A conserva el producto escalar. La implicación (2) = ⇒ (3) es porque las columnas de A son las imágenes de la base canónica de Kn (tal y como hemos definido a LA ). La implicación (3) =⇒(4) es debido a que (A†A)ij = (fila ide A†)(columna jde A) = (columna ide A∗)T(columna jde A) =h(columna ide A)|(columna jde A)i. La implicación (4) =⇒(1) ya la hemos visto en la Sección 2 del Capítulo 1. Esta caracterización de las matrices del grupo ortogonal sobre K nos permite demostrar la siguiente proposición. Proposición 2.16.Si A∈O n(K), entonces |det(A)|= 1. Demostración. Como A†A = I , tenemos que (utilizando que detA† = det(A)∗[8, p. 39]) 1 = detA†A= detA†det(A) = det(A)∗det(A) = |det(A)|2. 3 La definición de A† para A∈Mn ( H )es la misma que para una matriz compleja, pero utilizando la definición de conjugado de un cuaternión.
3. TRANSFORMACIONES UNITARIAS 27 Como consecuencia, es evidente que las matrices son inversibles y por tanto elementos de GLn ( K ). No solo esto, sino que además O n ( K )es un subgrupo del grupo lineal general [8, p. 36]. El subgrupo SO(n) = {A∈O(n)det(A)=1} se llama el grupo ortogonal especial. El subgrupo SU(n) = {A∈U(n)det(A)=1}, grupo unitario especial. Ambos son subgrupos del grupo lineal general y también del grupo lineal especial SLn(K) = {A∈GLn(K)det(A)=1}. 3.3. Rotaciones y grupos otrogonales. El grupo SO (3) constituye el grupo de las rotaciones en R3 . Como ya hemos visto en la Sección 2.2, cada punto de la esfera S3 se puede identificar con una rotación en R3 , i.e., con un elemento de SO (3). A pesar de que esta identificación no es un isomorfismo (ni tal isomorfismo existe [ 3 , p. 64]), sí que podemos utilizarla para asociar a cada transformación unitaria de SU (2) una rotación de R3 , i.e., identificar los cambios en un qubit con rotaciones de su representación en la esfera de Bloch. Empezamos por identificar Sp (1) con SU(2). Proposición 2.17.SU(2) es isomorfo a Sp(1). Demostración. Recordemos en primer lugar la definición de la aplicación ψ1:M1(H)→M2(C)de la demostración del Teorema 2.12: ψ1(a+bi +cj +dk) = a+bi c +di −c+di a −bi!. Esta aplicación la podemos definir también como ψ1(z+wj) = z w −w∗z∗!, ya que cualquier cuaternión a + bi + cj + dk se puede expresar de la forma z + wj con z, w ∈C, simplemente tomando z=a+bi yw=c+di. Como ya dijimos en su momento, esta aplicación es inyectiva y conserva la multiplicación. Si restringimos la aplicación a Sp(1), tendremos que ψ1(Sp(1)) = { z w −w∗z∗!z, w ∈Ctales que |z|2+|w|2= 1}. Nos queda ver que ψ1(Sp(1)) = SU(2). Dado r = a + bi + cj + dk ∈Sp (1), se tiene que ψ1 ( r ) = a+bi c +di −c+di a −bi! , de forma que ψ1(r)†ψ1(r) = a−bi −c−di c−di a −bi ! a+bi c +di −c+di a −bi!= 1 0 0 1!,
28 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA ya que a2+b2+c2+d2= 1. Además, det(ψ1(r)) = 1, por lo que ψ1(r)∈SU(2). Sea ahora B = α β γ δ!∈SU (2) con α, β, γ, δ ∈C . Como B es un operador unitario, tenemos que B†B= α∗γ∗ β∗δ∗! α β γ δ!= 1 0 0 1!. Junto con la ecuación 1 = det B = αδ −βγ , tenemos (siendo las ecuaciones (10) y (11) equivalentes): α∗α+γ∗γ= 1, (9) α∗β+γ∗δ= 0, (10) β∗α+δ∗γ= 0, (11) β∗β+δ∗δ= 1, (12) αδ −βγ = 1. (13) Distinguimos dos casos. El primero, suponemos que δ = 0. En ese caso las ecuaciones quedarían en: α∗α+γ∗γ= 1, (14) α∗β= 0, (15) β∗β= 1, (16) −βγ = 1. (17) Las ecuaciones (15) y (16) implican en primer lugar que α∗ = 0, i.e., α = 0. Además, la ecuación (16) implica que el inverso de β es β∗ . Por último, usando esto y la ecuación (17) concluimos que −γ , que también es el inverso de β , es igual a β∗ . Si γ = 0, también podemos usar el mismo argumento para concluir que δ = α∗ y que β= 0. En el segundo caso suponemos que δ6 = 0 y que γ6 = 0. En ese caso, a partir de la ecuación (10) , multiplicando en un primer caso por γ y después por δ∗ , y usando las ecuaciones (9), (12) y (13) obtenemos: α∗βγ +γ∗δγ = 0 =⇒α∗βγ + (1 −α∗α)δ= 0 =⇒δ=α∗(αδ −βγ) = α∗ α∗βδ∗+γ∗δδ∗= 0 =⇒α∗βδ∗+γ∗(1 −β∗β= 0 =⇒γ∗=β(βγ −αδ) = −β Por tanto, juntando ambos casos, concluimos que δ = α∗ y que γ = −β∗ . Así, la matriz será de la forma α β −β∗α∗! y será por tanto un elemento de ψ1(Sp(1)). De esta manera, al identificar cada matriz unitaria 2 × 2con un elemento de la esfera S3 , podemos a su vez asociarle una rotación de SO (3). La aplicación Ad : Sp (1) →SO (3) que empezamos a introducir en la Sección 2.2 es la que nos va
3. TRANSFORMACIONES UNITARIAS 29 a permitir dicha asociación. Para estudiarla en profundidad necesitamos primero introducir una estructura topológica en los grupos de matrices con los que hemos trabajado. Para ello, simplemente consideramos a los grupos de matrices como subespacios de un espacio topológico euclídeo, teniendo en cuenta las siguientes inclusiones. Dado Gun subgrupo de GLn(K), G⊂GLn(K)⊂Mn(K)∼ =Kn2∼ = Rn2si K=R, R2n2si K=C, R4n2si K=H. Una vez que tenemos una topología en GLn ( K ), introducimos la siguiente definición. Definición 2.18.Un grupo de matrices es un subgrupo G⊂GLn ( K )que es cerrado en GLn(K). Todos los “grupos de matrices” definidos hasta ahora lo son en el sentido de la definición que acabamos de introducir. Proposición 2.19. O n ( K ), SLn ( K ), SO ( n )y SU ( n )son grupos de matrices según la Definición 2.18. Demostración. Tenemos que probar que todos los grupos anteriores son cerrados en GLn(K). Empezemos con O n ( K ). Si definimos f : Mn ( K ) →Mn ( K )como f ( A ) = AA† , obtendremos una aplicación continua ya que cada una de sus componentes fij ( A ) = ( AA† ) ij ∈K es continua por ser un polinomio en los elementos de A (con coeficientes en K ). El conjunto {I} es cerrado en Mn ( K ), luego O n ( K ) = f−1 ( {I} ) ⊂GLn ( K ) es un cerrado en Mn(K)y por tanto cerrado en GLn(K). Para SLn(K), en vez de usar la aplicación futilizaremos det : Mn(K)→RóC. La aplicación determinante es continua porque, en el caso de R ó C , es simplemente un polinomio en los elementos de A con coeficientes en el cuerpo correspondiente. En el caso de H , tendremos que es igual a det(ψn(A)) , es decir, la composición de dos aplicaciones continuas ( ψn es continua porque cada una de sus componentes es continua por ser proyecciones) y por tanto una aplicación continua. Como { 1 } es cerrado en K , tendremos que SLn ( K ) = det−1 ( { 1 } ) ⊂GLn ( K )es cerrado en Mn ( K ) y por tanto en GLn(K). Por último, SO(n) = O(n)∩SLn(R)ySU(n) = U(n)∩SLn(C), es decir, son la intersección de dos cerrados y por tanto un cerrado. Además, también se verifica que son espacios compactos, i.e., cerrados y acotados (por estar trabajando en un espacio euclídeo).
36 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA y, al igual que antes, H0=ψ1(−1 √2i−1 √2k). Así, usando la Proposición 2.17, obtenemos en R3 (x, y, z)7→ (−1 √2i−1 √2k)(xi +yj +zk)( 1 √2i+1 √2k) = zi −yj +xk = (z, −y, x), i.e., H0 es una rotación respecto al subespacio generado por (1 , 0 , 1), el autovector asociado al autovalor 1. Esta puerta se denota en los circuitos como vemos en la Figura 2.5. H Figura 2.5. Representación en un diagrama de la puerta de Hadamard. Por último, consideramos las puertas S≡ 1 0 0i!yT≡ 1 0 0 expiπ 4!, que, aplicando los mismos pasos que antes se relacionan con S0= exp−iπ 40 0 exp−iπ 4i!= 1 √2−1 √2i0 01 √2+1 √2i! y T0= exp−iπ 80 0 exp−iπ 8expiπ 4!= cos π 8−isin π 80 0 cos π 8+isin π 8!. De esa forma, S0=ψ1(1 √2−1 √2i)yT0=ψ1(cos π 8−isin π 8), y por tanto, para S0, obtenemos como elemento de SO(3) la aplicación (x, y, z)∈R37→ (1 √2−1 √2i)(xi+yj+zk)( 1 √2+1 √2i) = xi+zj−yk = (x, z, −y)∈R3, es decir, una rotación respecto al eje xde ángulo π 2. Para T0, obtenemos (x, y, z)∈R37→(cos π 8−isin π 8)(xi +yj +zk)(cos π 8+isin π 8) = ((1 + 1 √2)x, (1 + 1 √2)z, −1 2(2 + √2)y)∈R3, es decir, una rotación respecto a eje x de ángulo π 4 . A la puerta S se le denomina la puerta de fase y a T la puerta π 8 . En los diagramas se representan como vemos en la Figura 2.6. Otro elemento importante en los circuitos, las mediciones (que introdujimos en el tercer axioma de la mecánica cuántica), se denotan como vemos en la Figura 2.7.
5. PUERTAS LÓGICAS - VARIOS QUBITS 37 S T Figura 2.6. Representación en los diagramas de las puertas SyT. Figura 2.7. Representación de una medición en un diagrama. 5. Puertas lógicas - varios qubits Pasamos ahora a las puertas en las que intervienen varios qubits. Recordemos que el espacio de estados al tener varios qubits es el producto tensor de los espacios de estados de cada uno de los qubits. Así, si tenemos dos qubits, una base del espacio de estados será {|0i⊗|0i,|0i⊗|1i,|1i⊗|0i,|1i⊗|1i}. Sin embargo, para simplificar la notación, escribiremos {|00i,|01i,|10i,|11i}. Como tenemos una base con cuatro elementos, el espacio vectorial es isomorfo a R4 y podemos escribir |00i= 1 0 0 0 ,|01i= 0 1 0 0 ,|10i= 0 0 1 0 ,|11i= 0 0 0 1 . Por otro lado, igual que con un único qubit, los operadores que actúan sobre el sistema son operadores unitarios. Veamos ahora que el producto de dos operadores unitarios que actúan sobre un único qubit es un operador unitario sobre dos qubits. Por definición [ 11 , p. 57], dados U1 , U2 operadores en un espacio de estados de un único qubit, (U1⊗U2)†=U† 1⊗U† 2. Así, tendremos que (U1⊗U2)†(U1⊗U2)=(U† 1U1)⊗(U† 2U2) = I⊗I ya que como ya vimos en (1), (A⊗B)(|ψi⊗|φi)=(A|ψi)⊗(B|φi). De esta forma, a partir de las puertas que actúan sobre un único qubit, podemos construir puertas que actúan sobre varios qubits. Sin embargo, hay algunas puertas que no se pueden expresar como producto de puertas para un solo qubit [ 11 , p. 57]. Entre estas puertas se encuentra la puerta CNOT . Esta puerta se denota en un circuito como vemos en la Figura 2.8. donde |x1i es el qubit de control y |x0i es el qubit objetivo. La representación y nomenclatura de esta puerta se debe al
38 2. LOS FUNDAMENTOS DE LA COMPUTACIÓN CUÁNTICA |x1i• |x0i Figura 2.8. Representación de la puerta CNOT en un diagrama. Antes Después Control Objetivo Control Objetivo |0i |0i |0i |0i |0i |1i |0i |1i |1i |0i |1i |1i |1i |1i |1i |0i Tabla 1. Acción de la puerta CNOT . funcionamiento de la puerta: el qubit |x1i no cambia mientras que el qubit |x0i sí se ve afectado y el cambio depende del valor de |x1i , como vemos en la Figura 2.9. |x1i•|x1i |x0i |x0⊕x1i Figura 2.9. Representación de la puerta CNOT en un diagrama. Una forma de representar la acción de esta puerta es mediante una tabla, donde se recoge la imagen de la base del espacio de Hilbert, véase la Tabla 1. Otra forma es representarla como una matriz actuando sobre R4 con la base que explicitamos antes. De esta forma, obtenemos la siguiente matriz, cuya acción coincide con la Tabla 1: UCN = 1000 0100 0001 0010 .
CAPÍTULO 3 Un par de ejemplos En este último capítulo mostraremos un par de ejemplos que nos mostrarán en primer lugar una deficiencia de la computación cuántica, el no poder hacer una copia de un qubit, y en segundo lugar una de sus fortalezas: el paralelismo cuántico. 1. Clonación, no; teletransporte, sí Empecemos probando que no es posible hacer una copia de un qubit [ 6 , p. 532]. Supongamos en primer lugar que tenemos dos qubits, uno en un estado |ψi que queremos copiar y otro qubit en un estado |si que queremos que cambie al estado |ψi. Por tanto, el estado inicial del sistema será |ψi⊗|si. Supongamos que una transformación unitaria U efectúa la acción de copiar el qubit, idealmente |ψi⊗|si 7→ U(|ψi⊗|si) = |ψi⊗|ψi. Supongamos también que funciona para dos estados concretos |ψi y |φi . Entonces tendríamos U(|ψi⊗|si) = |ψi⊗|ψi, y U(|φi⊗|si) = |φi⊗|φi. Si ahora hacemos el producto escalar de las dos ecuaciones, obtendremos usando (2) (ver [ 11 , p. 16]) y el hecho de que los operadores unitarios conservan el producto escalar, hψ|φihs|si=hψ|φi= (hψ|φi)2. Pero la ecuación x = x2 sólo tiene dos soluciones en C : x = 0 ó x = 1; así, o |ψi=|φio son ortogonales. Por tanto, si una transformación unitaria clona a un estado, tan solo puede funcionar para ese estado y todos los estados ortogonales. Es decir, es imposible conseguir un sistema de clonación que funcione en todos los casos. 39
40 3. UN PAR DE EJEMPLOS |ψi•HM1• M2• XM2ZM1|ψi |β00i Figura 3.1. Circuito de teletransportación de un qubit [6, p. 27]. Sin embargo, sí es posible “teletransportar” un qubit de un lugar a otro mediante el envío de información clásica. El circuito que permite hacer esto se puede ver en la Figura 3.1 que ahora analizaremos. Empecemos por explicar la situación. Supongamos que dos personas, Alice y Bob, tuvieron un encuentro pero ahora se encuentran separados. En dicho encuentro generaron un par de qubits en un estado EPR (también llamados estados Bell), i.e., en alguno de los siguientes estados |β00i=|00i+|11i √2, |β01i=|01i+|10i √2, |β10i=|00i−|11i √2, |β11i=|01i−|10i √2, y cada uno de ellos se llevó uno de los dos qubits. Ahora Alice quiere enviarle a Bob otro qubit |ψi , pero no sabe el estado en que se encuentra el qubit y tan solo puede enviar información clásica a Bob. Supongamos que |ψi = α|0i + β|1i y que el estado EPR que generaron era |β00i. Así, el estado inicial del sistema representado en la Figura 3.1 será1 |ψ0i=|ψi|β00i=1 √2[α|0i(|00i+|11i) + β|1i(|00i+|11i)]. Alice tiene los dos primeros qubits (las dos primeras filas del diagrama) y Bob el tercero (la última fila del diagrama). Lo primero que hace Alice es aplicar una puerta CNOT a sus qubits obteniendo |ψ1i=1 √2α|0i(|00i+|11i) + β|1i(|10i+|01i). 1Denotamos el producto tensor |ψi⊗|ψicomo |ψi |φipara simplificar la notación.
2. EL ALGORITMO DE DEUTSCH 41 A continuación, envía el qubit |ψi , que era el qubit de control en la puerta CNOT , a través de una puerta de Hadamard, obteniendo |ψ2i=1 2α(|0i+|1i)(|00i+|11i) + β(|0i−|1i)(|10i+|01i). Reescribiendo el estado obtenemos |ψ2i=1 2|00i(α|0i+β|1i) + |01i(α|1i+β|0i) +|10i(α|0i−β|1i) + |11i(α|1i−β|0i). Una vez Alice llega a este punto, el sistema se puede encontrar en cuatro estados igualmente probables: |00i(α|0i+β|1i), |01i(α|1i+β|0i), |10i(α|0i−β|1i)y |10i(α|0i−β|1i). Alice mide entonces el estado de sus dos qubits, obteniendo los resultados M1 y M2 respectivamente, y el sistema de tres qubits colapsa a uno de los cuatro estados posibles. De esta forma, cuando Alice envía a Bob el resultado de su medición, Bob sabe en cuál de los estados ( α|0i + β|1i , α|1i + β|0i , α|0i−β|1i ó α|0i−β|1i ) se encuentra su qubit, y lo único que tiene que hacer es aplicar la puerta X M2 veces y la puerta Z M1 veces para transformar su qubit al mismo estado en el que estaba |ψi, es decir, el estado α|1i+β|0i. Así, logra “teletransportar” su qubit y enviárselo a Bob únicamente enviando información clásica. Esto no contradice el principio de no clonación que veíamos antes, ya que el qubit que tenía Alice colapsa al estado |0io al estado |1i. 2. El algoritmo de Deutsch 2.1. Paralelismo cuántico. El paralelismo cuántico es una propiedad esencial utilizada por los algoritmos de la computación cuántica. A grosso modo permite evaluar una función en diferentes puntos simultáneamente, con una única operación. Tomemos por ejemplo una función f ( x ) : { 0 , 1 } → { 0 , 1 } . Al introducir esta función en un algoritmo cuántico usaremos dos qubits con estado inicial |x, yi y mediante una sucesión adecuada de puertas lógicas transformaremos dicho estado en |x, y ⊕f(x)i donde ⊕ denota la adición módulo 2[ 6 , p. 31]. Denotaremos a esta sucesión de puertas como Uf. Ahora bien, si partimos del estado |0i+|1i √2⊗|0i , que podemos obtener haciendo actuar la puerta de Hadamard sobre el qubit |0i , y aplicamos Uf (como vemos en la Figura 3.2), obtendremos el estado |0, f(0)i+|1, f(1)i √2.
42 3. UN PAR DE EJEMPLOS |0i+|1i √2 Uf |0i+|1i √2 |0i|0,f(0)i+|1,f(1)i √2 Figura 3.2. Ejemplo de Ufactuando sobre dos qubits. Observamos así que, haciendo actuar únicamente una vez a Uf , obtenemos información de f (0) y de f (1) como si los hubiésemos evaluado simultáneamente. Esto es lo que se denomina paralelismo cuántico. Podemos generalizar este proceso a un número arbitrario de qubits usando lo que se denomina la transformada de Hadamard. Básicamente consiste en aplicar la puerta de Hadamard simultáneamente a n qubits. Por ejemplo, si tenemos dos qubits en el estado |0iy hacemos la transformada de Hadamard obtendremos |0i+|1i √2|0i+|1i √2=|00i+|01i+|10i+|11i 2. Podemos resumir el resultado de la transformada de Hadamard actuando sobre n qubits en estado |0ide la siguiente forma: 1 √2nX x|xi, donde xrepresenta cada uno de los estados del sistema de nqubits. Si tenemos un sistema con n qubits a los que hemos aplicado la transformada de Hadamard y otro qubit en estado |0i , podemos aplicar algo similar a Uf y obtener así 1 √2nX x|xi|f(x)i, habiendo en cierta forma evaluado f en todos los posibles valores del sistema de n qubits. Ahora bien, en los dos ejemplos anteriores, obtuvimos un estado cuántico final combinación de las imágenes de los valores posibles de un qubit; pero no podemos obtener a partir de eso directamente dichos valores, porque el qubit nos dará al medirlo, por ejemplo en el primer caso, bien |0, f(0)i o bien |1, f(1)i . Sin embargo, sí que es posible aprovechar esta propiedad y obtener más información que f (0) o f(1). Veamos un algoritmo simple que utiliza el paralelismo cuántico para obtener en una única operación lo que en un ordenador tradicional requeriría al menos dos, mostrando así que se puede aprovechar esta propiedad y que la computación cuántica supera las posibilidades de la computación clásica. 2.2. El algoritmo de Deutsch. Retomando el circuito de la Figura 3.2, si en vez tener al segundo qubit en el estado |0i le aplicamos al estado |1i una puerta de Hadamard, obteniendo el estado inicial |0i+|1i √2⊗|0i−|1i √2 , tendremos la base del algoritmo de Deutsch, representado en la Figura 3.3.
2. EL ALGORITMO DE DEUTSCH 43 |0iH Uf H |1iH Figura 3.3. Circuito que ejecuta el algoritmo de Deutsch. Dado el estado inicial |ψ0i=|01i, obtenemos el estado |ψ1i=|0i+|1i √2|0i−|1i √2. Ahora, al aplicar Uf a |ψ1i , obtenemos una de las siguientes posibilidades [6, p. 33]. |ψ2i= ±|0i+|1i √2|0i−|1i √2si f(0) = f(1), ±|0i−|1i √2|0i−|1i √2si f(0) 6=f(1). Al aplicar por último la puerta de Hadamard al primer qubit, tenemos |ψ3i= ±|0i|0i−|1i √2si f(0) = f(1), ±|1i|0i−|1i √2si f(0) 6=f(1). Llegados a este punto, nos encontramos con que f (0) ⊕f (1) es 0si f (0) = f (1) y es 1en otro caso, por lo que podemos escribir |ψ3icomo |ψ3i=±|f(0) ⊕f(1)i|0i−|1i √2, de forma que al medir el primer qubit, obtendremos el valor de f(0) ⊕f(1). La importancia de este algoritmo es que obtenemos f (0) ⊕f (1) evaluando f mediante Uf únicamente una vez. Y aquí es donde radica el potencial de la computación cuántica y lo que la convierte en un paradigma totalmente diferente al de la computación clásica, aportando nuevos algoritmos que permiten superar las capacidades de los ordenadores tradicionales.
Bibliografía [1] Scott Aaronson, Quantum computing since Democritus, Cambridge University Press, 2013. [2] Sheldon Axler, Linear algebra done right, Springer, Cham, 2015. [3] M. L. Curtis, Matrix groups, Springer-Verlag New York, 1984. [4] Brian C. Hall, Quantum theory for mathematicians, Springer-Verlag New York, 2013. [5] David W. Lyons, An elementary introduction to the Hopf fibration, Mathematics Magazine 76 (2003Apr), no. 2, 87–98. [6] Michael A. Nielsen and Isaac L. Chuang, Quantum computation and quantum information, Cambridge University Press, 2000. [7] Eleanor Rieffel and Wolfgang Polak, Quantum computing: A gentle introduction, The MIT Press, 2011. [8] Kristopher Tapp, Matrix groups for undergraduates, Second edition, American Mathematical Society, 2016. [9] B. L. van der Waerden, Hamilton’s discovery of quaternions, Mathematics Magazine 49 (1976Nov.), no. 5, 227–234. [10] Yung-Chow Wong and Yik-Hoi Au-Yeung, An elementary and simple proof of the connectedness of the classical groups, The American Mathematical Monthly 74 (1967Oct.), no. 8, 964–966. [11] Bernard Zygelman, A first introduction to quantum computing and information, Springer, Cham, 2018. 45