Qubits

Qubits

Un qubits es un sistema cuántico con dos estados propios y que puede ser manipulado arbitrariamente

Solo puede ser descrito correctamente mediante la mecánica cuántica, y solamente tiene dos estados bien distinguibles mediante medidas físicas

También se entiende por qubits la información que contiene ese sistema cuántico de dos estados posibles

En esta acepción, el qubits es la unidad mínima y por lo tanto constitutiva de la teoría de la información cuántica

Es un concepto fundamental para la programación cuántica y para la criptografía cuántica, el análogo cuántico del bit en informática

Estos qubits ya no toman simplemente valores enteros (0 ó 1)

Sino que ahora son representados por entidades matemáticas llamadas vectores de estado |\psi\succ

Que vamos a representar usando la notación de Dirac:

\begin{matrix} |0\succ&=\binom{1}{0}\\ |1\succ&=\binom{0}{1} \end{matrix}

Que define los estados base de un qubit

Como vector, el estado |\psi\succ de cada qubit pertenece a un espacio vectorial particular llamado espacio de Hilbert

Físicamente, podemos medir el estado |\psi\succ en dos estados básicos ortogonales, que por convención se llaman |0\succ y |1\succ

Esto implica que el espacio de Hilbert es de 2 dimensiones

Por lo que se pueden elegir los vectores \left \{ |0\succ, 1\succ \right \} como base del espacio vectorial

De esta forma, cualquier vector de estado |\psi\succ de un qubit es una combinación lineal de los vectores base (que en el lenguaje de la mecánica cuántica se llama estado de superposición cuántica)

|\psi\succ=\alpha|0\succ+\beta|1\succ

Que define la combinación lineal de los estados base de un qubit

El espacio de Hilbert de cada qubit es un espacio complejo

Esto quiere decir que \alpha y \beta son números complejos

Además, no pueden tomar cualquier valor

Deben cumplir que:

\left\|\alpha\right\|^{2}+\left\|\beta\right\|^{2}=1

Es decir, que el vector de estado de un qubit |\psi\succ está normalizado, (su norma es igual a 1)

Puertas cuánticas

Las puertas cuánticas son transformaciones lineales entre los vectores de estado |\psi\succ

Pero no sirve realizar cualquier transformación lineal

Sólo pueden ser consideradas las transformaciones que no cambien la norma del vector |\psi\succ

Aquellas que tomen un vector cuya norma sea 1 y lo conviertan en otro vector de norma igual a 1

Este tipo de transformaciones se llaman Transformaciones unitarias, o en el lenguaje de la mecánica cuántica, Operadores Unitarios

Por lo tanto, las puertas cuánticas son operadores unitarios

Los operadores unitarios pueden ser representados como matrices

La aplicación de un operador unitario A a un vector de estado |b\succ, puede ser representada como una multiplicación de una matriz de 2x2 por un vector columna, dando como resultado otro vector columna

\begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix} \cdot \begin{pmatrix} b_{1}\\ b_{2} \end{pmatrix} = \begin{pmatrix} c_{1}\\ c_{2} \end{pmatrix}

Puertas cuánticas de un qubit en Qiskit

Qiskit es una herramienta creada por IBM para desarrollar software para procesadores cuánticos

Está implementado en el lenguaje de programación Python, y disponible para que el público en general para empezar a experimentar y probar nuestros algoritmos

A continuación voy a representar las puertas cuánticas más utilizadas que se aplican a un qubit, así como su representación matricial y su forma de implementarla en Qiskit

Para saber como instalar Qiskit en tu ordenador, puedes revisarlo en su documentación

Puerta Identidad

La puerta identidad representa a la matriz identidad y se llama así porque representa a la aplicación identidad que va de un espacio vectorial de dimensión finita a sí misma

I=\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}

Y cuya representación en notación de Dirac es:

\begin{matrix} I|0\succ=|0\succ\\ I|1\succ=|1\succ \end{matrix}

Código Qiskit de la puerta identidad:

Matrices de Pauli

Las matrices de Pauli, deben su nombre a Wolfgang Ernst Pauli

Son matrices usadas en física cuántica en el contexto del momento angular intrínseco o espín

Matemáticamente, las matrices de Pauli constituyen una base vectorial del álgebra de Lie del grupo especial unitario SU\left(2\right), actuando sobre la representación de dimensión 2

Puerta X (matriz X de Pauli)

I=\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}

Y cuya representación en notación de Dirac es:

\begin{matrix} I|0\succ=|1\succ\\ I|1\succ=|0\succ \end{matrix}

Código Qiskit de la puerta X:

Puerta Y (matriz Y de Pauli)

I=\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}

Y cuya representación en notación de Dirac es:

\begin{matrix} I|0\succ=i|1\succ\\ I|1\succ=-i|0\succ \end{matrix}

Código Qiskit de la puerta Y:

Puerta Z (matriz Z de Pauli)

I=\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}

Y cuya representación en notación de Dirac es:

\begin{matrix} I|0\succ=|0\succ\\ I|1\succ=|-1\succ \end{matrix}

Código Qiskit de la puerta Z:

Puerta Hadamard

La puerta de Hadamard, deben su nombre a Jacques Salomon Hadamard

No son más que la representación de un qubit de la transformada cuántica de Fourier

Como las filas de la matriz son ortogonales, dónde {\displaystyle H} es una matriz unitaria

H=\frac{1}{\sqrt{2}}\cdot \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

Y cuya representación en notación de Dirac es:

\begin{matrix} H|0\succ=\frac{1}{\sqrt{2}}\cdot \left(|0\succ+|1\succ\right)\\ H|1\succ=\frac{1}{\sqrt{2}}\cdot \left(|0\succ-|1\succ\right) \end{matrix}

Código Qiskit de la puerta H:

Puertas U (Universales)

En versiones anteriores de qiskit existían las denominadas puertas U1, U2 y U3

Pero estas puertas han desaparecido en versiones posteriores de qiskit

Se pueden construir con puertas P y U mediante las siguientes equivalencias:

\left\{\begin{matrix} U_{1}\left(\lambda\right)=P\left(\lambda\right)\\ U_{2}\left(\Phi,\lambda\right)=U\left(\Phi,\lambda,\frac{\pi}{2}\right)\\ U_{3}\left(\theta,\Phi,\lambda\right)=U\left(\theta,\Phi,\lambda\right) \end{matrix}\right.

Se define como

U\left(\theta,\Phi,\lambda\right)= \begin{pmatrix} \cos{\frac{\theta}{2}} & -\exp^{i\cdot\lambda}\cdot\sin{\frac{\theta}{2}} \\ \exp^{i\cdot\Phi}\cdot\sin{\frac{\theta}{2}} & \exp^{i\cdot\left(\Phi+\lambda\right)}\cdot\cos{\frac{\theta}{2}} \end{pmatrix}

Hay dos casos específicos en los que obtenemos las siguientes equivalencias:

\left\{\begin{matrix} H=U\left(\frac{\pi}{2},0,\pi\right)= \frac{1}{\sqrt{2}}\cdot \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\\ P=U\left(0,0,\lambda\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\lambda} \end{pmatrix} \end{matrix}\right.

Puerta P

P\left(\Phi\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\Phi} \end{pmatrix}

Código Qiskit de la puerta P:

Puerta U1

U_{1}\left(\lambda\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\lambda} \end{pmatrix} =P\left(\lambda\right)

Código Qiskit de la puerta U1 en versiones anteriores:

Puerta U2

U_{2}\left(\Phi,\lambda\right)= \frac{1}{\sqrt{2}}\cdot\begin{pmatrix} 1 & -\exp^{i\cdot\lambda} \\ \exp^{i\cdot\Phi} & \exp^{i\cdot\left(\Phi+\lambda\right)} \end{pmatrix} =U\left(\Phi,\lambda,\frac{\pi}{2}\right)

Código Qiskit de la puerta U2 en versiones anteriores:

Puerta U3

U_{3}\left(\theta,\Phi,\lambda\right)= \begin{pmatrix} \cos{\frac{\theta}{2}} & -\exp^{i\cdot\lambda}\cdot\sin{\frac{\theta}{2}} \\ \exp^{i\cdot\Phi}\cdot\sin{\frac{\theta}{2}} & \exp^{i\cdot\left(\Phi+\lambda\right)}\cdot\cos{\frac{\theta}{2}} \end{pmatrix} =U\left(\theta,\Phi,\lambda\right)

Código Qiskit de la puerta U3 en versiones anteriores:

Puerta S

Da un cuarto de vuelta alrededor de la esfera de Bloch

Se define como \Phi =\frac{\pi}{2} y por esa razón es equivalente a una puerta U_{1}\left(\frac{\pi}{2}\right)

S= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{2}} \end{pmatrix} = U_{1}\left(\frac{\pi}{2}\right)

Y cuya representación en notación de Dirac es:

SS|q\succ=\mathbb{Z}|q\succ

Código Qiskit de la puerta S:

Puerta S

Surge a partir de una puerta S negativa

Se define como \Phi =-\frac{\pi}{2} y por esa razón es equivalente a una puerta U_{1}\left(\frac{-pi}{2}\right)

S= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{-i\cdot\frac{\pi}{2}} \end{pmatrix} = U_{1}\left(\frac{-pi}{2}\right)

Código Qiskit de la puerta S:

Puerta T

Es similar a la puerta S y también es conocida como la puerta \sqrt[4]{\mathbb{Z}}

Se define como \Phi =\frac{\pi}{4} y por esa razón es equivalente a una puerta U_{1}\left(\frac{\pi}{4}\right)

T= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{4}} \end{pmatrix} = U_{1}\cdot\left(\frac{\pi}{4}\right)

Código Qiskit de la puerta T:

Puerta T

Surge a partir de una puerta T negativa

Se define como \Phi =-\frac{\pi}{4} y por esa razón es equivalente a una puerta U_{1}\left(\frac{-\pi}{4}\right)

T= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{4}} \end{pmatrix} = U_{1}\cdot\left(\frac{-\pi}{4}\right)

Código Qiskit de la puerta T:

Puertas de rotación estándar

Estas puertas representan un tipo particular de rotación, derivadas de las matrices de Pauli

De manera general se definen como:

R_{p}\left(\theta\right)=\exp\left(-\frac{i\cdot\theta}{2}\right)=\cos\left(\frac{\theta}{2}\right)\cdot I-i\cdot \sin\left(\frac{\theta}{2}\right)\cdot P

Puerta Rx (Rotación estándar alrededor del eje-x)

La Puerta Rx es equivalente a U\left(\theta,\frac{-\pi}{2},\frac{\pi}{2}\right)

R_{x}\left(\theta\right)= \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & -i\cdot\sin\left(\frac{\theta}{2}\right) \\ -i\cdot\sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right) \end{pmatrix} = U\left(\theta,\frac{-\pi}{2},\frac{\pi}{2}\right)

Código Qiskit de la puerta Rx:

Puerta Ry (Rotación estándar alrededor del eje-y)

La Puerta Ry es equivalente a U\left(\theta,0,0\right)

R_{y}\left(\theta\right)= \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & -\sin\left(\frac{\theta}{2}\right) \\ \sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right) \end{pmatrix} = U\left(\theta,0,0\right)

Código Qiskit de la puerta Ry:

Puerta Rz (Rotación estándar alrededor del eje-z)

La Puerta Rz es equivalente a P\left(\phi\right)

R_{z}\left(\phi\right)= \begin{pmatrix} \exp^{-i\cdot \frac{\phi}{2}} & 0 \\ 0 & \exp^{i\cdot \frac{\phi}{2}}\end{pmatrix} = P\left(\phi\right)

Código Qiskit de la puerta Rz: