Pular para o conteúdo principal

Informação clássica

Para descrever a informação quântica e seu funcionamento, começaremos com uma visão geral da informação clássica. É natural se perguntar por que tanta atenção é dada à informação clássica em um curso sobre informação quântica, mas há boas razões para isso.

Por um lado, embora a informação quântica e a clássica sejam diferentes de algumas maneiras espetaculares, suas descrições matemáticas são, na verdade, bastante similares. A informação clássica também serve como um ponto de referência familiar ao estudar informação quântica, além de ser uma fonte de analogia que vai surpreendentemente longe. É comum que as pessoas façam perguntas sobre informação quântica que possuem análogos clássicos naturais, e muitas vezes essas perguntas têm respostas simples que podem trazer clareza e insight para as perguntas originais sobre informação quântica. De fato, não é de forma alguma irrazoável afirmar que não se pode verdadeiramente compreender a informação quântica sem entender a informação clássica.

Alguns leitores podem já estar familiarizados com o material que será discutido nesta seção, enquanto outros podem não estar — mas a discussão é destinada a ambos os públicos. Além de destacar os aspectos da informação clássica mais relevantes para uma introdução à informação quântica, esta seção apresenta a notação de Dirac, frequentemente usada para descrever vetores e matrizes em informação e computação quântica. Acontece que a notação de Dirac não é específica da informação quântica; ela pode ser igualmente bem usada no contexto da informação clássica, bem como em muitos outros cenários em que vetores e matrizes surgem.

Estados clássicos e vetores de probabilidade

Suponha que temos um sistema que armazena informação. Mais especificamente, assumiremos que esse sistema pode estar em um número finito de estados clássicos a cada instante. Aqui, o termo estado clássico deve ser entendido em termos intuitivos, como uma configuração que pode ser reconhecida e descrita de forma inequívoca.

O exemplo arquetípico, ao qual voltaremos repetidamente, é o de um bit, que é um sistema cujos estados clássicos são 00 e 1.1. Outros exemplos incluem um dado padrão de seis faces, cujos estados clássicos são 1,1, 2,2, 3,3, 4,4, 5,5, e 66 (representados pelo número correspondente de pontos na face que está voltada para cima); uma nucleobase em uma fita de DNA, cujos estados clássicos são A, C, G e T; e o interruptor de um ventilador elétrico, cujos estados clássicos são (comumente) alto, médio, baixo e desligado. Em termos matemáticos, a especificação dos estados clássicos de um sistema é, de fato, o ponto de partida: nós definimos um bit como um sistema que tem estados clássicos 00 e 1,1, e o mesmo vale para sistemas com diferentes conjuntos de estados clássicos.

Para fins desta discussão, vamos dar o nome X\mathsf{X} ao sistema em questão e usar o símbolo Σ\Sigma para nos referir ao conjunto de estados clássicos de X.\mathsf{X}. Além da suposição de que Σ\Sigma é finito, que já foi mencionada, assumimos naturalmente que Σ\Sigma é não vazio — pois não faz sentido um sistema físico não ter nenhum estado. E embora faça sentido considerar sistemas físicos com infinitamente muitos estados clássicos, desconsideraremos essa possibilidade, que certamente é interessante, mas não é relevante para este curso. Por essas razões, e por conveniência e brevidade, usaremos daqui em diante o termo conjunto de estados clássicos para designar qualquer conjunto finito e não vazio.

Aqui estão alguns exemplos:

  1. Se X\mathsf{X} é um bit, então Σ={0,1}.\Sigma = \{0,1\}. Em palavras, nos referimos a esse conjunto como o alfabeto binário.
  2. Se X\mathsf{X} é um dado de seis faces, então Σ={1,2,3,4,5,6}.\Sigma = \{1,2,3,4,5,6\}.
  3. Se X\mathsf{X} é o interruptor de um ventilador elétrico, então Σ={high,medium,low,off}.\Sigma = \{\mathrm{high}, \mathrm{medium}, \mathrm{low}, \mathrm{off}\}.

