O que é superposição na computação quântica?
No mundo clássico, objetos reais como o gato e a caixa só podem estar em um estado de cada vez. Mas no mundo quântico, as partículas podem existir em uma sobreposição de todos os seus estados possíveis.
Infelizmente, não existem computadores quânticos que usem gatos para realizar cálculos. Em vez disso, os computadores quânticos reais usam qubits, abreviação de bits quânticos. Assim como um bit é a unidade básica de informação na computação clássica, um qubit é a unidade básica de informação na computação quântica. E assim como os bits podem tomar qualquer um dos dois valores possíveis, 0 e 1, um qubit também tem um valor de 0 ou 1 quando o medimos.
Existem muitas representações físicas de qubits. Por exemplo, a polarização de um fóton ou o spin de um elétron podem ser usados como qubits porque os fótons têm dois estados de polarização distintos e os elétrons têm dois estados de spin distintos quando os medimos. Podemos representar um desses estados como 0 e o outro estado como 1, e o qubit sempre dará 0 ou 1 quando o medimos.
Mas como representar a superposição em um qubit? E qual é a probabilidade de encontrarmos um qubit em um determinado estado quando fazemos uma medição?
Representação da esfera de Bloch da superposição para qubits únicos
Um qubit é uma partícula quântica que está em um dos dois estados possíveis quando medimos o qubit. Independentemente da natureza física do qubit, rotulamos os dois estados como 0 e 1. Um qubit pode estar no estado 0, no estado 1 ou em um número infinito de superposições dos estados 0 e 1. Como representamos essas superposições na computação quântica?
Uma representação geométrica útil do estado de superposição de um único qubit é a esfera de Bloch.
Imagine que você desenha um círculo com um raio unitário (comprimento do raio igual a 1). Em seguida, desenhe um eixo vertical e horizontal de modo que os dois eixos se cruzem no centro do círculo. Agora, vamos definir o estado 0 para ser onde o eixo vertical encontra o topo do círculo e o estado 1 para ser onde o eixo vertical encontra a parte inferior do círculo. Neste círculo, os estados 0 e 1 estão distantes entre si $180^\circ$, ou $\pi$ radianos.
Como essa representação se relaciona com o estado de um qubit? Podemos representar o estado do qubit com uma seta (ou vetor) de comprimento unitário que é desenhada do centro do círculo até a borda do círculo. Quando o vetor aponta verticalmente para cima, o qubit está no estado 0, e quando o vetor aponta verticalmente para baixo, o qubit está no estado 1. Nesta representação, um bit clássico seria um vetor que está sempre apontando para cima ou para baixo, mas nunca em qualquer outra direção.
Para um qubit, o vetor pode apontar para qualquer lugar no círculo. Cada posição no círculo, diferente de diretamente para cima ou para baixo, representa um estado de superposição. Por exemplo, chamamos o ângulo que o vetor faz com o estado 0 $\alpha$, e o ângulo que o vetor faz com o estado 1 $\beta$. Em seguida, representamos o estado de superposição do qubit como $\alpha 0 + \beta 1$.
Semelhante ao exemplo do gato e da caixa, o estado de superposição de um qubit é a soma dos estados individuais, 0 e 1, ponderados pelos números $\alpha$ e $\beta$. No entanto, no sistema cat-and-box os pesos são números reais, mas no sistema qubit os pesos $\alpha$ e $\beta$ são números complexos.
Como as amplitudes $\alpha$ e $\beta$ são números complexos, precisamos de outro círculo em nosso diagrama que esteja em um plano perpendicular ao primeiro círculo para representar verdadeiramente qualquer estado de superposição do qubit. Estes dois círculos existem em três dimensões para produzir a esfera de Bloch.
Esta esfera de Bloch é uma representação geométrica precisa de todos os estados de superposição possíveis para um único qubit. O estado qubit é representado pela localização na superfície da esfera para a qual o vetor aponta. Por mais útil que a esfera de Bloch seja, ela infelizmente não pode ser estendida a sistemas com vários qubits.
Gorjeta
A esfera de Bloch é uma ferramenta poderosa porque as operações que realizamos em um qubit durante a computação quântica são representadas como rotações sobre um dos eixos cardeais da esfera de Bloch. Essa representação geométrica ajuda a construir intuição sobre como as operações funcionam na computação quântica, mas é desafiador usar essa intuição para projetar e descrever algoritmos. Q# ajuda fornecendo uma linguagem para descrever essas rotações.
Qual é a probabilidade de encontrar um qubit em um determinado estado?
No sistema "gato-e-caixa" da unidade anterior, os pesos para cada estado são números reais que correspondem diretamente à probabilidade de encontrarmos o sistema em cada estado. No sistema de qubit, os números $\alpha$ e $\beta$ são, em geral, números complexos que não dão diretamente as probabilidades de encontrar o qubit nos estados 0 e 1. Em vez disso, esses números são chamados de amplitudes de probabilidade (ou apenas amplitudes).
As probabilidades reais são calculadas a partir dos quadrados das magnitudes das amplitudes de probabilidade. A probabilidade de uma medição encontrar o qubit no estado 0 é $|\alpha|^2$, e a probabilidade de uma medição encontrar o qubit no estado 1 é $|\beta|^2$. Em geral, $\alpha + \beta$ não totaliza 100%, mas $|\alpha|^2 + |\beta|^2$ sempre totaliza 100%. A restrição de que $|\alpha|^2 + |\beta|^2 = 1$ é chamada de condição de normalização, e cada estado quântico válido deve atender a essa condição.