Partilhar via


O qubit na computação quântica

Assim como os bits são o objeto fundamental da informação na computação clássica, os qubits (bits quânticos) são o objeto fundamental da informação na computação quântica. Para entender essa correspondência, este artigo analisa o exemplo mais simples: um único qubit.

Representando um qubit

Enquanto um bit, ou dígito binário, pode ter um valor 0$ $ou $1$, um qubit pode ter um valor que é $0$, $1$ ou uma superposição quântica de $0$ e $1$.

O estado de um único qubit pode ser descrito por um vetor de coluna bidimensional de norma unitária, ou seja, a magnitude ao quadrado de suas entradas deve somar 1$$. Este vetor, chamado de vetor de estado quântico, contém todas as informações necessárias para descrever o sistema quântico de um qubit, assim como um único bit contém todas as informações necessárias para descrever o estado de uma variável binária. Para obter os conceitos básicos de vetores e matrizes em computação quântica, consulte Vetor e matrizes.

Qualquer vetor de coluna bidimensional de números reais ou complexos com a norma $1$ representa um possível estado quântico mantido por um qubit. Assim, $\begin{bmatrix}\alpha\beta\\\end{bmatrix}$ representa um estado qubit se $\alpha$ e $\beta$ são números complexos satisfazendo $|\alpha|^2 + |\beta|^2 = 1.$ Alguns exemplos de vetores de estado quântico válidos que representam qubits incluem:

$$\begin{bmatrix}\\ 1 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix},\frac{\frac{\begin{bmatrix}{1}{\sqrt{2}}\\\end{bmatrix}{1}{\sqrt{2}} , \begin{bmatrix}\\\frac{\end{bmatrix}\frac{1}{\sqrt{{-1}{\sqrt{2}}{2}}, \text{ e\\\frac{\frac{1}{\sqrt{{2}}}\begin{bmatrix} i.}{\sqrt{2}}\end{bmatrix}$$

Os vetores de estado quântico $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ e $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$ assumem um papel especial. Esses dois vetores formam uma base para o espaço vetorial que descreve o estado do qubit. Isso significa que qualquer vetor de estado quântico pode ser escrito como uma soma desses vetores base. Especificamente, o vetor x y pode ser escrito como $x \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \begin{bmatrix} 0 \\ 1 \end{bmatrix}$.\end{bmatrix}$ \\ $\begin{bmatrix} Enquanto qualquer rotação desses vetores serviria como uma base perfeitamente válida para o qubit, este em particular é escolhido, chamando-o de base computacional.

Estes dois estados quânticos são tomados para corresponder aos dois estados de um bit clássico, ou seja $, 0$ e $1$. A convenção padrão é escolher

$$\equiv\begin{bmatrix} 0 1 \\ 0 \end{bmatrix}, \qquad 1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$

embora a escolha oposta pudesse igualmente ser tomada. Assim, do número infinito de possíveis vetores de estado quântico de qubit único, apenas dois correspondem a estados de bits clássicos; todos os outros estados quânticos não.

Medindo um qubit

Como representar um qubit sendo explicado, pode-se ganhar alguma intuição para o que esses estados representam discutindo o conceito de medição. Uma medida corresponde à ideia informal de "olhar" para um qubit, que imediatamente colapsa o estado quântico para um dos dois estados $\begin{bmatrix} clássicos 1 \\ 0 \end{bmatrix}$ ou $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Quando um qubit dado pelo vetor $\begin{bmatrix}\alpha\\\end{bmatrix}$\betade estado quântico é medido, o resultado $0$ é obtido com probabilidade $|\alpha|^2$ e o resultado $1$ com probabilidade $|\beta|^2.$ No resultado $0$, o novo estado do qubit é $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$e no resultado $1$ o seu estado é $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Note que essas probabilidades somam até 1 devido à $condição $|\alpha|de normalização ^2 + |\beta|^2 = 1$.$

As propriedades de medição também significam que o sinal geral do vetor de estado quântico é irrelevante. Negar um vetor é equivalente a seta -\alpha$ e $\beta\rightseta $\alpha\right-\beta$. Como a probabilidade de medir $0$ e $1$ depende da magnitude ao quadrado dos termos, inserir tais sinais não altera em nada as probabilidades. Tais fases são comumente chamadas &de citação;e mais geralmente pode ser da forma $e^{i \phi}$ em vez de apenas $\pm 1$.&

Uma última propriedade importante da medição é que ela não danifica necessariamente todos os vetores de estado quântico. Se alguém começar com um qubit no estado $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$, que corresponde ao estado $clássico 0$, medir este estado sempre produzirá o resultado $0$ e deixará o estado quântico inalterado. Neste sentido, se houver apenas bits clássicos (por exemplo, qubits que são $\begin{bmatrix}1 \\ 0 \end{bmatrix}$ ou $\begin{bmatrix}0 \\ 1 \end{bmatrix}$), então a medição não danifica o sistema. Isso significa que se pode replicar dados clássicos e manipulá-los em um computador quântico, assim como se poderia fazer em um computador clássico. A capacidade, no entanto, de armazenar informações em ambos os estados ao mesmo tempo é o que eleva a computação quântica além do que é possível classicamente e rouba ainda mais aos computadores quânticos a capacidade de copiar dados quânticos indiscriminadamente, veja também o teorema da não clonagem.

Visualizando qubits e transformações usando a esfera de Bloch

Qubits também podem ser retratados em $3D$usando a representação da esfera de Bloch. A esfera de Bloch dá uma maneira de descrever um estado quântico de qubit único (que é um vetor complexo bidimensional) como um vetor tridimensional de valor real. Isso é importante porque nos permite visualizar estados de qubit único e, assim, desenvolver raciocínios que podem ser inestimáveis na compreensão de estados de vários qubits (onde, infelizmente, a representação da esfera de Bloch se decompõe). A esfera de Bloch pode ser visualizada da seguinte forma:

Esfera de Bloch

As setas neste diagrama mostram a direção em que o vetor de estado quântico está apontando e cada transformação da seta pode ser pensada como uma rotação sobre um dos eixos cardeais. Embora pensar em uma computação quântica como uma sequência de rotações seja uma intuição poderosa, é desafiador usar essa intuição para projetar e descrever algoritmos. Q# atenua esta questão, fornecendo uma linguagem para descrever essas rotações.

Operações de qubit único

Os computadores quânticos processam dados aplicando um conjunto universal de portas quânticas que podem emular qualquer rotação do vetor de estado quântico. Esta noção de universalidade é semelhante à noção de universalidade para a computação tradicional (por exemplo, clássica), onde um conjunto de portas é considerado universal se cada transformação dos bits de entrada pode ser realizada usando um circuito de comprimento finito. Na computação quântica, as transformações válidas que nos é permitido realizar em um qubit são transformações unitárias e medição. A operação adjunta ou a transposição conjugada complexa é de importância crucial para a computação quântica porque é necessária para inverter as transformações quânticas.

As operações de qubit único, ou portas quânticas de qubit único podem ser classificadas em duas categorias: portas Clifford e portas não-Clifford. Os portões não-Clifford consistem apenas em T-gate$ (também conhecido como $o portão \pi/8$).$

$$T=\begin{bmatrix} 1 amp; 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.& $$

O conjunto padrão de portas Clifford de qubit único, incluído por padrão em Q#, inclui

$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & \\ 1 1& 0 \end{bmatrix}= HT^4H, $$

$$ Y =\begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& \\ 0 0&-1 \end{bmatrix}=T^4. $$

Aqui as operações $X$, $Y$ e $Z$ são usadas com especial frequência e são nomeadas operadores Pauli em homenagem ao seu criador Wolfgang Pauli. Juntamente com o portão não-Clifford (o $T-gate$), essas operações podem ser compostas para aproximar qualquer transformação unitária em um único qubit.

Enquanto os anteriores constituem as portas primitivas mais populares para descrever operações no nível lógico da pilha (pense no nível lógico como o nível do algoritmo quântico), muitas vezes é conveniente considerar operações menos básicas no nível algorítmico, por exemplo, operações mais próximas de um nível de descrição de função. Felizmente, Q# também tem métodos disponíveis para implementar unidades de nível superior, que por sua vez permitem que algoritmos de alto nível sejam implementados sem decompor explicitamente tudo até Clifford e $T-gates$.

A mais simples dessas primitivas é a rotação de qubit único. Três rotações de qubit único são normalmente consideradas: $R_x$, $R_y$ e $R_z$. Para visualizar a ação da rotação $R_x(\theta)$, por exemplo, imagine apontar o polegar direito na direção do $eixo x$ da esfera de Bloch e girar o vetor com a mão através de um ângulo de $\theta/2$ radianos. Este fator confuso de $2$ surge do fato de que os vetores ortogonais estão $separados por 180^\circ$ quando plotados na esfera de Bloch, mas na verdade estão separados $geometricamente por 90^\circ$ . As matrizes unitárias correspondentes são:

\begin{alinhar*}& R_z(\theta) = e^{-i\theta Z/2}=\begin{bmatrix} e^{-i\theta/2}& 0\\ 0& e^{i\theta/2\end{bmatrix}}, \\& R_x(\theta) = e^{-i\theta X/2}= HR_z(\theta)H\begin{bmatrix} =\cos(\theta/2) & -i\sin(\theta/2)\\ -i\sin(\theta/2) & \cos(\theta/2) \end{bmatrix}, \\& R_y(\theta) = e^{-i\theta Y/2}= SHR_z(\theta)HS^\dagger\begin{bmatrix}= \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) . \end{bmatrix} \end{alinhar*}

Assim como quaisquer três rotações podem ser combinadas para realizar uma rotação arbitrária em três dimensões, pode-se ver a partir da representação da esfera de Bloch que qualquer matriz unitária pode ser escrita como uma sequência de três rotações também. Especificamente, para cada matriz $unitária U$ existe $\alpha,\beta,\gamma,\delta$ tal que $U= e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta)$. Assim, $R_z(\theta)$ e $H$ também formam um conjunto de portas universais, embora não seja um conjunto discreto porque $\theta$ pode assumir qualquer valor. Por esta razão, e devido às aplicações na simulação quântica, tais portas contínuas são cruciais para a computação quântica, especialmente ao nível do projeto de algoritmos quânticos. Para alcançar uma implementação de hardware tolerante a falhas, eles serão compilados em sequências de porta discretas que se aproximam dessas rotações.