Ao pensar em X\mathsf{X} como um portador de informação, os diferentes estados clássicos de X\mathsf{X} podem receber certos significados, levando a diferentes resultados ou consequências. Nesses casos, pode ser suficiente descrever X\mathsf{X} como simplesmente estando em um de seus possíveis estados clássicos. Por exemplo, se X\mathsf{X} é o interruptor de um ventilador, podemos saber com certeza que ele está na posição alto, o que nos levaria a mudá-lo para médio.

Frequentemente no processamento de informação, porém, nosso conhecimento é incerto. Uma maneira de representar nosso conhecimento sobre o estado clássico de um sistema X\mathsf{X} é associar probabilidades aos seus diferentes estados clássicos possíveis, resultando no que chamaremos de estado probabilístico.

Por exemplo, suponha que X\mathsf{X} seja um bit. Com base no que sabemos ou esperamos sobre o que aconteceu com X\mathsf{X} no passado, podemos acreditar que X\mathsf{X} está no estado clássico 00 com probabilidade 3/43/4 e no estado 11 com probabilidade 1/4.1/4. Podemos representar essas crenças escrevendo o seguinte:

Pr(X=0)=34ePr(X=1)=14.\operatorname{Pr}(\mathsf{X}=0) = \frac{3}{4} \quad\text{e}\quad \operatorname{Pr}(\mathsf{X}=1) = \frac{1}{4}.

Uma maneira mais sucinta de representar esse estado probabilístico é por meio de um vetor coluna.

(3414)\begin{pmatrix} \frac{3}{4}\\[2mm] \frac{1}{4} \end{pmatrix}

A probabilidade de o bit ser 00 é colocada no topo do vetor e a probabilidade de o bit ser 11 é colocada na parte inferior, pois esta é a maneira convencional de ordenar o conjunto {0,1}.\{0,1\}.

Em geral, podemos representar um estado probabilístico de um sistema com qualquer conjunto de estados clássicos da mesma forma, como um vetor de probabilidades. As probabilidades podem ser ordenadas da maneira que escolhermos, mas tipicamente há uma maneira natural ou padrão de fazê-lo. Para ser preciso, podemos representar qualquer estado probabilístico por meio de um vetor coluna que satisfaça duas propriedades:

  1. Todas as entradas do vetor são números reais não negativos.
  2. A soma das entradas é igual a 1.1.

Reciprocamente, qualquer vetor coluna que satisfaça essas duas propriedades pode ser tomado como representação de um estado probabilístico. Daqui em diante, nos referiremos a vetores dessa forma como vetores de probabilidade.

Além da concisão dessa notação, identificar estados probabilísticos como vetores coluna tem a vantagem de que as operações sobre estados probabilísticos são representadas por multiplicação matriz–vetor, como será discutido em breve.

Medindo estados probabilísticos

A seguir, consideremos o que acontece quando medimos um sistema quando ele está em um estado probabilístico. Nesse contexto, medir um sistema significa simplesmente que observamos o sistema e reconhecemos o estado clássico em que ele se encontra, sem ambiguidade. Intuitivamente falando, não podemos "ver" um estado probabilístico de um sistema; quando olhamos para ele, simplesmente vemos um dos possíveis estados clássicos.

Ao medir um sistema, também podemos mudar nosso conhecimento sobre ele, e portanto o estado probabilístico que associamos a ele pode mudar. Ou seja, se reconhecermos que X\mathsf{X} está no estado clássico aΣ,a\in\Sigma, então o novo vetor de probabilidade que representa nosso conhecimento do estado de X\mathsf{X} passa a ser o vetor com 11 na entrada correspondente a aa e 00 em todas as outras entradas. Esse vetor indica que X\mathsf{X} está no estado clássico aa com certeza — o que sabemos após reconhecê-lo — e denotamos esse vetor por a,\vert a\rangle, que se lê "ket aa" por uma razão que será explicada em breve. Vetores desse tipo também são chamados de vetores da base padrão.

Por exemplo, assumindo que o sistema em mente é um bit, os vetores da base padrão são dados por

