Partilhar via


Notação de Dirac na computação quântica

de notação de Dirac é uma maneira concisa e poderosa de descrever estados e operações quânticas. Seu nome é uma homenagem ao físico Paul Dirac, que desenvolveu a notação na década de 1930. A notação de Dirac é usada na computação quântica para descrever estados quânticos, operações quânticas e medições quânticas.

Este artigo apresenta a notação Dirac e mostra como usá-la para descrever estados e operações quânticas.

Vetores na notação de Dirac

Existem dois tipos de vetores na notação de Dirac: o vetor bra , 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 notação bra-ket.

Se é um vetor de coluna, então você pode escrevê-lo na notação Dirac como , onde o \cdot denota que é um vetor ket .

Da mesma forma, o vetor de linha $\psi^\dagger$ é expresso como $\bra{\psi}$, que é um bra vetor. Em outras palavras, $\psi^\dagger$ é obtido 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$ consigo mesmo, que é por definição $1$.

Mais geralmente, se $\psi$ e $\phi$ são vetores de estado quântico, então seu produto interno é $\braket{\phi|\psi}$. Este produto interno implica que a probabilidade de medir o estado $\ket{\psi}$ a ser $\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 Hadamard com notação Dirac

Vamos aplicar o portão de 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 unitários na $+x$ e $-x$ direções na esfera de Bloch. Esses estados também podem ser expandidos usando a notação 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 tais somas são facilmente expressas usando a notação de Dirac. O inverso também é verdadeiro na medida em que os estados $\ket{+}$ e $\ket{-}$ também formam uma base para 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 0 1, que é o produto interno entre $\braket{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.$ Além disso, 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 ortonormais.

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 porque $\braket{1 | 0}=0 a$ probabilidade de medir $1 é$

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

Notação do produto tensor

A notação de Dirac é muito ú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 é o produto tensor dos dois vetores de estado.

O produto tensor $\psi\otimes\phi$ para quaisquer dois vetores de estado quântico $\phi$ e $\psi$ é escrito em notação de 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 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 se perguntar por que a soma vai de $0$ a $2^{n-1}$ para $n$ bits. Primeiro, observe que existem $2^{n}$ configurações diferentes que $n$ bits podem tomar. Você pode ver isso observando que um bit pode ter $2$ valores, mas dois bits podem levar $4$ valores e assim por diante. Em geral, isso significa que existem $2^n$ diferentes cadeias 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 nota lateral, neste exemplo você não usou +^ n+ em analogia a$\ket{} ^{\otimes n}=\ket{}$$\ket{{0}.{\otimes}=\ket{{0}$ Esta convenção notacional é reservada para o estado de base computacional com cada qubit inicializado a zero. Embora tal convenção seja sensata neste caso, ela não é empregada na literatura de computação quântica.

Expresse linearidade com notação Dirac

Outra característica da notação de Dirac é o fato de ser linear. Por exemplo, para dois números $\alpha$ complexos e $\beta$, você pode escrever

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

Ou seja, você pode distribuir a notação do produto tensor na notação de Dirac para que tomar produtos tensores entre vetores de estado acabe se parecendo com a multiplicação comum.

Os vetores de sutiã seguem uma convenção semelhante aos vetores ket. Por exemplo, o vetor $\bra{\psi}\bra{\phi}$ é equivalente ao vetor $\pside estado ^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Se o vetor $\ket{\psi}$ ket é $\alpha\ket{0} + \beta\ket{1}$, então a versão vetorial do sutiã do vetor é $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.

Como exemplo, imagine que você 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{{-}$ Em seguida, a probabilidade de que o dispositivo iria saída que o 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-5=\left|\frac{3}{\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 de interferência quântica, que é um dos mecanismos pelos quais a computação quântica ganha vantagens sobre a computação clássica.

ketbra ou produto exterior

O último item que vale a pena discutir na notação de Dirac é o ketbra ou produto externo. O produto externo é representado nas notações de Dirac como $\ket{\psi}\bra{\phi}$. O produto externo é definido via multiplicação matricial como $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ para vetores de estado quântico $\psi$ e .$\phi$ O exemplo mais simples, e indiscutivelmente mais comum, desta 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 são frequentemente chamados de projetores porque projetam um estado quântico em um valor fixo. Como essas operações não são unitárias (e nem mesmo preservam a norma de um vetor), um computador quântico não pode aplicar deterministicamente um projetor. No entanto, os projetores fazem um belo trabalho ao descrever a ação que a medição tem em um estado quântico. Por exemplo, se você medir um estado $\ket{\psi}$ como $0$, a transformação resultante que o estado experimenta como resultado da medição é

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

como seria de esperar se medisse o estado e descobrisse que era $\ket{0}$. Para reiterar, tais projetores não podem ser aplicados em um estado em um computador quântico deterministicamente. Em vez disso, eles podem, na melhor das hipóteses, ser aplicados aleatoriamente, com o resultado $\ket{0}$ aparecendo com alguma probabilidade fixa. A probabilidade de tal medição ter 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,$$

o que ilustra que os projetores dão uma nova maneira de expressar o processo de medição.

Se, em vez disso, você considerar medir o primeiro qubit de um estado de vários qubits como $1$, então você também pode descrever esse processo convenientemente usando projetores e notação 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 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{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$

Você pode então ver que isso é consistente com a discussão sobre probabilidades de medição para estados multiqubit usando notação coluna-vetor:

$$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 de medição de vários qubits. A generalização deste resultado para o caso multi-qubit, no entanto, é um pouco mais simples de expressar usando a notação de Dirac do que a notação coluna-vetor, e é inteiramente equivalente ao tratamento anterior.

Operadores de densidade

Outro operador útil para expressar usando a notação 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.

De um modo mais geral, uma dada matriz $\rho$ é um operador de densidade válido se estiverem preenchidas as seguintes condições:

  • $\rho$ é uma matriz de números complexos
  • $\rho = \rho^{\dagger}$ (isto é, $\rho$ é Hermitian)
  • Cada autovalor $p$ de $\rho$ é não-negativo
  • Todos os autovalores de $\rho$ somam 1

Juntas, essas condições garantem que $\rho$ possa ser pensado como um conjunto. Um operador de densidade para um vetor $\ket{\psi}$ de estado quântico assume a forma $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ é uma decomposição de autovalor de $\rho$, então $\rho$ descreve o conjunto $\rho={\ket{\psi _i}\text{com probabilidade} p_i .}$

Estados quânticos puros são aqueles que são caracterizados por um único vetor ket ou função de onda, e não podem ser escritos como uma mistura 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á perto da superfície da esfera.

Este conceito de representar o estado como uma matriz, em vez de um vetor, é muitas vezes conveniente porque dá 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$ pode ser escrito como um produto externo de um vetor de estado, $\rho=\ket{\psi}\bra{\psi}$
  • $\rho =\rho^2$
  • $tr(\rho^2)=1$

Para dizer o quão próximo um determinado operador $de densidade \rho$ está de ser puro, você pode olhar para o traço (isto é, 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 porta equivalentes a estados quânticos

Um último ponto que vale a pena levantar sobre a notação quântica e a linguagem de programação: o Q# início deste documento mencionou que o estado quântico é o objeto fundamental da informação na computação quântica. Pode então ser uma surpresa que não Q# haja noção de um estado quântico. Em vez disso, todos os estados são descritos apenas pelas operações usadas para prepará-los. O exemplo anterior é uma excelente ilustração disso. Em vez de expressar uma superposição uniforme sobre cada cadeia de bits quânticos em um registro, você pode representar o resultado como $H^{\otimes n}\ket{0}$. Esta descrição exponencialmente mais curta do estado não só tem a vantagem de que você pode raciocinar classicamente sobre ele, mas também define de forma concisa as operações necessárias para serem propagadas através da pilha de software para implementar o algoritmo. Por esta razão, Q# é projetado para emitir sequências de porta em vez de estados quânticos, no entanto, em um nível teórico as duas perspetivas são equivalentes.