Qubits

Os bits da computação quântica

Filipe Chagas Ferraz
CQ em Português
Published in
13 min readJul 19, 2020

--

Os qubits são para a computação quântica o que os bits são para a computação clássica.

É fundamental que se discorra, primeiramente, sobre a forma como as informações são concebidas de forma clássica nos computadores, com bits. Em seguida, uma explicação clara e objetiva sobre os qubits e as informações quânticas se torna mais “palatável”. É com essa premissa que esta pequena dissertação se desenvolve, visando transmitir ao leitor, aficionado pelo tema, algum conhecimento aplicável. Primeiro, uma seção sobre bits; em seguida, uma seção sobre qubits.

Bits e informações “clássicas”

Bit (acrônimo de Binary Term) é a menor unidade de informação que existe em um computador clássico. O bit pode assumir, por vez, um de dois estados: o estado alto, denotado pelo algarismo “1” ou pela letra “H”, ou o estado baixo, denotado pelo algarismo “0” ou pela letra “L”. Estes dois estados têm interpretações físicas clássicas — podem representar tensões elétricas, correntes elétricas, cargas elétricas, entre outras coisas. A maneira pela qual o bit é armazenado, transmitido ou processado é o que define qual interpretação física é adequada.

Combinações de bits

A associação de múltiplos bits concebe as informações de mais de dois estados. Enquanto um bit tem um conjunto de dois estados (“{0,1}”), uma associação de dois bits tem um conjunto de quatro estados (“{00, 01, 10, 11}”), uma associação de três bits tem um conjunto de oito estados (“{000, 001, 010, 011, 100, 101, 110, 111}”), e, assim por diante, uma associação de n” bits tem um conjunto de 2ⁿ estados.

Um artifício matemático que pode ser usado para representar estes conjuntos de estados de n” bits é o produto cartesiano (denotado pelo símbolo “×”).

(1) Definição do produto cartesiano para um par de conjuntos A B

O produto cartesiano é um operador que produz um conjunto de tuplas com todas as combinações possíveis de elementos pertencentes aos conjuntos operandos.

O produto cartesiano pode ser usado com bits da seguinte forma:

Estados de 2 bits: {0,1}×{0,1} = {(0,0), (0,1), (1,0), (1,1)}

Estados de 3 bits: {0,1}×{0,1}×{0,1} ={(0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1)}

Estados de n bits:

(2) Produto cartesiano de n conjuntos {0,1}

Talvez esta ultima definição não tenha ficado muito clara. Este símbolo “Π” (a letra grega Pi maiúscula) com a expressão “t=1” subscrita e a letra n sobrescrita é um produtório — uma sequência de produtos de n conjuntos {0,1}, tal como “{0,1}₁×{0,1}₂×…×{0,1}ₙ” . O resultado é um conjunto de 2ⁿ diferentes tuplas “(x₁, x₂,…,xₙ)” das quais cada “xₜ” é um número 0 ou 1.

Números naturais como bits

Todo sistema numérico tem uma base. O sistema numérico decimal, que é o sistema com o qual estamos mais acostumados, possui base 10 — os números naturais são representados por sequências de algarismos de 0 a 9 (10 símbolos diferentes). O número 152, por exemplo, é representado no sistema decimal pela sequência de algarismos “(1,5,2)”. Em um caso geral, um número natural “X” é representado no sistema decimal pela sequência de “n” algarismos “(x₍ₙ₋₁₎,…,x₂,x₁,x₀)”, tal que:

(3) Valor do número natural X no sistema decimal com n algarismos (…,x₂,x₁,x₀)

O número 152, por exemplo, equivale a 1×10²+5×10¹+2×10⁰.

Da mesma forma, é possível formar números naturais com sequências de bits — basta usar o sistema numérico binário, de base 2. No sistema binário, os números naturais são representados por sequências de algarismos de 0 a 1 (bits). Um número natural “X” é representado no sistema binário pela sequência de “n” bits(x₍ₙ₋₁₎,…,x₂,x₁,x₀)”, tal que:

(4) Valor do número natural X no sistema binário com n bits (…,x₂,x₁,x₀)

Neste caso, como uma associação de “n” bits tem um conjunto de 2ⁿ estados distintos, “X” só pode assumir valores de 0 até 2ⁿ-1, o que corresponde a um total de 2ⁿ valores diferentes (lembre-se que o “0” conta). Em termos matemáticos, isto significa que:

(5) O conjunto dos valores de X com n bits

As tabelas a seguir mostram alguns exemplos de números naturais no sistema decimal e no sistema binário.

Também é possível representar números inteiros, números reais e números complexos com sequências de bits, mas não convém explicar isso aqui.

Qubits e informações quânticas

Qubit (acrônimo de Quantum Bit) é o equivalente do bit para a computação quântica. Assim como o bit é a menor unidade de informação da computação clássica, o qubit é a menor unidade de informação da computação quântica. Em contraste com os bits, um qubit pode assumir uma infinidade de estados, o que inclui os estados |0⟩, |1⟩, e superposições desses dois. No entanto, quando o estado do qubit é verificado experimentalmente, ele se manifesta probabilisticamente como |0⟩ ou |1⟩. Esses infinitos estados do qubit são interpretados fisicamente como estados quânticos — estados de sistemas físicos que obedecem às leis da mecânica quântica.

Estados do qubit

Os estados de um qubit são definidos como vetores em espaços vetoriais complexos. O espaço de estados de um qubit possui uma base de dois vetores ortonormais: |0⟩ e |1⟩.

(6) Vetores da base computacional do espaço de estados de um qubit

Como você deve ter reparado, um valor (como 0 ou 1) entre os caracteres “|” e “⟩” corresponde a um vetor. Este símbolo é chamado ket. Também existe o símbolo bra (“⟨…|”), para o qual ⟨x| corresponde à transposta conjugada do ket |x⟩. Neste caso, ⟨x|y⟩ é o produto interno dos vetores |x⟩ e |y⟩. Esta notação é chamada Bra-ket ou notação de Dirac. Os vetores que são representados pela notação Bra-ket pertencem a espaços de Hilbert — espaços vetoriais com noções de ângulo e distância que não necessariamente têm dimensões finitas.

Os estados de um qubit podem ser definidos pela seguinte combinação linear:

(7) Combinação linear do estado de um qubit

Onde |ψ⟩ é um vetor no espaço vetorial ℂ² que representa o estado do qubit, e os coeficientes a₀ e a₁ são números complexos que representam as amplitudes de probabilidade dos estados |0⟩ e |1⟩.

Quando o estado |ψ⟩ é medido experimentalmente, mesmo quando está em uma superposição dos estados |0⟩ e |1⟩, sempre se manifesta probabilisticamente como |0⟩ ou |1⟩. A probabilidade do estado |0⟩ se manifestar é ‖a₀² (quadrado do absoluto de a₀), e a probabilidade do estado |1⟩ se manifestar é ‖a₁² (quadrado do absoluto de a₁). A soma das probabilidades deve ser sempre 1.

(8) Soma das probabilidades de um qubit

O fenômeno da “manifestação” probabilística dos estados do sistema quântico é conhecido como colapso do estado quântico.

Identidade de Euler

A expressão “eⁱᶲ” (“e” elevado a “i” “phi”) é muito recorrente na computação quântica. A letra “e” é a constante de Euler, que vale aproximadamente 2,718281828459045235360287. A letra “i” é a unidade imaginária (raiz quadrada de -1), e a letra grega “ϕ” (phi) é um ângulo qualquer em radianos. Esta expressão tem a seguinte definição:

(9)

Ou seja: “eⁱᶲ” corresponde a um número complexo cuja parte real é “cosϕ” (cosseno de phi) e a parte imaginária é “sinϕ” (seno de phi).

Agora, considere as seguintes fórmulas:

(10)
(11) Módulo de um número complexo z=x+iy, onde x e y são números reais

As fórmulas 9, 10 e 11 juntas levam à seguinte conclusão:

(12) Módulo de “e^(iϕ)

Isto significa que, para qualquer valor de ϕ, eⁱᶲ” sempre corresponde a um número complexo de módulo 1. Então, sempre que você, leitor, ver a expressão “eⁱᶲ” em uma fórmula matemática, lembre-se, é um número complexo de módulo 1.

Vale notar que, para um número real “u” qualquer, o módulo de “ueⁱᶲ” equivale ao próprio “u”.

(14)

Esfera de Bloch

Representar graficamente um vetor em ℂ² não é tão simples. Um único número complexo com parte imaginária diferente de zero é análogo a um vetor em ℝ² (uma dimensão para a parte real e outra para a parte imaginária), e seguindo esta mesma lógica, um vetor em ℂ² é análogo a um vetor em ℝ⁴, que não pode ser representado graficamente usando o sistema de coordenadas cartesiano. No entanto, um vetor em ℂ² que representa especificamente o estado de um qubit pode ser generalizado pela seguinte fórmula:

(15)

Onde θ e ϕ são ângulos em radianos.

Usando esta fórmula (15), é possível representar graficamente o estado de um qubit em coordenadas polares, como mostra a imagem a seguir:

Esfera de Bloch. Fonte: https://pt.m.wikipedia.org/wiki/Ficheiro:Bloch_Sphere.svg

Esta representação gráfica do estado de um qubit é denominada esfera de Bloch.

Repare que, na esfera de Bloch, θ é representado como o ângulo entre o vetor |ψ⟩ e o eixo z, e ϕ é representado como o ângulo entre a projeção do vetor |ψ⟩ no plano xy e o eixo x.

Os estados |+〉, |-〉, |+i〉 e |-i〉

Além das bases ortonormais |0⟩ e |1⟩, existem mais estados notáveis para um qubit: |+⟩, |-⟩, |+i⟩ e |-i⟩ são estados de superposição notáveis por serem colineares ao eixo x ou ao eixo y na esfera de Bloch.

Os 6 estados da esfera de Bloch. Fonte: https://pt.m.wikipedia.org/wiki/Ficheiro:Bloch_Sphere.svg

Os estados |+⟩ e |-⟩ são alinhados com o eixo x na esfera de Bloch, e têm as seguintes definições:

(16)
(17)

Os estados |+i⟩ e |-i⟩ são alinhados com o eixo y na esfera de Bloch, e têm as seguintes definições:

(18)
(19)

|+⟩, |-⟩, |+i⟩ e |-i⟩ são estados diferentes que têm as mesmas estatísticas de medição.

(20)

Qualquer um desses quatro estados, quando é submetido a uma medição, tende a colapsar como |0⟩ ou |1⟩ com probabilidades iguais a 1/2. Ou seja, é aleatório. Além desses quatro estados, existe mais uma infinidade de estados que também têm essa mesma distribuição de probabilidade.

Fase

Suponha que, em uma situação hipotética, um estado quântico |ψ⟩ definido como “|ψ⟩=a₀|0⟩+a₁|1⟩” é medido muitas (quase “infinitas”) vezes. 25% das medições resultam em |0⟩ e 75% das medições resultam em |1⟩. Isso significa que as probabilidades ‖a₀² e ‖a₁² valem, respectivamente, 1/4 e 3/4. Aí vai uma pergunta: é possível deduzir os valores das amplitudes a₀ e a₁ apenas calculando as raízes quadradas das probabilidades ‖a₀² e ‖a₁² ?

A resposta é: não, pois a₀ e a₁ são números complexos. Existem infinitos números complexos “aₙ” com o mesmo módulo ‖aₙ‖.

Lembre-se de que todos os números complexos “ueⁱᶲ” têm módulo “u” (veja na equação 14). Partindo desse pressuposto, é possível dizer que, se a probabilidade ‖a₁² é 3/4, então a amplitude a₁ é “(√3/√4)eⁱᶲ” para algum valor desconhecido de ϕ. É aí que entra o conceito de fase: a fase é um parâmetro do estado quântico que não afeta as estatísticas de medição.

Veja novamente a equação 15:

Repare que, dos dois parâmetros θ e ϕ, apenas o parâmetro θ afeta as estatísticas de medição de |ψ⟩. Para qualquer valor de ϕ, a distribuição de probabilidade da medição de |ψ⟩ será a mesma. É dito que eⁱᶲ” é o fator de fase de |1⟩ na combinação linear do estado |ψ⟩.

Os estados |+⟩, |-⟩, |+i⟩ e |-i⟩, por exemplo, são estados cujos parâmetros ϕ são, respectivamente, “ϕ=0”, “ϕ=π”, “ϕ=π/2” e “ϕ=3π/2”. Nos quatro casos, “θ=π/4”.

‘Phase’ is a commonly used term in quantum mechanics, with several different meanings dependent upon context. At this point it is convenient to review a couple of these meanings. Consider, for example, the state “eⁱᶿ|ψ⟩, where |ψ⟩ is a state vector, and θ is a real number. We say that the state “eⁱᶿ|ψ⟩ is equal to |ψ⟩, up to the global phase factor “eⁱᶿ”. It is interesting to note that the statistics of measurement predicted for these two states are the same.

Esta citação é da obra Quantum Computation and Quantum Information, de Michel A. Nielsen e Isaac L. Chuang.

Em um estado “eⁱᶿ|ψ⟩” de um qubit ou um registrador, o fator global de fase “eⁱᶿ” não faz diferença no contexto de um algoritmo quântico, podendo inclusive ser desconsiderado. No entanto, a diferença entre as fases “eⁱᶿ” e “eⁱ⁽ᶿ⁺ᶲ⁾” em “eⁱᶿ|ψ⟩ = αeⁱᶿ|0⟩ + βeⁱ⁽ᶿ⁺ᶲ⁾|1⟩” deve ser considerada, e inclusive é fundamental para o funcionamento de alguns algoritmos quânticos (como o algoritmo de Grover e a transformada de Fourier quântica).