0=(10)e1=(01). \vert 0\rangle = \begin{pmatrix}1\\[1mm] 0\end{pmatrix} \quad\text{e}\quad \vert 1\rangle = \begin{pmatrix}0\\[1mm] 1\end{pmatrix}.

Observe que qualquer vetor coluna bidimensional pode ser expresso como uma combinação linear desses dois vetores. Por exemplo,

(3414)=340+141.\begin{pmatrix} \frac{3}{4}\\[2mm] \frac{1}{4} \end{pmatrix} = \frac{3}{4}\,\vert 0\rangle + \frac{1}{4}\,\vert 1\rangle.

Esse fato se generaliza naturalmente para qualquer conjunto de estados clássicos: qualquer vetor coluna pode ser escrito como uma combinação linear de estados da base padrão. Com bastante frequência, expressamos vetores precisamente dessa forma.

Voltando à mudança de um estado probabilístico após ser medido, podemos notar a seguinte conexão com nossas experiências cotidianas. Suponha que lançamos uma moeda justa, mas a cobrimos antes de olhar para ela. Diríamos então que seu estado probabilístico é

(1212)=12heads+12tails.\begin{pmatrix} \frac{1}{2}\\[2mm] \frac{1}{2} \end{pmatrix} = \frac{1}{2}\,\vert\text{heads}\rangle + \frac{1}{2}\,\vert\text{tails}\rangle.

Aqui, o conjunto de estados clássicos da nossa moeda é {heads,tails}.\{\text{heads},\text{tails}\}. Escolheremos ordenar esses estados com cara primeiro, coroa em segundo.

heads=(10)etails=(01)\vert\text{heads}\rangle = \begin{pmatrix}1\\[1mm] 0\end{pmatrix} \quad\text{e}\quad \vert\text{tails}\rangle = \begin{pmatrix}0\\[1mm] 1\end{pmatrix}

Se descobríssemos a moeda e olhássemos para ela, veríamos um dos dois estados clássicos: cara ou coroa. Supondo que o resultado fosse coroa, naturalmente atualizaríamos nossa descrição do estado probabilístico da moeda para que ele se tornasse tails.|\text{tails}\rangle. Claro, se em seguida cobrirmos a moeda novamente, e depois a descobrirmos e olharmos para ela de novo, o estado clássico ainda seria coroa, o que é consistente com o estado probabilístico ser descrito pelo vetor tails.|\text{tails}\rangle.

Isso pode parecer trivial, e em certo sentido é. No entanto, embora os sistemas quânticos se comportem de maneira inteiramente análoga, suas propriedades de medição são frequentemente consideradas estranhas ou incomuns. Ao estabelecer as propriedades análogas dos sistemas clássicos, o modo como a informação quântica funciona pode parecer menos incomum.

Uma observação final sobre medições de estados probabilísticos é esta: estados probabilísticos descrevem conhecimento ou crença, não necessariamente algo real, e medir apenas muda nosso conhecimento, não o sistema em si. Por exemplo, o estado de uma moeda após lançá-la, mas antes de olhar para ela, é cara ou coroa — simplesmente não sabemos qual até olharmos. Ao ver que o estado clássico é coroa, digamos, naturalmente atualizaríamos o vetor que descreve nosso conhecimento para tails,|\text{tails}\rangle, mas para outra pessoa que não viu a moeda quando ela foi descoberta, o estado probabilístico permaneceria inalterado. Isso não é motivo de preocupação; diferentes indivíduos podem ter diferentes conhecimentos ou crenças sobre um determinado sistema e, portanto, descrevem esse sistema por diferentes vetores de probabilidade.

Operações clássicas

Na última parte deste breve resumo sobre informação clássica, consideraremos os tipos de operações que podem ser realizadas em um sistema clássico.

Operações determinísticas

Primeiro, existem as operações determinísticas, onde cada estado clássico aΣa\in\Sigma é transformado em f(a)f(a) para alguma função ff da forma f:ΣΣ.f:\Sigma\rightarrow\Sigma.

