Finalmente estamos caminhando para os fenômenos e aplicações práticas da Computação Quântica.

Neste post, vamos finalizar a parte de operadores, abordando os operadores de rotação, as decomposições dos operadores e múltiplos controles.

Nos próximos posts, veremos um dos últimos conceitos gerais, o emaranhamento quântico, e então prosseguiremos para aplicações e algoritmos.

Sumário


Decomposição Espectral

Em síntese, é uma forma de reescrever um operador em termos de seus autovalores e autovetores.

Ela nos diz que qualquer porta quântica \(U\) é uma rotação (ou mudança de fase) em torno de um conjunto de eixos definidos por seus autovetores.

Assim, ao aplicar \(U\) a um estado \(|\psi\rangle\) que é uma superposição:

\[|\psi\rangle = \sum_{k} c_k|\psi_k\rangle\]

Temos que:

  • Vetor de estado: \(|\psi\rangle\)

  • Autovetores dos operados unitário (\(U\)): \(|\psi_k\rangle\)

  • Escalar complexo (coeficiente de amplitude) que multiplica cada autovetor: \(c_k\)

Obtemos como resultado:

$$U|\psi\rangle = U(\sum_{k} c_k|\psi_k\rangle) = \sum_{k} c_k(U|\psi_k\rangle) = \sum_{k} c_k(\lambda_k|\psi_k\rangle)$$

Ou seja, a porta \(U\) age em cada componente do autovetor de forma individual, apenas aplicando uma mudança de fase
(\(\lambda_k\) - autovalor) a esse componente.

Isso é possível, visto que os autovetores de um operador formam uma base ortonormal para o espaço dos vetores de estado.

Dessa maneira, todo vetor de estado pode ser decomposto em uma combinação linear dos autovetores de uma porta quântica.

Portanto, \(c_k\) são os escalares dessa combinação linear na representação do vetor de estado, e pode ser calculado com o produto interno (projeção):

\[c_k = \langle \psi_k |\psi \rangle\]

O vetor de estado é reescrito, onde os coeficientes são as coordenadas do antigo vetor nessa nova base e os autovalores são as fases aplicadas aos autovetores que formam a base.

  • Exemplo: Decomposição da Porta Pauli-Z
\[Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}\]
  • Autovetores (estados imutáveis):
\[|0\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \quad |1\rangle = \begin{pmatrix} 0 \\ 1 \end{pmatrix}\]
  • Autovalores (fases aplicadas):
\[Z|0\rangle = 1 \cdot |0\rangle \to \lambda_0 = 1\] \[Z|1\rangle = -1 \cdot |1\rangle \to \lambda_1 = -1\]
  • Decomposição espectral:
\[Z = 1 \cdot |0\rangle \langle0| + (-1) \cdot |1\rangle \langle1|\]

É a maneira mais profunda de descrever o que a porta Z realmente faz ao seu qubit: ela apenas muda o sinal (fase) do componente \(|1\rangle\).

A notação \(|\psi_k\rangle \langle\psi_k|\) é um operador de projeção que “isola” o componente de qualquer vetor de estado na direção do estado \(|\psi_k\rangle\)


Operadores de Rotação

Qualquer operador unitário pode ser expresso como rotações no espaço vetorial em torno de eixos distintos, geralmente os eixos da base (\(X\), \(Y\) ou \(Z\)), e um fator de fase global.

A decomposição espectral mostrou que aplicar uma transformação quântica altera as fases associadas aos eixos; portanto, as portas de rotação indicam como implementar essa transformação.

Dessa forma, qualquer operador unitário \(U\) agindo em um único qubit (matriz 2x2) tem como decomposição mais comum:

\[U = e^{i \gamma}R_z(\beta)R_y(\theta)R_z(\alpha)\]
  • Com \(\gamma\) sendo uma fase global (fisicamente irrelevante) e as portas sendo as unidades fundamentais.

Essas unidades fundamentais são suficientes para gerar qualquer rotação na esfera de Bloch:

\[R_z(\theta) = \begin{pmatrix} e^{\frac{-i\theta}{2}} & 0 \\ 0 & e^{\frac{i\theta}{2}} \end{pmatrix}\]
  • Rotação em torno do eixo \(Z\) por um ângulo \(\theta\).
\[R_y(\theta) = \begin{pmatrix} \cos{\frac{\theta}{2}} & - \sin{\frac{\theta}{2}} \\ \sin{\frac{\theta}{2}} & \cos{\frac{\theta}{2}} \end{pmatrix}\]
  • Rotação em torno do eixo \(Y\) por um ângulo \(\theta\).

\(e^{i\gamma}\) é o fator de fase global, e \(\alpha, \beta, \gamma, \theta\) são ângulos reais.

A porta \(R_x\) é por vezes omitida, pois, dadas duas rotações ortogonais, qualquer outra rotação pode ser obtida pela combinação dessas duas.

O produto das três rotações:

$$ e^{i \gamma}R_z(\beta)R_y(\theta)R_z(\alpha) = e^{i \gamma} \begin{pmatrix} e^{\frac{i(- \beta - \alpha)}{2}}\cos{\frac{\theta}{2}} & - e^{\frac{i(- \beta + \alpha)}{2}}\sin{\frac{\theta}{2}} \\ e^{\frac{i(\beta - \alpha)}{2}}\sin{\frac{\theta}{2}} & e^{\frac{i(\beta + \alpha)}{2}}\cos{\frac{\theta}{2}} \end{pmatrix} $$

Decomposição Genérica sobre um qubit

\[U = \begin{pmatrix} u_{00} & u_{01} \\ u_{10} & u_{11} \end{pmatrix} = \begin{pmatrix} e^{ix_{00}} \cos{\theta} & -e^{ix_{01}} \sin{\theta} \\ e^{ix_{10}} \sin{\theta} & e^{ix_{11}} \cos{\theta} \end{pmatrix}\]

Como \(UU^{\dagger} = I\), então \(u_{00}\overline{u_{10}} + u_{01}\overline{u_{11}} = 0\)

\[e^{ix_{00}}\cos{\theta}e^{-ix_{10}}\sin{\theta} + (-e^{ix_{01}}\sin{\theta})e^{-ix_{11}}\cos{\theta} = 0\] \[e^{i(x_{00} - x_{10})}\cos{\theta}\sin{\theta} - e^{i(x_{01} - x_{11})}\sin{\theta}\cos{\theta} = 0\] \[x_{00} - x_{10} = x_{01} - x_{11}\]

Logo, podemos reescrever a decomposição de \(U\) como:

\[U = \begin{pmatrix} e^{ix_{00}} \cos{\theta} & -e^{ix_{01}} \sin{\theta} \\ e^{ix_{10}} \cos{\theta} & e^{i(x_{01} + x_{10} - x_{00})} \cos{\theta} \end{pmatrix}\]

E finalmente, aplicando a decomposição nos operadores de rotação (com o fator de fase \(e^{i\gamma}\)), temos:

\[U = \begin{pmatrix} e^{i(\gamma - \frac{\beta - \alpha}{2})} \cos{\frac{\delta}{2}} & -e^{i(\gamma - \frac{\beta + \alpha}{2})} \sin{\frac{\delta}{2}} \\ e^{i(\gamma + \frac{\beta - \alpha}{2})} \cos{\frac{\delta}{2}} & e^{i(\gamma + \frac{\beta + \alpha}{2})} \cos{\frac{\delta}{2}} \end{pmatrix}\]

Portanto, os valores de \(\alpha\), \(\beta\) e \(\gamma\) são uma solução do sistema:

\[\left\{ \begin{array}{rcl} \gamma - \frac{\beta}{2} - \frac{\alpha}{2} &=& x_{00} \\ \gamma - \frac{\beta}{2} + \frac{\alpha}{2} + \pi &=& x_{01} \\ \gamma + \frac{\beta}{2} - \frac{\alpha}{2} &=& x_{10} \end{array} \right.\]

Decomposição Genérica de operadores controlados

Um operador controlado é executado dependendo do estado do qubit de controle. Contudo, os computadores quânticos atuais geralmente oferecem apenas operações de um qubit e a porta CX.

Portanto, é necessário decompor os operadores controlados. Algumas representações desses operadores:

  • Dado que \(V\) é um operador sobre um qubit:
\[CV|x, y\rangle = |x\rangle V^x |y\rangle\] \[C(V) = |0\rangle \langle0| \otimes I + |1\rangle \langle1| \otimes V\] \[V = \left[ \begin{array}{cc} a & b \\ c & d \end{array} \right] \implies CV = \left[ \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & a & b \\ 0 & 0 & c & d \end{array} \right]\]

Para operadores controlados, criamos as matrizes A, B e C:

\[A = R_z\left(\beta\right)R_y\left(\frac{\theta}{2}\right)\] \[B = R_y\left(-\frac{\theta}{2}\right)R_z\left(\frac{-(\alpha + \beta)}{2}\right)\] \[C = R_z\left(\frac{(\alpha - \beta)}{2}\right)\]

E aplicamos dessa forma:

decomposicao_controlado


Múltiplos Controles

Também existem portas com múltiplos controles, como a Toffoli, que é uma generalização da CNOT e possibilita operações condicionais com mais de um controle.

Sua representação pode ser: \(T|x, y, z\rangle = |x, y, z \otimes xy\rangle\)

No circuito, cada aplicação do controle para o operador \(V\) corresponde à decomposição apresentada anteriormente; assim, em um esquema com vários controles, há múltiplas aplicações dessa decomposição.

toffoli

Uma das formas de reduzir essa decomposição no circuito é usar qubits auxiliares, caso haja qubits disponíveis:

toffoli_simplificado