top of page
Buscar
  • Foto del escritorRubén Martínez Sánchez

4. Computación Cuántica con Qiskit (Parte 4)

Actualizado: 31 dic 2019

En el segundo artículo de esta serie se comentaba que las amplitudes de probabilidad son

números complejos en contraposición con los números reales positivos que se emplean en

Computación Clásica.


Superposición y números complejos


Los números complejos tiene la forma de a + bi donde ‘a’ es la ​ parte real ​ y ‘bi’ es la ​ parte

imaginaria ​ siendo ‘a’ y ‘b’ números reales positivos o negativos e ‘i’ se corresponde con el

número imaginario de forma que i = √− 1 (ya que no tenemos números reales que después de elevarlos al cuadrado sigan siendo negativos, por lo que no podremos volver hacia atrás

haciendo la raíz cuadrada).


Los números complejos permiten representar coordenadas en un plano de manera que la parte real se asociará al eje X y la parte imaginaria con el eje Y. Por lo que sumar en la parte real supondrá movernos hacia la derecha, restar en la parte real movernos hacia la izquierda, sumar en la parte imaginaria nos permitirá desplazarnos hacia arriba y restar en la parte imaginaria supondrá movernos hacia abajo en el plano.


Suma / Resta de Números Complejos


(7 + 3i) + (3 - 5i) = (10 -2i)


Multiplicación de Números Complejos


(7 + 3i) * (3 -5i) =

7 * 3 + 7 * (-5i) + 3i * 3 + 3i * (-5i) =

21 + (-35i) + 9i + (-15 i^2) =

21 -26i -15*(-1) =

36 - 26i


La razón por la que i^2 simplifica a (-1) es porque i = √− 1 .


División de Números Complejos

Para realizar la división de números complejos hay que introducir el concepto de ​ conjugada de números complejos, ​ que consiste en cambiar el signo a la parte imaginaria. Por ejemplo la conjugada del número complejo (a + bi) será (a - bi). Multiplicar un número complejo por su conjugada supone que los términos centrales se cancelan:


(a + bi) * (a - bi) = a^2 − a bi + abi − (bi)^2


Para realizar la división de números complejos multiplicaremos al numerador y al denominador por la conjugada del denominador:


(7 + 3i) / (3 - 5i) = ((7 + 3i) * (3 + 5i)) / ((3 - 5i) * (3 + 5i))


Para comprobar la utilidad de emplear números complejos vamos a realizar un circuito cuántico que aplique una rotación ‘​ ry​ ’ de 90o pero ahora al ket |1>.


Hemos visto que todo qubit comienza inicializado en el estado ket |0> por lo que tendremos que aplicar la puerta cuántica ‘​ x ​ ’ (que se correspondería con una puerta lógica NOT) sobre el qubit para que pase a estar en estado |1>.


La puerta cuántica ‘x’ se corresponderá con la matriz:





Una vez que el qubit se encuentre en el |1> aplicaremos la puerta ‘ry’ con un ángulo de 90o

para realizar dicha rotación:













En el tercer artículo de esta serie se aplicó la puerta ‘x’ sobre el qubit en el estado |0> y el

resultado fue:












Se puede comprobar que cuando se aplica la rotación ‘ry’ sobre el ket |1> el resultado es

similar al anterior pero con signo opuesto, por lo que tendremos una amplitud de probabilidad negativa. El estado obtenido será:



La utilidad de disponer de números complejos para representar las amplitudes de probabilidad de los estados cuánticos se hace patente cuando se comprueba que el signo negativo del ket |0> anterior no puede observarse al realizar la medición de las estadísticas de la ejecución del circuito cuántico. Para obtener dichas estadísticas de las frecuencias de cada resultado se ha empleado el backend ‘qasm_simulator’:



















Se puede comprobar que prácticamente se han producido el mismo número de caras (‘0s’) que de cruces (‘1s’). La utilización de números complejos permite modelar un fenómeno de

mecánica cuántica conocido como ‘​ interferencia​ ’ según el cual las amplitudes de probabilidad puede interactuar unas veces constructiva y otras destructivamente. Una forma de comprobarlo es aplicar sobre un qubit en el estado |0> dos rotaciones ‘ry’ consecutivas de 90º. Al realizarlo obtendremos el ket |1> aunque durante el proceso hubo cierta superposición.


El código para realizar este experimento en el que se realizarán 50 ejecuciones del circuito

cuántico sobre el backend ‘qasm_simulator’ y se obtendrá el histograma de los resultados es el siguiente:



















En próximos artículos seguiremos avanzando tratando más propiedades presentes en

mecánica cuántica como por ejemplo el ​ ‘Entanglement’​ y viendo cómo implementarlas

empleando el framework Qiskit.

0 visualizaciones0 comentarios

Entradas recientes

Ver todo
bottom of page