Registradores quânticos

Um registrador quântico é um agrupamento de múltiplos qubits.

Todos os estados quânticos devem ser representados por vetores, inclusive estados formados por mais de um qubit. Neste caso, o produto cartesiano não serve. É necessário usar um operador que produza um terceiro vetor ao invés de um conjunto de tuplas para representar as combinações de estados dos qubits. Este operador é o produto tensorial (mais específicamente, produto de Kronecker), representado pelo símbolo “⊗”.

O estado que engloba um par de estados |a⟩ e |b⟩ pode ser expresso como um produto tensorial de |a⟩ e |b⟩ da seguinte forma:

(21)

É dito que |ab⟩ é o estado global do registrador constituído pelo par de qubits de estados |a⟩ e |b⟩.

Este produto tensorial pode ser “aberto” da seguinte forma:

(22)

Onde “[a₀, a₁]=|a⟩ e “[b₀, b₁]=|b⟩”.

No geral, um produto tensorial entre um par de matrizes A e B tem a seguinte definição:

(23)

Voltando ao exemplo do par de qubits, suponha que os estados |a⟩ e |b⟩ são:

(24)

O estado global |ab⟩ pode ser definido como a seguinte combinação linear de 4 bases:

(25)

Considerando |ψ⟩=|ab⟩, α=α₀β₀, β=α₀β₁, γ=α₁β₀, δ=α₁β₁, substituindo as amplitudes αₙβₘ pelas equivalentes α, β, γ e δ, temos:

(26)

A soma das probabilidades deve ser igual a 1.

(27)

Partindo do pressuposto de que (α₀β₀)(α₁β₁)=(α₀β₁)(α₁β₀), é possível afirmar que, para que a combinação linear de |ψ⟩ seja de fato um produto tensorial das combinações lineares de |a⟩ e |b⟩, a seguinte relação deve ser satisfeita:

(28)

Caso o estado global de um par de qubits não satisfaça esta relação, este estado global não pode ser representado como um produto tensorial de um par de combinações lineares independentes. Casos em que isto acontece serão explicados na seção sobre qubits emaranhados.

Qubits emaranhados

Suponha que um registrador quântico de 2 qubits tem o seguinte estado global:

(29)

Este é um estado bell, um estado de dois qubits emaranhados.

Representando o estado bell no mesmo formato da equação 26, onde as amplitudes de probabilidade são α, β, γ e δ, temos que:

(30)

Neste caso, é evidente que a relação αδ=βγ, que equivale a ½=0, é falsa (ou seja, αδ≠βγ). Isto significa que o estado bell não é um produto tensorial de duas combinações lineares independentes, e é isso o que define um emaranhamento na computação quântica — se um estado global de n qubits não pode ser representado como um “produtório tensorial” de n combinações lineares independentes, então há um emaranhamento no registrador.

Além desse primeiro, existem outros três estados bell, também conhecidos como pares EPR. O conjunto dos quatro estados bell é o seguinte:

(31) Os quatro estados bell

Os estados bell têm uma característica muito interessante: em uma situação ideal, quando o estado do registrador é medido e um dos qubits colapsa em |0⟩ ou |1⟩, é possível inferir como o outro qubit colapsou. Por exemplo: nos estados |β₀₀⟩ e |β₀₁⟩, quando um dos qubits colapsa em |0⟩, o outro necessariamente colapsa em |0⟩. Da mesma forma, quando um dos qubits colapsa em |1⟩, o outro necessariamente também colapsa em |1⟩.

If we can represent an n-qubit state as the tensor product of the states of individual Qubits “|q₀,q₁,…,qₙ⟩=|q₀⟩⊗|q₁⟩⊗…⊗|qₙ⟩, the state is called separable. However, due to the nature of superposition, it may be that a
multi-qubit state is non-separable and individual qubit states are not well defined independent of other qubits. This non-local correlation phenomenon known as entanglement is a necessary resource to achieve the exponential speedup of quantum compared to classic computation.

Esta citação é da obra Mastering Quantum Computing with IBM QX, da Dra. Christine Corbett Moran.

Referências bibliográficas

--

--

Filipe Chagas Ferraz
CQ em Português

Brasil, Cuiabá-MT; engenheiro de computação pela Universidade Federal de Mato Grosso; professor e pesquisador. https://github.com/FilipeChagasDev