Medidas de Pauli de un solo cúbit y de varios cúbits
A medida que trabaja con Q#, observa que las medidas de Pauli son un tipo común de medida. Las medidas de Pauli generalizan las medidas de base computacional para incluir medidas en otras bases y de paridad entre diferentes cúbits. En tales casos, es habitual analizar la medición de un operador Pauli, que es un operador como $X,Y,Z$ o $Z\otimes Z, X X\otimes , X\otimes Y$, etc. Para conocer los conceptos básicos de la medición cuántica, consulte El cúbit y varios cúbits.
La discusión de la medición en términos de operadores pauli es común en el subcampo de corrección de errores cuánticos.
La guía de Q# sigue una convención similar; en este artículo, se explica esta vista alternativa de las medidas.
Sugerencia
En Q#, los operadores pauli de varios cúbits suelen representarse mediante matrices de tipo Pauli[]
.
Por ejemplo, para representar $X \otimes Z \otimes Y$, puede usar la matriz [PauliX, PauliZ, PauliY]
.
Antes de profundizar en los detalles de cómo pensar una medida de Pauli, es útil pensar en el efecto que tiene en el estado cuántico la medición de un único cúbit dentro de un equipo cuántico. Imagine un estado cuántico de $n$ cúbits; a continuación, la medición de un cúbit descarta de inmediato la mitad de las $2^n$ posibilidades en las que podría estar ese estado. En otras palabras, la medida proyecta el estado cuántico en uno de los dos semiespacios. Puede generalizar la forma en que piensa en la medición para reflejar esta intuición.
Para identificar estos subespacios de forma concisa, necesitamos un lenguaje para describirlos. Una manera de describir los dos subespacios es especificarlos a través de una matriz que solo tenga dos valores propios únicos, que por convención se toman como $\pm 1$. Para ver un ejemplo sencillo de cómo describir subespacios de esta manera, piense en $Z$:
$$\begin{\begin{align} Z & =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. \end{align} $$
Al leer los elementos diagonales de la matriz $Z$ de Pauli, podemos ver que $Z$ tiene dos vectores propios, $\ket{0}$ y $\ket{1}$, con los valores propios correspondientes $\pm 1$.
Por lo tanto, si una medida del cúbit da Zero
como resultado (correspondiente al estado $\ket{0}$), se sabe que el estado del cúbit es un $estado propio +1$ del $operador Z$ .
Del mismo modo, si el resultado es One
, se sabe que el estado del cúbit es un $estado propio -1$ de $Z$.
En el lenguaje de las medidas de Pauli, este proceso se denomina "medida de Pauli $Z$," y es totalmente equivalente a realizar una medición de base computacional.
Cualquier matriz de $2\times 2$ que sea una transformación unitaria de $Z$ también cumple estos criterios. Es decir, también podríamos usar una matriz $A=U^\dagger Z U$, donde $U$ es cualquier otra matriz unitaria, para proporcionar una matriz que defina los dos resultados de una medida en sus vectores propios $\pm 1$. La notación de las medidas de Pauli hace referencia a esta equivalencia unitaria mediante la identificación de las medidas $X,Y,Z$ como medidas equivalentes que se podrían hacer para obtener información de un cúbit. Estas medidas se proporcionan aquí para mayor comodidad.
Medidas de Pauli | Transformación unitaria |
---|---|
$Z$ | $\mathbf{1}$ |
$X$ | $H$ |
$Y$ | $HS^{\dagger}$ |
Es decir, usando este lenguaje, &entre comillas; measure $Y$" es equivalente a aplicar $HS^\dagger$ y, a continuación, medir en la base computacional, donde S
es una operación cuántica intrínseca a veces llamada quot &; phase gate,quot&; y se pueden simular mediante la matriz unitaria
$$\begin{\begin{align}S =1 amp; 0 \\ 0 & i \end{bmatrix}.&\begin{bmatrix} \end{align} $$
También es equivalente a aplicar $HS^\dagger$ al vector de estado cuántico y, a continuación, medir $Z$, de modo que la siguiente operación sea equivalente a Measure([PauliY], [q])
:
operation MeasureY(qubit : Qubit) : Result {
mutable result = Zero;
within {
Adjoint S(q);
H(q);
} apply {
set result = M(q);
}
return result;
}
A continuación, se encuentra el estado correcto al transformarse de nuevo en la base computacional, lo que equivale a aplicar $SH$ al vector de estado cuántico; en el fragmento de código, la transformación de vuelta a la base computacional se controla automáticamente con el uso del within … apply
bloque.
En Q#, el resultado--- que es, la información clásica extraída de la interacción con el estado--- se proporciona mediante un Result
valor $j \in \{\texttt{Zero}, \texttt{One}\}$ que indica si el resultado está en el $espacio propio (-1)^j$ propio del operador Pauli medido.
Medidas de varios cúbits
Las medidas de los operadores de Pauli de varios cúbits se definen de forma similar, como se ve a continuación:
$$Z Z\otimes =\begin{bmatrix}1 & 0 & 0& 0 0\\& amp;1& 0& 0 0\\& amp; 0&1& 0 0\\& amp; 0& 0& 1\end{bmatrix}. $$
Por lo tanto, los productos tensoriales de dos operadores $Z$ de Pauli forman una matriz formada por dos espacios que constan de valores propios $+1$ y $-1$. Al igual que con el caso de un único cúbit, ambos constituyen un semiespacio, lo que significa que la mitad del espacio vectorial accesible pertenece al espacio propio $+1$; y la mitad restante, al espacio propio $-1$. En general, es fácil ver a partir de la definición del producto tensorial que cualquier producto tensorial de los operadores $Z$ de Pauli y la identidad también obedecen a esto. Por ejemplo,
$$\begin{align}Z \otimes{1}\begin{bmatrix}\mathbf{=1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 amp; 0 && -1 .\end{bmatrix} \end{align} $$
Como antes, cualquier transformación unitaria de estas matrices también describe dos espacios medio etiquetados con $\pm 1$ valores propios. Por ejemplo, $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$ de la identidad que $Z=HXH$. De forma similar al caso de un cúbit, todas las medidas pauli de dos cúbits se pueden escribir como $U^\dagger (Z\otimes 1) U$ para $4\times 4$ matrices $unitarias U$. Las transformaciones se enumeran en la tabla siguiente.
Nota:
En esta tabla, $\operatorname{SWAP}$ se usa para indicar la matriz $$\begin{align}\operatorname{SWAP}& =\left(matriz 1 amp; 0 & 0 & \\ 0 0 amp; 0 && 1 & 0 0 \\ & 1 & 0 & \\ 0 0 & 0 amp; 0 && 1 \end{matriz}\right)$$ \end{align}utilizado para simular la operación SWAP
intrínseca .&}\begin{
Medidas de Pauli | Transformación unitaria |
---|---|
$Z\otimes\mathbf{1}$ | $\mathbf{1}\otimes \mathbf{1}$ |
$X\otimes\mathbf{1}$ | $H\otimes\mathbf{1}$ |
$Y\otimes\mathbf{1}$ | $HS^\dagger\otimes\mathbf{1}$ |
$\mathbf{1}\otimes Z$ | $\operatorname{SWAP}$ |
$\mathbf{1}\otimes X$ | $(H\otimes\mathbf{1})\operatorname{SWAP}$ |
$\mathbf{1}\otimes Y$ | $(HS^\dagger\otimes\mathbf{1})\operatorname{SWAP}$ |
$Z\otimes Z$ | $\operatorname{CNOT}_{10}$ |
$X\otimes Z$ | $\operatorname{CNOT}_{10}(H\otimes\mathbf{1})$ |
$Y\otimes Z$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes\mathbf{1})$ |
$Z\otimes X$ | $\operatorname{CNOT}_{10}(\mathbf{1}\otimes H)$ |
$X\otimes X$ | $\operatorname{CNOT}_{10}(H\otimes H)$ |
$Y\otimes X$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes H)$ |
$Z\otimes Y$ | $\operatorname{CNOT}_{10}(\mathbf{1}\otimes HS^\dagger)$ |
$X\otimes Y$ | $\operatorname{CNOT}_{10}(H\otimes HS^\dagger)$ |
$Y\otimes Y$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes HS^\dagger)$ |
En este caso, la operación CNOT
aparece por el siguiente motivo.
Cada medida de Pauli que no incluye la $\mathbf{1}$ matriz es equivalente a una unidad a $Z\otimes Z$ por el razonamiento anterior.
Los valores propios de $Z\otimes Z$ solo dependen de la paridad de los cúbits que componen cada vector de base computacional, y las operaciones controlled-NOT sirven para calcular esta paridad y almacenarla en el primer bit.
Después, una vez que se mide el primer bit, podemos recuperar la identidad del semiespacio resultante, lo que equivale a medir el operador de Pauli.
Además, aunque puede ser tentador suponer que la medición $de Z\otimes Z$ es la misma que la medición $secuencial de Z\mathbb{{1}$\otimes y, a continuación$\mathbb{1}\otimes, Z$, esta suposición sería falsa. La razón es que la medición de $Z\otimes Z$ proyecta el estado cuántico en el estado puro de $+1$ o $-1$ de estos operadores. Medir $Z\otimes\mathbb{1}$ y luego $\mathbb{1}\otimes Z$ proyecta el vector de estado cuántico primero en un semiespacio de $Z\otimes\mathbb{{1}$ y, luego, en un semiespacio de $\mathbb{{1}\otimes Z$. Como hay cuatro vectores de base computacional, procesar ambas medidas reduce el estado a un cuarto de espacio y, por tanto, lo reduce a un único vector de base computacional.
Correlaciones entre bits cuánticos
Otra manera de ver la medición de los productos tensoriales de las matrices de Pauli, como $X\otimes X$ o $Z\otimes Z$, es que estas medidas permiten ver la información almacenada en las correlaciones entre los dos cúbits. Medir $X\otimes 1$ permite examinar la información almacenada localmente en el primer cúbit. Aunque ambos tipos de medidas son igualmente valiosos en la computación cuántica, el primero ilustra la capacidad de la computación cuántica. Revela que, en la computación cuántica, a menudo la información que quiere aprender no se almacena en un único cúbit, sino que se almacena de forma no local en todos los cúbits a la vez y, por tanto, solo al mirarla a través de una medida conjunta (por ejemplo, $Z\otimes Z$) hace que se manifieste esta información.
Los operadores arbitrarios de Pauli, como $X\otimes Y \otimes Z \otimes\mathbf{1}$ , también se pueden medir. Todos estos productos tensoriales de los operadores de Pauli solo tienen dos valores propios $\pm 1$, y ambos espacios propios constituyen semiespacios del espacio vectorial entero. Por lo tanto, coinciden con los requisitos indicados anteriormente.
En Q#, estas medidas devuelven $j$ si la medida produce un resultado en el espacio puro de signo $(-1)^j$. Tener medidas de Pauli como una característica integrada en Q# es útil porque medir estos operadores requiere cadenas largas de puertas NO controladas y transformaciones de base para describir la puerta U diagonalizante$ $necesaria para expresar la operación como un producto tensor de $Z$ y $1$. Al poder especificar que quiere realizar una de estas medidas predefinidas, no es necesario preocuparse por cómo transformar la base de forma que una medida de base computacional proporcione la información necesaria. Q# controla automáticamente todas las transformaciones de base necesarias.
El teorema de la no clonación
La información cuántica es poderosa. Permite hacer cosas increíbles, como números de factor exponencialmente más rápidos que los algoritmos clásicos más conocidos, o simular eficazmente sistemas de electrones correlacionados que requieren clásicamente un costo exponencial para simular con precisión. Sin embargo, la eficacia de computación cuántica tiene limitaciones. Una de estas limitaciones está dada por el teorema de la no clonación.
El teorema de la no clonación tiene un nombre adecuado. No permite la clonación de estados cuánticos genéricos por parte de un equipo cuántico. La demostración del teorema es sumamente sencilla. Aunque una prueba completa del teorema de no clonación es demasiado técnica para este artículo, la prueba en el caso de que no haya cúbits auxiliares adicionales esté dentro del ámbito.
Para este tipo de equipo cuántico, la operación de clonación debe describirse con una matriz unitaria. La medida cuántica no está permitida, porque dañaría el estado cuántico que se va a clonar. Para simular la operación de clonación, queremos que la matriz unitaria usada tenga la propiedad que $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$ para cualquier estado $\ket{\psi}$. La propiedad de linealidad de la multiplicación de matrices implica entonces que para cualquier segundo estado cuántico $\ket{\phi}$,
$$\begin{\begin{align}U \left[ \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right] \ket{{0}& =\frac{1}{\sqrt{2}} U + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}{0}&\\\ket{\phi}\ket{ amp; =\frac{1}{\sqrt{2}}\left( \ket{\phi}\ket{\phi} + \ket{\psi}\ket{\psi}\right) \\& \ne\left( \frac{{2}}\left{1}{\sqrt{(\ket{\phi}+\ket{\psi}\right) \right) \otimes\left( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right). \end{align} $$
Esto proporciona la intuición fundamental que subyace al teorema de no clonación: cualquier dispositivo que copie un estado cuántico desconocido debe inducir errores en al menos algunos de los estados que copia. Aunque la suposición clave de que el clonador actúa linealmente en el estado de entrada se puede infringir mediante la adición y medición de cúbits auxiliares, estas interacciones también filtran información sobre el sistema a través de las estadísticas de las medidas y evitan también la clonación exacta en estos casos.
El teorema de la no clonación es importante para la comprensión cualitativa de la computación cuántica, ya que si pudiera clonar estados cuánticos de forma económica, se le concedería una capacidad casi mágica de aprender a partir de los estados cuánticos. De hecho, podría infringir el alabado principio de incertidumbre de Heisenberg. Como alternativa, podría usar un clonador óptimo para tomar una única muestra de una distribución cuántica compleja y aprender todo lo posible sobre esa distribución a partir de tan solo una muestra. Esto sería como si volteas una moneda y observaste cabezas y luego diciéndoles a un amigo sobre el resultado que les hace responder " ¡Ah la distribución de esa moneda debe ser Bernoulli con $p=0.512643\ldots$!" Tal declaración sería no útil porque un bit de información (el resultado de los encabezados) simplemente no puede proporcionar los muchos bits de información necesarios para codificar la distribución sin información previa sustancial. Del mismo modo, sin información previa no se puede clonar perfectamente un estado cuántico, del mismo modo que no se puede preparar un conjunto de dichas monedas sin conocer $p$.
La información no es gratuita en la computación cuántica. Cada cúbit medido proporciona un único bit de información, y el teorema de la no clonación muestra que no hay ninguna puerta trasera que se pueda aprovechar para evitar el equilibrio fundamental entre la información obtenida sobre el sistema y la perturbación ejercida sobre él.