Este artículo se centra en un conjunto específico de puertas que actúan sobre el eje X X X .
Primero se explorará la puerta Pauli-X , luego la puerta RotX que la generaliza y, por último, se hace mención a su variante condicional .
La puerta NOT cuántica, tambien conocida como Pauli-X (o simplemente X ) nombrada por el físico Wolfgang Pauli , funciona como la puerta NOT lógica en los casos de que los cubits sean 0 o 1, pero difiere en estados de superposición.
El nombre X X X deriva de la funcionalidad de la misma, ya que la aplicación de la puerta implica una rotación de π \pi π radianes (o 180 grados) a través del eje x x x de la esfera de Bloch.
En forma de matriz se ve de la siguiente manera:
X = [ 0 1 1 0 ] X=\begin{bmatrix}
0&1\\
1&0\\
\end{bmatrix}
X = [ 0 1 1 0 ]
La versión general de la aplicación de la puerta es la siguiente:
[ 0 1 1 0 ] [ α β ] = [ 0 1 1 0 ] α [ 1 0 ] + [ 0 1 1 0 ] β [ 0 1 ] = [ β α ] \begin{bmatrix}
0&1\\
1&0\\
\end{bmatrix}
\begin{bmatrix}
\alpha\\
\beta
\end{bmatrix}=
\begin{bmatrix}
0&1\\
1&0\\
\end{bmatrix}
\alpha
\begin{bmatrix}
1\\
0
\end{bmatrix}+
\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}
\beta
\begin{bmatrix}
0\\
1
\end{bmatrix}
=
\begin{bmatrix}
\beta\\
\alpha
\end{bmatrix}
[ 0 1 1 0 ] [ α β ] = [ 0 1 1 0 ] α [ 1 0 ] + [ 0 1 1 0 ] β [ 0 1 ] = [ β α ]
Por lo que intercambia las amplitudes entre los estados base ∣ 0 ⟩ \ket{0} ∣ 0 ⟩ y ∣ 1 ⟩ \ket{1} ∣ 1 ⟩ .
La puerta r t r^t r t genera un estado aleatorio que cambia según el tiempo. El resultado de aplicar la puerta X X X es el intercambio de amplitudes.
A continuación se detallarán las pruebas matemáticas de las conversiones de un estado base a otro utilizando la puerta NOT cuántica.
X ∣ 0 ⟩ = [ 0 1 1 0 ] [ 1 0 ] = [ 0 1 ] = ∣ 1 ⟩ \begin{align}
X\ket{0}&=\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
1\\
0
\end{bmatrix}\\
&=\begin{bmatrix}
0\\
1
\end{bmatrix}=\ket{1}
\end{align}
X ∣ 0 ⟩ = [ 0 1 1 0 ] [ 1 0 ] = [ 0 1 ] = ∣ 1 ⟩ X ∣ 1 ⟩ = [ 0 1 1 0 ] [ 0 1 ] = [ 1 0 ] = ∣ 0 ⟩ \begin{align}
X\ket{1}&=\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
0\\
1
\end{bmatrix}\\
&=\begin{bmatrix}
1\\
0
\end{bmatrix}=\ket{0}
\end{align}
X ∣ 1 ⟩ = [ 0 1 1 0 ] [ 0 1 ] = [ 1 0 ] = ∣ 0 ⟩ X ∣ + ⟩ = [ 0 1 1 0 ] 1 2 ( [ 1 0 ] + [ 0 1 ] ) = 1 2 ( [ 0 1 1 0 ] [ 1 0 ] + [ 0 1 1 0 ] [ 0 1 ] ) = 1 2 ( [ 0 1 ] + [ 1 0 ] ) = 1 2 ( ∣ 1 ⟩ + ∣ 0 ⟩ ) = 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) = ∣ + ⟩ \begin{align}
X\ket{+}&=\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
1\\
0
\end{bmatrix}+\begin{bmatrix}
0\\
1
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
1\\
0
\end{bmatrix}+\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
0\\
1
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
0\\
1
\end{bmatrix}+
\begin{bmatrix}
1\\
0
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}(\ket{1}+\ket{0})\\
&=
\frac{1}{\sqrt{2}}(\ket{0}+\ket{1})=\ket{+}
\end{align}
X ∣ + ⟩ = [ 0 1 1 0 ] 2 1 ( [ 1 0 ] + [ 0 1 ] ) = 2 1 ( [ 0 1 1 0 ] [ 1 0 ] + [ 0 1 1 0 ] [ 0 1 ] ) = 2 1 ( [ 0 1 ] + [ 1 0 ] ) = 2 1 ( ∣ 1 ⟩ + ∣ 0 ⟩ ) = 2 1 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) = ∣ + ⟩ X ∣ − ⟩ = [ 0 1 1 0 ] 1 2 ( [ 1 0 ] − [ 0 1 ] ) = 1 2 ( [ 0 1 1 0 ] [ 1 0 ] − [ 0 1 1 0 ] [ 0 1 ] ) = 1 2 ( [ 0 1 ] − [ 1 0 ] ) = 1 2 ( ∣ 1 ⟩ − ∣ 0 ⟩ ) = 1 2 ( − ∣ 0 ⟩ + ∣ 1 ⟩ ) = 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) = ∣ − ⟩ \begin{align}
X\ket{-}&=\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
1\\
0
\end{bmatrix}-\begin{bmatrix}
0\\
1
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
1\\
0
\end{bmatrix}-\begin{bmatrix}
0&1\\
1&0
\end{bmatrix}\begin{bmatrix}
0\\
1
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}\left(\begin{bmatrix}
0\\
1
\end{bmatrix}-
\begin{bmatrix}
1\\
0
\end{bmatrix}\right)\\
&=
\frac{1}{\sqrt{2}}(\ket{1}-\ket{0})\\
&=
\frac{1}{\sqrt{2}}(-\ket{0}+\ket{1})\\
&=
\frac{1}{\sqrt{2}}(\ket{0}-\ket{1})=\ket{-}
\end{align}
X ∣ − ⟩ = [ 0 1 1 0 ] 2 1 ( [ 1 0 ] − [ 0 1 ] ) = 2 1 ( [ 0 1 1 0 ] [ 1 0 ] − [ 0 1 1 0 ] [ 0 1 ] ) = 2 1 ( [ 0 1 ] − [ 1 0 ] ) = 2 1 ( ∣ 1 ⟩ − ∣ 0 ⟩ ) = 2 1 ( − ∣ 0 ⟩ + ∣ 1 ⟩ ) = 2 1 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) = ∣ − ⟩ Los últimos dos pasos se cumplen por quitar como factor el negativo y obviando la fase global.
Aplicando X X X en ∣ 0 ⟩ \ket{0} ∣ 0 ⟩ :
→ X \overset{X}{\rightarrow} → X
Aplicando X X X en ∣ 1 ⟩ \ket{1} ∣ 1 ⟩ :
→ X \overset{X}{\rightarrow} → X
Aplicando X X X en un estado general:
→ X \overset{X}{\rightarrow} → X
from qiskit import QuantumCircuit
qc. x ( 0 ) # aplica la puerta X al qubit 0
Es la generalización de la puerta anterior. Aplica una rotación en el eje X X X de la esfera de Bloch pero con la rotación especificada. Imitar el comportamiento de la puerta Pauli-X implica aplicar una RotX con π \pi π radianes de rotación.
Esta puerta permite abstraerse de ángulos fijos, permitiendo una mayor libertad de aplicación.
En forma de matriz se puede observar de la siguiente manera:
R o t X ( θ ) = [ c o s ( θ 2 ) − i s i n ( θ 2 ) − i s i n ( θ 2 ) c o s ( θ 2 ) ] RotX(\theta)=
\begin{bmatrix}
cos\left(\frac{\theta}{2}\right)&-i sin\left(\frac{\theta}{2}\right)\\
-i sin\left(\frac{\theta}{2}\right)&cos\left(\frac{\theta}{2}\right)
\end{bmatrix}
R o tX ( θ ) = [ cos ( 2 θ ) − i s in ( 2 θ ) − i s in ( 2 θ ) cos ( 2 θ ) ]
from qiskit import QuantumCircuit
qc. rx ( pi , 0 ) # aplica una rotacion de pi al qubit 0 en el eje x
La variante condicional de la puerta Pauli-X es CNOT o la Toffoli si se generaliza en más de una condición.