Notación Dirac

La notación de Dirac es un lenguaje diseñado para ajustarse a las necesidades precisas de la expresión de estados en la mecánica cuántica. Los ejemplos de este artículo son sugerencias que pueden utilizarse para expresar de forma concisa las ideas cuánticas.

Limitaciones de la notación de vectores de columna

Aunque la notación de vectores de columna es común en el álgebra lineal, a menudo es complicada en la computación cuántica, especialmente cuando se trata de varios cúbits. Por ejemplo, cuando se define que $\psi$ es un vector, no queda explícitamente claro si $\psi$ es un vector de fila o de columna. Por lo tanto, si $\phi$ y $\psi$ son vectores, queda igualmente poco claro si $\phi\psi$ está siquiera definido, porque las formas de $\phi$ y $\psi$ pueden no estar claras en el contexto. Más allá de la ambigüedad sobre las formas de los vectores, incluso la expresión de vectores simples mediante la notación algebraica lineal puede resultar engorroso. Por ejemplo, si quiere describir un estado de $n$ cúbits, donde cada cúbit toma el valor $0$, el estado se expresaría formalmente como:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}. $$

No es práctico evaluar este producto de tensores porque el vector se encuentra en un espacio exponencialmente grande. Por lo tanto, esta notación es, de hecho, la mejor descripción del estado que se puede dar con la notación anterior.

Tipos de vectores en notación de Dirac

Hay dos tipos de vectores en la notación de Dirac: el vector bra y el vector ket, llamados así porque cuando se juntan, forman un braket o producto interior. Si $\psi$ es un vector de columna, puede escribirlo en notación de Dirac como $\ket{\psi}$, donde $\ket{\cdot}$ denota que es un vector de columna unitario, por ejemplo, un vector ket. Del mismo modo, el vector fila $\psi^\dagger$ se expresa como $\bra{\psi}$. En otras palabras, $\psi^\dagger$ se obtiene al aplicar la conjugación compleja de entrada a los elementos de la transposición de $\psi$. La notación bra-ket implica directamente que $\braket{\psi|\psi}$ es el producto interior del vector $\psi$ por sí mismo, que es por definición $1$.

De forma más general, si $\psi$ y $\phi$ son vectores de estado cuántico, su producto interior es $\braket{\phi|\psi}$. Este producto interior implica que la probabilidad de que la medida del estado $\ket{\psi}$ sea $\ket{\phi}$ es $|\braket{\phi|\psi}|^2$.

La siguiente convención se utiliza para describir los estados cuánticos que codifican los valores cero y uno (los estados de base computacional de un solo cúbit):

$$\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\ket{{0},\qquad\begin{bmatrix} 0 \\ 1 \end{bmatrix}=\ket{{1}. $$

Ejemplo: Representación de la operación de Hadamard con la notación de Dirac

A menudo, se usa la notación siguiente para describir los estados que resultan de la aplicación de la puerta de Hadamard a $\ket{0}$ y $\ket{1}$. Estos estados se corresponden a los vectores unitarios de las direcciones $+x$ y $-x$ en la esfera de Bloch:

$$\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{0}=\ket{+},\qquad\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{{-} . $$

Estos estados también pueden expandirse con la notación de Dirac como sumas de $\ket{0}$ y $\ket{1}$:

$$\ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}),\qquad\ket{{-}=\frac{{1}{\sqrt{{2}}(\ket{{0} - \ket{1}). $$

Vectores de base computacional

Esto demuestra por qué estos estados se llaman también base computacional: todo estado cuántico puede expresarse siempre como sumas de vectores de base computacional, y dichas sumas se expresan fácilmente utilizando la notación de Dirac. Lo contrario también es cierto en el sentido de que los estados $\ket{+}$ y $\ket{-}$ también forman una base para los estados cuánticos. Esto se puede ver en el hecho de que

$$\ket{{0}=\frac{1}{\sqrt{2}}(\ket{+} + \ket{-}),\qquad\ket{{1}=\frac{{1}{\sqrt{{2}}(\ket{+} - \ket{-}). $$

Como ejemplo de notación de Dirac, consideremos el braket $\braket{0 | 1}$, que es el producto interior de $0$ y $1$. Se puede escribir como

$$\braket{0 | 1 1 &}=\begin{bmatrix} amp; 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$

Este ejemplo indica que $\ket{{0}$ y $\ket{{1}$ son vectores ortogonales, lo que significa que $\braket{0 | 1}=\braket{1 | 0}=0$. También por definición, $\braket{0 | 0}=\braket{1 | 1}=1$, lo que significa que los dos vectores de base computacional también se pueden llamar ortonormales.

Estas propiedades ortonormales se usan en el ejemplo siguiente. Si se tiene el estado $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$, y puesto que $\braket{1 | 0}=0$, la probabilidad de medir $1$ es

$$\big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$

Notación del producto tensorial

La notación dirac también incluye una estructura de producto tensor implícita. Esto es importante porque, en la computación cuántica, el vector de estado descrito por dos registros cuánticos no correlacionados es el producto tensorial de los dos vectores de estado. Describir de forma concisa la estructura del producto tensorial, o su ausencia, es vital si se quiere explicar un cálculo cuántico. Esta estructura de producto tensorial implica que puede escribir $\psi\otimes\phi$ de dos vectores de estado cuántico cualquiera $\phi$ y $\psi$ como $\ket{\psi}\otimes\ket{\phi}$. Sin embargo, y por convención, no es necesario escribir $\otimes$ entre los vectores y puede escribir $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$. Para obtener más información sobre los vectores y los productos tensoriales, vea Vectores y matrices en computación cuántica. Por ejemplo, el estado con dos cúbits inicializados en el estado cero es:

$$\ket{0}\otimes\ket{0}=\ket{{0}\ket{{0}=\ket{{00}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$

Del mismo modo, el estado $\ket{p}$ del entero $p$ representa un estado cuántico que codifica el entero $p$ en representación binaria. Por ejemplo, si quiere expresar el número $5$ mediante una codificación binaria sin signo, también podría expresarlo como

$$\ket{1}\ket{0}\ket{1}=\ket{101}=\ket{5}. $$

Dentro de esta notación, $\ket{0}$ no hace referencia necesariamente a un estado de un solo cúbit, sino a un registro de cúbits que almacena una codificación binaria de $0$. Las diferencias entre estas dos notaciones son claras del contexto. Esta convención es útil para simplificar el primer ejemplo, que se puede escribir de cualquiera de las maneras siguientes:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\ket{{0}\otimes\cdots\otimes\ket{0}=|0\cdots 0\rangle=\ket{{0}^{\otimes n}$$

donde $\ket{0}^{\otimes n}$ representa el producto tensorial de $n$$\ket{0}$ estados cuánticos.

Ejemplo: Descripción de la superposición con la notación de Dirac

Como otro ejemplo de cómo puede usar la notación Dirac para describir un estado cuántico, tenga en cuenta las siguientes formas equivalentes de escribir un estado cuántico que sea una superposición igual en cada cadena de bits posible de longitud $n.$

$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$

Aquí tal vez se pregunte por qué la suma va de $0$ a $2^{n}-1$ para $n$ bits. En primer lugar, observe que hay $2^{n}$ configuraciones diferentes que pueden tomar $n$ bits. Para verlo, recuerde que un bit puede tomar $2$ valores, pero dos bits pueden tomar $4$ valores, y así sucesivamente. En general, esto significa que hay $2^n$ cadenas de bits posibles diferentes, pero el mayor valor codificado en cualquiera de ellas es $1\cdots 1=2^n-1$ y, por lo tanto, es el límite superior de la suma. Como nota al margen, en este ejemplo no se ha utilizado $\ket{+}^{\otimes n}=\ket{+}$ como analogía de $\ket{{0}^{\otimes n}=\ket{{0}$. Esta convención notación está reservada para el estado de base computacional con cada cúbit inicializado en cero. Aunque tal convención es razonable en este caso, no se emplea en la literatura de computación cuántica.

Expresión de la linealidad con la notación de Dirac

Otra característica de la notación de Dirac es que es lineal. Por ejemplo, para dos números complejos $\alpha$ y $\beta$, puede escribir:

$$\ket{\psi}\otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$

Es decir, la notación del producto tensorial se puede distribuir en notación de Dirac para que los productos tensoriales de vectores de estado terminen pareciendo una multiplicación normal.

Los vectores bra siguen una convención similar a la de los vectores ket. Por ejemplo, el vector $\bra{\psi}\bra{\phi}$ es equivalente al vector de estado $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Si el vector ket $\ket{\psi}$ es $\alpha\ket{0} + \beta\ket{1}$, la versión del vector bra del ventor es $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.

Como ejemplo, imaginemos que desea calcular la probabilidad de medir el estado $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ con un programa cuántico para medir que los estados sean $\ket{+}$ o $\ket{{-}$. La probabilidad de que el dispositivo diga que el estado es $\ket{-}$ es:

$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$

El hecho de que el signo negativo aparezca en el cálculo de la probabilidad es una manifestación de la interferencia cuántica, que es uno de los mecanismos que hace que la computación cuántica tenga ventajas sobre la clásica.

ketbra o producto exterior

El último elemento que vale la pena explicar en la notación de Dirac es ketbra o producto exterior. El producto exterior se representa dentro de las notaciones de Dirac como $\ket{\psi}\bra{\phi}$, y a veces se denomina ketbra porque los bras y los kets ocurren en el orden opuesto a los brakets. El producto exterior se define mediante la multiplicación de matrices como $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ para los vectores de estado cuántico $\psi$ y $\phi$. El ejemplo más sencillo, y posiblemente el más común de esta notación, es

$$\ket{0}\bra{{0}=\begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& 0 \end{bmatrix}=\begin{bmatrix}1 & 0 0\\& 0 0\end{bmatrix}=\ket{1}\qquad\begin{bmatrix}\\\bra{1} 1 \end{bmatrix}\begin{bmatrix}0& 1 \end{bmatrix}=\begin{bmatrix}0 & 0 0\\& 1\end{bmatrix}. $$

Los ketbras suelen llamarse proyectores porque proyectan un estado cuántico sobre un valor fijo. Como estas operaciones no son unitarias (y ni siquiera conservan la norma de un vector), un equipo cuántico no puede aplicar un proyector de forma determinista. Sin embargo, los proyectores hacen un buen trabajo para describir efecto que la medida tiene sobre un estado cuántico. Por ejemplo, si mide un estado $\ket{\psi}$ para que sea $0$, la transformación resultante que experimenta el estado como resultado de la medida es:

$$\ket{\psi}\rightarrow \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$

como cabría esperar si mide el estado y lo encontró como $\ket{0}$. Repetimos que estos proyectores no pueden aplicarse a un estado en un equipo cuántico de forma determinista. En cambio, pueden aplicarse aleatoriamente con el resultado $\ket{0}$ que aparece con alguna probabilidad fija. La probabilidad de que dicha medida tenga éxito puede escribirse como el valor de la expectativa del proyector cuántico en el estado:

$$\bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$

lo que ilustra que los proyectores ofrecen una nueva forma de expresar el proceso de medida.

Si, en su lugar, considera que la medida del primer cúbit de un estado de varios cúbits es $1$, también podemos describir este proceso de forma cómoda mediante proyectores y la notación de Dirac:

$$P(\text{primer cúbit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$

Aquí, la matriz de identidades puede escribirse en notación de Dirac como:

$$\mathbf{1}=\ket{0}\bra{0}+\ket{1}\begin{bmatrix}\bra{{1}=1& 0 0\\& amp; 1 \end{bmatrix}. $$

Si hay dos cúbits, el proyector se puede expandir como:

$$\ket{1}\bra{1}\otimes\id=\ket{{1}\bra{1}\otimes (\ket{{0}\bra{{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + \ket{{11}\bra{{11}. $$

Puede ver que esto es coherente con la discusión sobre las probabilidades de medida de los estados de varios cúbits mediante la notación de vectores de columna:

$$ P(\text{primer cúbit = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$

que coincide con la discusión sobre la medida de varios cúbits. Sin embargo, la generalización de este resultado al caso de varios cúbits es algo más sencilla de expresar utilizando la notación de Dirac que la notación de vectores de columna, y es totalmente equivalente al tratamiento anterior.

Operadores de densidad

Otro operador útil para expresar con la notación de Dirac es el operador de densidad, también conocido como operador de estado. Como el vector de estado cuántico, el operador de densidad describe el estado cuántico de un sistema. Sin embargo, mientras que los vectores de estado cuántico solo pueden representar estados puros, los operadores de densidad también pueden representar estados mixtos.

En general, una matriz dada $\rho$ es un operador de densidad válido si se cumplen las siguientes condiciones:

  • $\rho$ es una matriz de números complejos
  • $\rho = \rho^{\dagger}$ (es decir, $\rho$ es hermitiano)
  • Cada valor propio de $p$ of $\rho$ es $0 <= p <= 1$
  • Todos los valores propios de $\rho$ suman 1

En conjunto, estas condiciones garantizan que$\rho$ puede considerarse como un conjunto. Un operador de densidad para un vector de estado cuántico $\ket{\psi}$ tiene la forma $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ es una descomposición de valores propios de $\rho$, entonces $\rho$ describe el conjunto $\rho ={\ket{\psi_i}\text{ con probabilidad } p_i }$.

Los estados cuánticos puros son aquellos que se caracterizan por un único vector ket o función de onda, y no pueden escribirse como una mezcla estadística (o combinación convexa) de otros estados cuánticos. Un estado cuántico mixto es un conjunto estadístico de estados puros.

En una esfera Bloch, los estados puros se representan mediante un punto en la superficie de la esfera, mientras que los estados mixtos se representan mediante un punto interior. El estado mixto de un solo cúbit se representa mediante el centro de la esfera, por simetría. La pureza de un estado se puede visualizar como el grado en el que está cerca de la superficie de la esfera.

Este concepto de representar el estado como una matriz, en lugar de un vector, suele ser conveniente porque proporciona una manera cómoda de representar cálculos de probabilidad y también le permite describir tanto la incertidumbre estadística como la incertidumbre cuántica dentro del mismo formalismo.

Un operador de densidad $\rho$ representa un estado puro si y solo si:

  • $\rho$ puede escribirse como un producto externo de un vector de estado, $\rho=\ket{\psi}\bra{\psi}$
  • $\rho =\rho^2$
  • $tr(\rho^2)=1$

Para saber lo cerca que está un determinado operador de densidad $\rho$ es puro, se puede ver el seguimiento (es decir, la suma de los elementos diagonales) de $\rho^2$. Un operador de densidad representa un estado puro si y sólo si $tr(\rho ^{2})=1$.

Secuencias de puertas de Q# equivalentes a estados cuánticos

Un último punto que vale la pena plantear sobre la notación cuántica y el lenguaje de programación Q#: al principio de este documento, mencionamos que el estado cuántico es el objeto básico de información en la computación cuántica. Puede sorprender entonces que en Q# no exista la noción de estado cuántico. En cambio, todos los estados se describen únicamente por las operaciones utilizadas para prepararlos. El ejemplo anterior lo ilustra perfectamente. En lugar de expresar una superposición uniforme sobre cada cadena de bits cuánticos en un registro, puede representar el resultado como $H^{\otimes n}\ket{0}$. Esta descripción exponencialmente más corta del estado no solo tiene la ventaja de que puede razonar de forma clásica sobre él, sino que también define de forma concisa las operaciones necesarias para propagarse por la pila de software con el fin de implementar el algoritmo. Por esta razón, Q# está diseñado para emitir secuencias de puertas en lugar de estados cuánticos; sin embargo, a nivel teórico, las dos perspectivas son equivalentes.

Pasos siguientes