Path: blob/main/translations/es/ch-states/single-qubit-gates.ipynb
3858 views
Compuertas de un Solo Qubit
En la sección anterior, analizamos todos los estados posibles en los que podría estar un qubit. Vimos que los qubits pueden representarse mediante vectores 2D y que sus estados se limitan a la forma:
Donde y son números reales. En esta sección, cubriremos las compuertas, las operaciones que cambian un qubit entre estos estados. Debido a la cantidad de compuertas y las similitudes entre ellas, este capítulo corre el riesgo de convertirse en una lista. Para contrarrestar esto, hemos incluido algunas digresiones para introducir ideas importantes en lugares apropiados a lo largo del capítulo.
En Los Átomos de la Computación nos encontramos con algunas compuertas y las usamos para realizar un cálculo clásico. Una característica importante de los circuitos cuánticos es que, entre inicializar los qubits y medirlos, ¡las operaciones (compuertas) son siempre reversibles! Estas compuertas reversibles se pueden representar como matrices, y como rotaciones alrededor de la esfera de Bloch.
1. Las Compuertas de Pauli
Debes estar familiarizado con las matrices de Pauli de la sección de álgebra lineal. Si alguna de las matemáticas aquí es nueva para ti, debes usar la sección de álgebra lineal para ponerte al día. Veremos aquí que las matrices de Pauli pueden representar algunas compuertas cuánticas de uso muy común.
1.1 La Compuerta X
La compuerta X está representada por la matriz de Pauli X:
Para ver el efecto que tiene una compuerta en un qubit, simplemente multiplicamos el vector de estado del qubit por la compuerta. Podemos ver que la compuerta X intercambia las amplitudes de los estados y :
Recordatorios
En computación cuántica, podemos escribir nuestras matrices en términos de vectores base:
A veces, esto puede ser más claro que usar una matriz como caja, ya que podemos ver los resultados de las diferentes multiplicaciones:
De hecho, cuando vemos un ket y un bra multiplicados como esto:
esto se llama el producto externo, que sigue la regla:
Podemos ver que esto da como resultado la matriz X como se ve arriba:
En Qiskit, podemos crear un cortocircuito para verificar esto:
Veamos el resultado del circuito anterior. Nota: Aquí usamos plot_bloch_multivector(), que toma el vector de estado de un qubit en lugar del vector de Bloch.
De hecho, podemos ver que el estado del qubit es como se esperaba. Podemos pensar en esto como una rotación de radianes alrededor del eje x de la esfera de Bloch. La compuerta X también se denomina a menudo compuerta NOT, en referencia a su análogo clásico.
1.2 Las compuertas Y y Z
De manera similar a la compuerta X, las matrices Y y Z de Pauli también actúan como compuertas Y y Z en nuestros circuitos cuánticos:
Y, como era de esperar, también realizan respectivamente rotaciones de [[||]] alrededor de los ejes y y z de la esfera de Bloch.
A continuación hay un widget que muestra el estado de un qubit en la esfera de Bloch, al presionar uno de los botones se realizará la compuerta en el qubit:
En Qiskit, podemos aplicar las compuertas Y y Z a nuestro circuito usando:
Recordatorios
También puedes notar que la compuerta Z parece no tener efecto en nuestro qubit cuando está en cualquiera de estos dos estados. Esto se debe a que los estados y son los dos estados propios de la compuerta Z. De hecho, la base computacional (la base formada por los estados y ) suele denominarse base Z. Esta no es la única base que podemos usar, una base popular es la base X, formada por los estados propios de la compuerta X. Llamamos a estos dos vectores y :
Otra base menos utilizada es la formada por los estados propios de la compuerta Y. Estos se llaman:
Dejamos como ejercicio el cálculo de estos. De hecho, hay un número infinito de bases; para formar una, simplemente necesitamos dos vectores ortogonales. Los vectores propios de las matrices unitarias y Hermitianas forman una base para el espacio vectorial. Debido a esta propiedad, podemos estar seguros de que los estados propios de la compuerta X y la compuerta Y forman una base para los estados de 1 qubit (lee más sobre esto en la página de álgebra lineal en el apéndice)
Ejercicios Rápidos
Verifica que y sean de hecho estados propios de la compuerta X.
¿Qué valores propios tienen?
Encuentra los estados propios de la compuerta Y y sus coordenadas en la esfera de Bloch.
Usando solo las compuertas de Pauli, es imposible mover nuestro qubit inicializado a cualquier estado que no sea o , es decir, no podemos lograr la superposición. Esto significa que no podemos ver un comportamiento diferente al de un bit clásico. ¡Para crear estados más interesantes, necesitaremos más compuertas!
3. La Compuerta Hadamard
La compuerta de Hadamard (compuerta H) es una compuerta cuántica fundamental. Nos permite alejarnos de los polos de la esfera de Bloch y crear una superposición de y . Tiene la matriz:
Podemos ver que esto realiza las siguientes transformaciones:
Esto se puede considerar como una rotación alrededor del vector de Bloch [1,0,1] (la línea entre los ejes x y z), o como una transformación del estado del qubit entre las bases X y Z.
Puedes jugar con estas compuertas usando el siguiente widget:
Ejercicio Rápido
Escribe la compuerta H como los productos externos de los vectores , , y .
Muestra que aplicar la secuencia de compuertas: HZH, a cualquier estado de qubit es equivalente a aplicar una compuerta X.
Encuentra una combinación de compuertas X, Z y H que sea equivalente a una compuerta Y (ignorando la fase global).
4. Digresión: Medir en Diferentes Bases
Hemos visto que el eje Z no es intrínsecamente especial y que hay infinitas otras bases. De manera similar, con la medición, no siempre tenemos que medir en la base computacional (la base Z), podemos medir nuestros qubits en cualquier base.
Como ejemplo, intentemos medir en la base X. Podemos calcular la probabilidad de medir o :
Y después de la medición, la superposición se destruye. Dado que Qiskit solo permite medir en la base Z, debemos crear la nuestra usando compuertas Hadamard:
En los ejercicios rápidos anteriores, vimos que podías crear una compuerta X intercalando nuestra compuerta Z entre dos compuertas H:
Comenzando en la base Z, la compuerta H cambia nuestro qubit a la base X, la compuerta Z realiza un NOT en la base X y la compuerta H final devuelve nuestro qubit a la base Z. Podemos verificar que esto siempre se comporta como una compuerta X multiplicando las matrices:
$$ HZH = \tfrac{1}{\sqrt{2}} \tfrac{1}{\sqrt{2}}
Siguiendo la misma lógica, hemos creado una medición en X al transformar la base X a la base Z antes de nuestra medición. Dado que el proceso de medición puede tener diferentes efectos según el sistema (por ejemplo, algunos sistemas siempre devuelven el qubit a después de la medición, mientras que otros pueden dejarlo como el estado medido), el estado del qubit posterior a la medición no está definido y debemos restablecerlo si queremos usarlo nuevamente.
Hay otra forma de ver por qué la compuerta Hadamard nos lleva de la base Z a la base X. Supongamos que el qubit que queremos medir en la base X está en el estado (normalizado) . Para medirlo en la base X, primero expresamos el estado como una combinación lineal de y . Usando las relaciones y , el estado se convierte en . Observa que las amplitudes de probabilidad en la base X se pueden obtener aplicando una matriz Hadamard sobre el vector de estado expresado en la base Z.
Veamos ahora los resultados:
Inicializamos nuestro qubit en el estado , pero podemos ver que, después de la medición, colapsamos nuestro qubit en el estado . Si vuelves a ejecutar la celda, verás el mismo resultado, ya que a lo largo de la base X, el estado es un estado base y medirlo a lo largo de X siempre arrojará el mismo resultado.
Ejercicios Rápidos
Si inicializamos nuestro qubit en el estado , ¿cuál es la probabilidad de medirlo en el estado ?
Usa Qiskit para mostrar la probabilidad de medir un qubit en los estados y (Sugerencia: es posible que desees usar
.get_counts()yplot_histogram()).Intenta crear una función que mida en la base Y.
Medir en diferentes bases nos permite ver el famoso principio de incertidumbre de Heisenberg en acción. Tener la certeza de medir un estado en la base Z elimina toda certeza de medir un estado específico en la base X, y viceversa. Un error común es que la incertidumbre se debe a los límites de nuestro equipo, pero aquí podemos ver que la incertidumbre es en realidad parte de la naturaleza del qubit.
Por ejemplo, si ponemos nuestro qubit en el estado , nuestra medición en la base Z seguramente será , ¡pero nuestra medición en la base X es completamente aleatoria! De manera similar, si ponemos nuestro qubit en el estado , nuestra medición en la base X seguramente será , pero ahora cualquier medición en la base Z será completamente aleatoria.
En términos más generales: Cualquiera que sea el estado en el que se encuentre nuestro sistema cuántico, siempre hay una medición que tiene un resultado determinista.
La introducción de la compuerta H nos ha permitido explorar algunos fenómenos interesantes, pero todavía estamos muy limitados en nuestras operaciones cuánticas. Introduzcamos ahora un nuevo tipo de compuerta:
5. La compuerta P
La compuerta P (compuerta de fase) está parametrizada, es decir, necesita un número () para decirle exactamente qué hacer. La compuerta P realiza una rotación de alrededor de la dirección del eje Z. Tiene la forma matricial:
Donde es un número real.
Puedes usar el widget a continuación para jugar con la compuerta P, especifica usando el control deslizante:
En Qiskit, especificamos una compuerta P usando p(phi, qubit):
Puedes notar que la compuerta Z es un caso especial de la compuerta P, con . De hecho, hay tres compuertas a las que se hace referencia más comúnmente que mencionaremos en este capítulo, todas las cuales son casos especiales de la compuerta P:
6. Las compuertas I, S y T
6.1 La compuerta I
Primero viene la compuerta I (también conocida como ‘Id-gate’ o ‘compuerta identidad’). Esta es simplemente una compuerta que no hace nada. Su matriz es la matriz identidad:
La aplicación de la compuerta identidad en cualquier lugar de tu circuito no debería tener ningún efecto en el estado del qubit, por lo que es interesante que incluso se considere una compuerta. Hay dos razones principales detrás de esto, una es que a menudo se usa en cálculos, por ejemplo: probar que la compuerta X es su propio inverso:
La segunda, es que a menudo es útil cuando se considera hardware real para especificar una operación de ‘hacer nada’ o ‘ninguno’.
Ejercicio Rápido
¿Cuáles son los estados propios de la compuerta I?
6.2 Las compuertas S
La siguiente compuerta a mencionar es la compuerta S (a veces conocida como compuerta ), esta es una compuerta P con . Da un cuarto de vuelta alrededor de la esfera de Bloch. Es importante tener en cuenta que, a diferencia de todas las compuertas presentadas en este capítulo hasta ahora, ¡la compuerta S no es su propio inverso! Como resultado, a menudo verás la compuerta S† (también compuerta “S-dagger”, “Sdg” o ). La compuerta S† es claramente una compuerta P con :
El nombre "compuerta " se debe al hecho de que dos compuertas S aplicadas sucesivamente tienen el mismo efecto que una compuerta Z:
Esta notación es común en toda la computación cuántica.
Para agregar una compuerta S en Qiskit:
Puedes usar el widget a continuación para jugar con todas las compuertas presentadas en este capítulo hasta ahora:
7. La compuerta U
Como vimos anteriormente, las compuertas I, Z, S y T eran todas casos especiales de la compuerta P más general. De la misma manera, la compuerta U es la más general de todas las compuertas cuánticas de un solo qubit. Es una compuerta parametrizada de la forma:
Cada compuerta en este capítulo podría especificarse como , pero es inusual ver esto en un diagrama de circuito, posiblemente debido a la dificultad para leerlo.
Como ejemplo, vemos algunos casos específicos de la compuerta U en los que es equivalente a la compuerta H y la compuerta P respectivamente.
Debería ser obvio a partir de esto que hay un número infinito de compuertas posibles, y que esto también incluye las compuertas Rx y Ry, aunque no se mencionan aquí. También se debe tener en cuenta que no hay nada especial en la base Z, excepto que se ha seleccionado como la base de cálculo estándar. Qiskit también proporciona el equivalente X de las compuertas S y Sdg, es decir, las compuertas SX y SXdg respectivamente. Estas compuertas dan un cuarto de vuelta con respecto al eje X alrededor de la esfera del Bloch y son un caso especial de la compuerta Rx.
Antes de ejecutar en hardware cuántico real de IBM, todas las operaciones de un solo qubit se compilan en , , y . Por este motivo, a veces se denominan compuertas físicas.
8. Recursos adicionales
Puedes encontrar una hoja de trucos creada por la comunidad con algunas de las compuertas cuánticas comunes y sus propiedades aquí.