Por exemplo, se Σ={0,1},\Sigma = \{0,1\}, existem quatro funções dessa forma, f1,f_1, f2,f_2, f3f_3 e f4,f_4, que podem ser representadas por tabelas de valores da seguinte forma:

af1(a)0010af2(a)0011af3(a)0110af4(a)0111\begin{array}{c|c} a & f_1(a)\\ \hline 0 & 0\\ 1 & 0 \end{array} \qquad \begin{array}{c|c} a & f_2(a)\\ \hline 0 & 0\\ 1 & 1 \end{array} \qquad \begin{array}{c|c} a & f_3(a)\\ \hline 0 & 1\\ 1 & 0 \end{array} \qquad \begin{array}{c|c} a & f_4(a)\\ \hline 0 & 1\\ 1 & 1 \end{array}

A primeira e a última dessas funções são constantes: f1(a)=0f_1(a) = 0 e f4(a)=1f_4(a) = 1 para cada aΣ.a\in\Sigma. As duas do meio não são constantes; elas são balanceadas: cada um dos dois valores de saída ocorre o mesmo número de vezes (uma vez, neste caso) à medida que percorremos as entradas possíveis. A função f2f_2 é a função identidade: f2(a)=af_2(a) = a para cada aΣ.a\in\Sigma. E f3f_3 é a função f3(0)=1f_3(0) = 1 e f3(1)=0,f_3(1) = 0, mais conhecida como a função NOT.

As ações das operações determinísticas sobre estados probabilísticos podem ser representadas por multiplicação matriz-vetor. Especificamente, a matriz MM que representa uma dada função f:ΣΣf:\Sigma\rightarrow\Sigma é aquela que satisfaz

Ma=f(a)M \vert a \rangle = \vert f(a)\rangle

para todo aΣ.a\in\Sigma. Tal matriz sempre existe e é unicamente determinada por essa exigência. Matrizes que representam operações determinísticas sempre têm exatamente um 11 em cada coluna e 00 para todas as outras entradas.

Por exemplo, as matrizes M1,,M4M_1,\ldots,M_4 correspondentes às funções f1,,f4f_1,\ldots,f_4 acima são as seguintes:

M1=(1100),M2=(1001),M3=(0110),M4=(0011). M_1 = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix}, \hspace{4mm} M_2 = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix}, \hspace{4mm} M_3 = \begin{pmatrix} 0 & 1\\ 1 & 0 \end{pmatrix}, \hspace{4mm} M_4 = \begin{pmatrix} 0 & 0\\ 1 & 1 \end{pmatrix}.

Aqui está uma verificação rápida mostrando que a primeira matriz está correta. As outras três podem ser verificadas de forma similar.

M10=(1100)(10)=(10)=0=f1(0)M11=(1100)(01)=(10)=0=f1(1)\begin{aligned} M_1 \vert 0\rangle & = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix} \begin{pmatrix} 1\\ 0 \end{pmatrix} = \begin{pmatrix} 1\\ 0 \end{pmatrix} = \vert 0\rangle = \vert f_1(0)\rangle \\[4mm] M_1 \vert 1\rangle & = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix} \begin{pmatrix} 0\\ 1 \end{pmatrix} = \begin{pmatrix} 1\\ 0 \end{pmatrix} = \vert 0\rangle = \vert f_1(1)\rangle \end{aligned}

Uma maneira conveniente de representar matrizes dessas e de outras formas faz uso de uma notação análoga para vetores linha à usada para vetores coluna discutida anteriormente: denotamos por a\langle a \vert o vetor linha com 11 na entrada correspondente a aa e zero em todas as outras entradas, para cada aΣ.a\in\Sigma. Esse vetor é lido como "bra a.a."

Por exemplo, se Σ={0,1},\Sigma = \{0,1\}, então

0=(10)e1=(01). \langle 0 \vert = \begin{pmatrix} 1 & 0 \end{pmatrix} \quad\text{e}\quad \langle 1 \vert = \begin{pmatrix} 0 & 1 \end{pmatrix}.

