Notação de Dirac em computação quântica
notação de Dirac é uma maneira concisa e poderosa de descrever estados quânticos e operações. Seu nome é uma homenagem ao físico Paul Dirac, que desenvolveu a notação na década de 1930. A notação dirac é usada na computação quântica para descrever estados quânticos, operações quânticas e medidas quânticas.
Este artigo apresenta a notação de Dirac e mostra como usá-la para descrever estados e operações quânticas.
Vetores na Notação Dirac
Há dois tipos de vetores na notação Dirac: o bra vetor, correspondente a um vetor de linha e o vetor ket, correspondente a um vetor de coluna. É por isso que a notação Dirac também é chamada de notação bra-ket.
Se $\psi$ for um vetor de coluna, você poderá gravá-lo na notação Dirac como $\ket{\psi}$, em que o $\ket{\cdot}$ indicará que é um ket vetor.
Da mesma forma, o vetor de linha $\psi^\dagger$ é expresso como $\bra{\psi}$, que é um vetor bra. Em outras palavras, $\psi^\dagger$ é obtida aplicando conjugação complexa de entrada aos elementos da transposição de $\psi$. A notação bra-ket implica diretamente que $\braket{\psi|\psi}$ é o produto interno do vetor $\psi$ com ele mesmo, que é por definição $1$.
Em geral, se $\psi$ e $\phi$ são vetores de estado quântico, então seu produto interno é $\braket{\phi|\psi}$. Esse produto interno implica que a probabilidade de medir o estado $\ket{\psi}$ como $\ket{\phi}$ é $|\braket{\phi|\psi}|^2$.
Os estados de base computacional $0$ e $1$ são representados como $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ e $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$, respectivamente.
Exemplo: representar a operação de Hadamard com notação de Dirac
Vamos aplicar o portão hadamard $$ H aos estados quânticos $\ket{0}$ e $\ket{1}$ usando a notação Dirac:
$$\frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$
$$\frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{-}$$
Os estados resultantes correspondem aos vetores de unidade nas direções $+x$ e $-x$ na esfera Bloch. Esses estados também podem ser expandidos usando a notação de Dirac como somas de $\ket{0}$ e $\ket{1}$:
$$\ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$
$$\ket{-}=\frac{1}{\sqrt{{2}}(\ket{0} - \ket{1}) $$
Vetores de base computacional
Cada estado quântico sempre pode ser expresso como somas de vetores de base computacional e essas somas são facilmente expressas usando a notação Dirac. O inverso também é verdadeiro em que os estados $\ket{+}$ e $\ket{-}$ também formam uma base para os estados quânticos. Você pode ver isso pelo fato de que
$$\ket{0}=\frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$\ket{1}=\frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
Como exemplo de notação de Dirac, considere o braket $\braket{0 | 1}$, que é o produto interno entre $0$ e $1$. Pode ser escrito como
$$\braket{| 0 1}=\begin{bmatrix} 1 & 0 \end{bmatrix}\begin{bmatrix}0 1\\\end{bmatrix}= 0. $$
Este exemplo diz que $\ket{{0}$ e $\ket{{1}$ são vetores ortogonais, o que significa que $\braket{0 | 1}=\braket{1 | 0}=0$. Também por definição $\braket{0 | 0}=\braket{1 | 1}=1$, o que significa que os dois vetores de base computacional também podem ser chamados de orthonormal.
Essas propriedades ortonormais são usadas no exemplo a seguir. Se você tem um estado $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$, então, devido a $\braket{1 | 0}=0$, a probabilidade de medir $1$ é
$$\big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$
Notação de produto tensorial
A Notação Dirac é bastante útil para expressar o produto tensor. O produto Tensor é importante na computação quântica porque o vetor de estado descrito por dois registros quânticos não correlacionados são os produtos tensores dos dois vetores de estado.
O produto tensor $\psi\otimes\phi$ para qualquer dois vetores de estado quântico $\phi$ e $\psi$ é escrito na notação Dirac como $\ket{\psi}\otimes\ket{\phi}$. Por convenção, você também pode escrever o produto tensor como $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$.
Por exemplo, o estado com dois qubits inicializados para o estado zero é $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.
Exemplo: descrever a superposição com notação de Dirac
Como outro exemplo de como você pode usar a notação de Dirac para descrever um estado quântico, considere as seguintes maneiras equivalentes de escrever um estado quântico que é uma superposição igual sobre cada cadeia de bits possível de comprimento $n$
$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$
Aqui você pode imaginar por que a soma vai de $0$ a $2^{n}-1$ para $n$ bits. Primeiro, observe que há $2^{n}$ configurações diferentes que podem ser executadas por $n$ bits. Você pode ver isso observando que um bit pode ocupar $2$ valores, mas dois bits podem ter $4$ valores e assim por diante. Em geral, isso significa que há $2^n$ diferentes cadeias de caracteres de bits possíveis, mas o maior valor codificado em qualquer uma delas $1\cdots 1=2^n-1$ e, portanto, é o limite superior para a soma. Como observação lateral, neste exemplo, você não usou $\ket{+}^{\otimes n}=\ket{+}$ em analogia a $\ket{{0}^{\otimes n}=\ket{{0}$. Essa convenção de notação é reservada para o estado de base computacional com cada qubit inicializado como zero. Embora tal convenção seja sensata neste caso, ela não é empregada na literatura de computação quântica.
Expressa linearidade com notação de Dirac
Outra característica da notação de Dirac é o fato de que ela é linear. Por exemplo, para dois números complexos $\alpha$ e $\beta$, você pode escrever
$$\ket{\psi}\otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
Ou seja, você pode distribuir a notação de produto tensorial na notação de Dirac para que a obtenção de produtos tensoriais entre os vetores de estado termine de forma semelhante à multiplicação comum.
Os vetores bra seguem uma convenção semelhante de vetores ket. Por exemplo, o vetor $\bra{\psi}\bra{\phi}$ é equivalente ao vetor de estado $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Se o vetor ket $\ket{\psi}$ for $\alpha\ket{0} + \beta\ket{1}$ então a versão bra do vetor será $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.
Como exemplo, imagine que deseja calcular a probabilidade de medir o estado $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ usando um programa quântico para medir estados como $\ket{+}$ ou $\ket{{-}$. Então, a probabilidade de o dispositivo gerar a saída do estado é $\ket{-}$ é
$$|\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}.$$
O fato de que o sinal negativo aparece no cálculo da probabilidade é uma manifestação da interferência quântica, que é um dos mecanismos pelos quais a computação quântica obtém vantagens sobre a computação clássica.
ketbra ou produto externo
O item final que vale a pena discutir na notação de Dirac é o produto ketbra ou externo. O produto externo é representado na notação de Dirac como $\ket{\psi}\bra{\phi}$. O produto externo é definido por meio da multiplicação de matriz como $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ para vetores de estado quântico $\psi$ e $\phi$. O exemplo mais simples, e comprovadamente mais comum dessa notação, é
$$\ket{0}\bra{{0}=\begin{bmatrix}\\ 1 0 \end{bmatrix}\begin{bmatrix}1& \end{bmatrix}=\begin{bmatrix}0 1 & \\ 0 0 & \end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0 0\\ 1 \end{bmatrix}\begin{bmatrix}0& \end{bmatrix}=\begin{bmatrix}1 0 & \\ 0 0 & 1\end{bmatrix}. $$
Ketbras geralmente são chamados de projetores porque projetam um estado quântico em um valor fixo. Como essas operações não são de maneira unitária (e nem mesmo preservam a norma de um vetor), um computador quântico não pode aplicar de maneira determinística um projetor. No entanto, os projetores fazem um lindo trabalho de descrever a ação que a medida tem em um estado quântico. Por exemplo, se medirmos um estado $\ket{\psi}$ como $0$, a transformação resultante que o estado enfrenta como resultado da medida é
$$\ket{\psi}\rightseta \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$
Como seria de esperar se você medisse o estado e descobrisse que ele é $\ket{0}$. Para reiterar, esses projetores não podem ser aplicados em um estado em um computador quântico de forma determinista. Em vez disso, eles podem ser aplicados aleatoriamente com o resultado $\ket{0}$ que aparece com alguma probabilidade fixa. A probabilidade de tal medida ser realizada com sucesso pode ser escrita como o valor de expectativa do projetor quântico no estado
$$\bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$
que ilustra que os projetores fornecem uma nova maneira de expressar o processo de medição.
Se, em vez disso, você considerar a medição do primeiro qubit de um estado qubit como sendo $1$, também poderá descrever esse processo de maneira conveniente usando os projetores e a notação de Dirac:
$$P(\text{primeiro qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Aqui, a matriz de identidade pode ser convenientemente escrita em notação de Dirac como
$$\mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1& \\ 0 0& \end{bmatrix}1 . $$
Para o caso em que há dois qubits, o projetor pode ser expandido como
$$\ket{1}\bra{1}\otimes\mathbb{Eu}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$
você pode ver que isso é consistente com a discussão sobre as chances de medição dos estados de vários qubits usando a notação de vetor de coluna:
$$ P(\text{primeiro qubit = 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 corresponde à discussão sobre a medição de várias qubits. A generalização desse resultado para o caso de vários qubits, no entanto, é um pouco mais simples de expressar usando notação de Dirac do que a notação de vetor de coluna e é totalmente equivalente ao modo anterior.
Operadores de densidade
Outro operador útil para expressar usando a notação de Dirac é o operador de densidade, às vezes também conhecido como operador de estado. Como o vetor de estado quântico, o operador de densidade descreve o estado quântico de um sistema. Enquanto os vetores de estado quântico só podem representar estados puros, os operadores de densidade também podem representar estados mistos.
Em geral, uma matriz $\rho$ é um operador de densidade válido se as seguintes condições forem atendidas:
- $\rho$ é uma matriz de números complexos
- $\rho = \rho^{\dagger}$ (ou seja, $\rho$ é Hermitian)
- Todo autovalor $p$ de $\rho$ é não negativo
- A soma total dos autovalores de $\rho$ é 1
Juntas, essas condições garantem que $\rho$ possa ser considerado um ensemble. Um operador de densidade de um vetor de estado quântico $\ket{\psi}$ assume a forma $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ é uma decomposição de autovalor de $\rho$, poratanto, $\rho$ descreve o ensemble $\rho ={\ket{\psi_i}\text{com probabilidade} p_i }$.
Estados quânticos puros são caracterizados por um único vetor ket ou função de onda e não podem ser gravados como uma combinação estatística (ou combinação convexa) de outros estados quânticos. Um estado quântico misto é um conjunto estatístico de estados puros.
Em uma esfera de Bloch, os estados puros são representados por um ponto na superfície da esfera, enquanto os estados mistos são representados por um ponto interior. O estado misto de um único qubit é representado pelo centro da esfera, por simetria. A pureza de um estado pode ser visualizada como o grau em que ele está próximo da superfície da esfera.
Esse conceito de representar o estado como uma matriz, em vez de um vetor, geralmente é conveniente porque fornece uma maneira conveniente de representar cálculos de probabilidade e também permite descrever a incerteza estatística e a incerteza quântica dentro do mesmo formalismo.
Um operador de densidade $\rho$ representa um estado puro se, e somente se:
- $\rho$ puder ser gravado como um produto externo de um vetor de estado, $\rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho^2$
- $tr(\rho^2)=1$
Para saber o quão próximo um determinado operador de densidade $\rho$ está de ser puro, você pode ver o rastreamento (ou seja, a soma dos elementos diagonais) de $\rho^2$. Um operador de densidade representa um estado puro se, e somente se $tr(\rho ^{2})=1$.
Q# sequências de portões equivalentes a estados quânticos
Um ponto final que vale a pena salientar sobre a notação quântica e a linguagem de programação Q#: no início deste documento, mencionamos que o estado quântico é o objeto fundamental das informações na computação quântica. Então, pode ser uma surpresa que em Q# não há nenhuma noção de um estado quântico. Em vez disso, todos os estados são descritos somente pelas operações usadas para prepará-los. O exemplo anterior é uma ilustração excelente disso. Em vez de expressar uma superposição uniforme em cada cadeia de caracteres de bits quânticos em um registro, você pode representar o resultado como $H^{\otimes n}\ket{0}$. Essa descrição exponencialmente mais curta do estado não apenas tem a vantagem de que você pode, de maneira clássica, raciocinar a respeito disso, mas também define de modo conciso as operações necessárias para serem propagadas por meio da pilha de software para implementar o algoritmo. Por esse motivo, Q# é projetado para emitir sequências de portão em vez de estados quânticos; no entanto, em um nível teórico, as duas perspectivas são equivalentes.