Para qualquer conjunto de estados clássicos Σ,\Sigma, podemos ver vetores linha e vetores coluna como matrizes e realizar a multiplicação matricial ba.\vert b\rangle \langle a\vert. Obtemos uma matriz quadrada com 11 na entrada correspondente ao par (b,a),(b,a), significando que a linha da entrada corresponde ao estado clássico bb e a coluna corresponde ao estado clássico a,a, com 00 em todas as outras entradas. Por exemplo,

01=(10)(01)=(0100). \vert 0 \rangle \langle 1 \vert = \begin{pmatrix} 1\\ 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}.

Usando essa notação, podemos expressar a matriz MM que corresponde a qualquer função dada f:ΣΣf:\Sigma\rightarrow\Sigma como

M=aΣf(a)a. M = \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert.

Por exemplo, considere a função f4f_4 acima, para a qual Σ={0,1}.\Sigma = \{0,1\}. Obtemos a matriz

M4=f4(0)0+f4(1)1=10+11=(0010)+(0001)=(0011).M_4 = \vert f_4(0) \rangle \langle 0 \vert + \vert f_4(1) \rangle \langle 1 \vert = \vert 1\rangle \langle 0\vert + \vert 1\rangle \langle 1\vert = \begin{pmatrix} 0 & 0\\ 1 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0\\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 0\\ 1 & 1 \end{pmatrix}.

A razão pela qual isso funciona é a seguinte. Se pensarmos novamente nos vetores como matrizes, e desta vez considerarmos a multiplicação ab,\langle a \vert \vert b \rangle, obtemos uma matriz 1×1,1\times 1, que podemos tratar como um escalar (ou seja, um número). Por questões de clareza, escrevemos esse produto como ab\langle a \vert b\rangle em vez de ab.\langle a \vert \vert b \rangle. Esse produto satisfaz a seguinte fórmula simples:

ab={1a=b0ab. \langle a \vert b \rangle = \begin{cases} 1 & a = b\\[1mm] 0 & a \neq b. \end{cases}

Usando essa observação, juntamente com o fato de que a multiplicação matricial é associativa e linear, obtemos

Mb=(aΣf(a)a)b=aΣf(a)ab=f(b), M \vert b \rangle = \Biggl( \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert \Biggr) \vert b\rangle = \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert b \rangle = \vert f(b)\rangle,

para cada bΣ,b\in\Sigma, que é precisamente o que exigimos da matriz M.M.

Como discutiremos com mais detalhes mais adiante em uma lição posterior, ab\langle a \vert b \rangle também pode ser visto como um produto interno entre os vetores a\vert a\rangle e b.\vert b\rangle. Produtos internos são de extrema importância na informação quântica, mas adiamos a discussão sobre eles até que sejam necessários.

A esta altura, os nomes "bra" e "ket" podem estar evidentes: juntar um "bra" a\langle a\vert com um "ket" b\vert b\rangle produz um "bracket" ab.\langle a \vert b\rangle. Essa notação e terminologia se deve a Paul Dirac, e por essa razão é conhecida como notação de Dirac.

Operações probabilísticas e matrizes estocásticas

Além das operações determinísticas, temos as operações probabilísticas.

Por exemplo, considere a seguinte operação em um bit. Se o estado clássico do bit é 0,0, ele é deixado intacto; e se o estado clássico do bit é 1,1, ele é invertido, de modo que se torna 00 com probabilidade 1/21/2 e 11 com probabilidade 1/2.1/2. Essa operação é representada pela matriz

(112012). \begin{pmatrix} 1 & \frac{1}{2}\\[1mm] 0 & \frac{1}{2} \end{pmatrix}.

Pode-se verificar que essa matriz faz a coisa certa multiplicando os dois vetores da base padrão por ela.

Para uma escolha arbitrária de um conjunto de estados clássicos, podemos descrever o conjunto de todas as operações probabilísticas em termos matemáticos como aquelas representadas por matrizes estocásticas, que são matrizes que satisfazem essas duas propriedades:

  1. Todas as entradas são números reais não negativos.
  2. As entradas em cada coluna somam 1.1.

Equivalentemente, matrizes estocásticas são matrizes cujas colunas formam vetores de probabilidade.

Podemos pensar nas operações probabilísticas em um nível intuitivo como aquelas em que a aleatoriedade pode de alguma forma ser usada ou introduzida durante a operação, assim como no exemplo acima. Em relação à descrição por matriz estocástica de uma operação probabilística, cada coluna pode ser vista como uma representação vetorial do estado probabilístico gerado dado que a entrada de estado clássico corresponde a essa coluna.

Podemos também pensar nas matrizes estocásticas como sendo exatamente aquelas matrizes que sempre mapeiam vetores de probabilidade em vetores de probabilidade. Ou seja, matrizes estocásticas sempre mapeiam vetores de probabilidade em vetores de probabilidade, e qualquer matriz que sempre mapeia vetores de probabilidade em vetores de probabilidade deve ser uma matriz estocástica.

Por fim, uma maneira diferente de pensar nas operações probabilísticas é que elas são escolhas aleatórias de operações determinísticas. Por exemplo, podemos pensar na operação do exemplo acima como aplicar a função identidade ou a função constante 0, cada uma com probabilidade 1/2.1/2. Isso é consistente com a equação

(112012)=12(1001)+12(1100). \begin{pmatrix} 1 & \frac{1}{2}\\[1mm] 0 & \frac{1}{2} \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 1 & 0\\[1mm] 0 & 1 \end{pmatrix} + \frac{1}{2} \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix}.

Tal expressão é sempre possível, para uma escolha arbitrária de um conjunto de estados clássicos e qualquer matriz estocástica com linhas e colunas identificadas com esse conjunto de estados clássicos.

Composições de operações probabilísticas

Suponha que X\mathsf{X} seja um sistema com conjunto de estados clássicos Σ,\Sigma, e M1,,MnM_1,\ldots,M_n sejam matrizes estocásticas representando operações probabilísticas sobre o sistema X.\mathsf{X}.

Se a primeira operação M1M_1 é aplicada ao estado probabilístico representado por um vetor de probabilidade u,u, o estado probabilístico resultante é representado pelo vetor M1u.M_1 u. Se então aplicarmos a segunda operação probabilística M2M_2 a esse novo vetor de probabilidade, obtemos o vetor de probabilidade

M2(M1u)=(M2M1)u. M_2 (M_1 u) = (M_2 M_1) u.

A igualdade decorre do fato de que a multiplicação matricial (que inclui a multiplicação matriz-vetor como caso especial) é uma operação associativa. Assim, a operação probabilística obtida ao compor a primeira e a segunda operações probabilísticas, onde aplicamos primeiro M1M_1 e depois M2,M_2, é representada pela matriz M2M1,M_2 M_1, que é necessariamente estocástica.

De forma mais geral, compor as operações probabilísticas representadas pelas matrizes M1,,MnM_1,\ldots,M_n nessa ordem, significando que M1M_1 é aplicada primeiro, M2M_2 é aplicada em segundo lugar, e assim por diante, com MnM_n aplicada por último, é representado pelo produto matricial

MnM1. M_n \,\cdots\, M_1.

Observe que a ordem é importante aqui: embora a multiplicação matricial seja associativa, ela não é uma operação comutativa. Por exemplo, se

M1=(1100)eM2=(0110), M_1 = \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix} \quad\text{e}\quad M_2 = \begin{pmatrix} 0 & 1\\[1mm] 1 & 0 \end{pmatrix},

então

M2M1=(0011)eM1M2=(1100). M_2 M_1 = \begin{pmatrix} 0 & 0 \\[1mm] 1 & 1 \end{pmatrix} \quad\text{e}\quad M_1 M_2 = \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix}.

Ou seja, a ordem em que as operações probabilísticas são compostas importa; mudar a ordem em que as operações são aplicadas em uma composição pode alterar a operação resultante.