$\newcommand{\ket}[1]{\left|{#1}\right\rangle}$ $\newcommand{\bra}[1]{\left\langle{#1}\right|}$ $\newcommand{\braket}[2]{\left\langle{#1}\middle|{#2}\right\rangle}$ $\newcommand{\ketbra}[2]{\left|{#1}\right\rangle \left\langle{#2}\right|}$

Aplicações do operador densidade

Neste notebook, usaremos os conceitos aprendidos até agora, incluindo as ferramentas computacionais, em algumas aplicações físicas. Aproveitaremos, também, para extender algumas ideias, no sentido de descrever sistemas mais complexos, envolvendo múltiplas partículas.

Exemplo 1: sistemas compostos

Vamos considerar um sistema composto de duas partículas (ou dois sistemas físicos quaisquer) que, por simplicidade, vamos supor ser de dois níveis. Sejam A e B dois sistemas fechados de dois níveis representados pelas matrizes $\rho_A$ e $\rho_B$:

$$ \rho_A = \begin{pmatrix} 1/3 & 0 \\ 0 & 2/3 \end{pmatrix}; \quad \rho_B = \begin{pmatrix} 3/8 & 0 \\ 0 & 5/8 \end{pmatrix}, $$

:: ¡Desafio! :: _Para praticar, tente representar $\rho_A$ e $\rho_B$ como operadores..._

A matriz densidade do sistema composto é dada pelo produto tensorial

$$ \begin{aligned} \rho_{_{AB}} &=\rho_A \otimes \rho_B \\ \rho_A \otimes \rho_B &= \begin{pmatrix} 1/3 & 0 \\ 0 & 2/3 \end{pmatrix} \otimes \begin{pmatrix} 3/8 & 0 \\ 0 & 5/8 \end{pmatrix} \\ &= \begin{pmatrix} 1/8 & 0 & 0 & 0 \\ 0 & 5/24 & 0 & 0 \\ 0 & 0 & 1/4 & 0 \\ 0 & 0 & 0 & 5/12 \end{pmatrix} \end{aligned} $$

Como podemos facilmente verificar abaixo, usando sympy e numpy...

Oserve que o produto $\rho_A^2$ produz o resultado esperado..

Assim como, usando os métodos definidos para o objeto Matrix, podemos verificar que $\rho_A \cdot \rho_A^{-1} = I$

Usando a biblioteca sympy, calculamos o produto tensorial com TensorProduct( )

Neste exemplo, para facilitar a visualização e identificação das operações do produto tensorial, foram usadas matrizes diagonais (estados mistos, como mostra o $\text{Tr}(\rho_A^2)$, calculado abaixo)

mas poderíamos fazer o mesmo para qualquer matrix densidade, de qualquer dimensão. Mas adiante veremos outros exemplos, que exploram mais essa opções.

Isso também poderia ser feito, facilmente, usando a biblioteca numpy.

Em geral, nos casos que envolvem apenas cálculos numéricos e desempenho é importante, é sempre preferível usar a biblioteca numpy.

Exercício sugerido

Para praticar um pouco mais tudo que aprendemos até agora, expressse todos os operadores densidade acima usando a notação de operadores, ao invés da representação matricial.

Exemplo 2: operador reduzido e Traço parcial

Suponha, apenas para fixar ideia, que o sistema do Exemplo 1 representasse duas partículas de spin-1/2, e que inicialmente nos fosse dado apenas a matriz densidade do sistema composto AB.

Essa informação permite-nos, facilmente, calcular as probilidades dos estados produto. Por exemplo...

Faça você mesmo: Como poderíamos calcular a probabilidade de observar o estado $\ket{\downarrow\uparrow}$?

Uma sitação diferente, mas ainda simples, é perguntar, para os estados de duas partículas, a probabilidade de observar uma medida onde a partícula B está no estado $\ket{\downarrow}$. Essa medida também pode ser respondida a pela observação direta da matriz densidade total do sistema.

DIY: Tente fazer sua previsão, antes de resolvermos...

Porém, se tivéssemos apenas a matriz total, como poderíamos responder, em geral, as perguntas abaixo?

No sistema do Exemplo 1, se fosse feita uma medida na partícula B para determinar a projeção do spin na direção $\hat z$, qual seria a probabilidade de medir o estado $\ket{\downarrow}$?

E se a medida fosse na direção $\hat x_B$, qual seria a probabilidade de observar o estado $\ket{\uparrow;x}$? Qual seria o valor esperado de $\langle S_x \rangle$ para cada partícula, se medidas separadamente?

DIY: Tente fazer sua previsão, antes de resolvermos.

Para perguntas desse tipo, podemos usar a matriz densidade reduzida do sistema composto (i.e., as densidades $\rho_A$ e $\rho_B$), que podem ser calculada a partir da matriz densidade total usando o conceito de Traço parcial

$$ \rho_A = \text{Tr}_B\,(\rho_{_{AB}}) $$

onde o símbolo $\text{Tr}_B(\cdot)$ significa, em palavras, fazer o traço apenas sobre o espaço de Hilbert do sistema B. Na prática, o traço parcial é um mapa linear definido abaixo

Traço parcial

O traço parcial pode ser definido por

$$\text{Tr}_B\,(\,\ketbra{a}{a} \otimes \ketbra{b}{b}\,) = \ketbra{a}{a}\,\text{Tr}(\,\ketbra{b}{b}\,),$$

portanto,

$$\text{Tr}_B\,(\,\rho_A \otimes \rho_B\,) = \rho_A \,\text{Tr}(\,\rho_B \,) = \rho_A $$

pois $\text{Tr}(\rho_A)=1$, como qualquer operador densidade.


?!🤔?:: Ok, mas como calcular na prática a partir da matriz total??

¡DIY!: Pense um pouco, e tente fazer sozinho(a) antes de resolvermos juntos.

Ou seja, temo o resultado (esperado):

$$ (\rho_A \otimes \hat I) \cdot (\hat I \otimes \rho_B) = \rho_{_AB} \\ S_A = \rho_A \otimes \hat I \\ S_B = \hat I \otimes \rho_B $$

Temos o produto das matrizes $S_A$ e $S_B$. Note que podermos fazer

$$ S_B = S_A^{-1} \cdot S_A \cdot S_B $$

Aplicações nos problemas propostos

Vamos agora aplicar esse conceito nos problemas (perguntas) proposto acima.

Assim, podemos facilmente calcular o valor esperado $\langle S_x \rangle_B$

$$ \langle S_x \rangle_B = \text{Tr}\,(\rho\,(\hat I \otimes S_x)) $$

Portanto, o $\langle S_x \rangle_B=0$, como esperado.

¡Faça você!: Pense um pouco, e tente fazer sozinho(a) essa parte...

Exemplo 3: usando o QuTiP

Nos exemplos acima utilizamos o sympy, e mostramos como calcular o produto tensorial (Kronecker product) usando o numpy. Claro que poderíamos também, facilmente, fazer tudo numericamente, no numpy, dado que temos valores numéricos apenas, mas ao invés de repetir isso aqui, eu vou mostrar como fazer essas operações usando a outra ferramente que eu apresentei para vocês: o QuTiP (Quantum Toolbox in Python).

Neste caso, para obter o traço parcial $\text{Tr}_B(\cdot)$, basta fazer

Note que o mesmo não funcionaria partindo da matriz densidade completa (sem o produto tensorial).

Mostrarei isso usando a matriz AB, já definida acima.

Preste atenção nas características dos dois objetos Qobj(), em particular em dims.

Eles são, efetivamente, objetos diferentes, como podemos ver tentado tomar o traço parcial

Vamos calcular os mesmos resultados usando o QuTiP...

Ooops! O que aconteceu aqui?? 😲

(Dica: objserve os tipos de objetos que forma multiplicados...)

Ok, vamos fazer da maneira certa, desta vez. Para isso usaremos a função que cria a matriz densidade diretamente a partir do vetor de estado, como mostrado abaixo

Sucesso!! 😃

Agora basta tomar o traço, como fizemos antes.

Na dúvida, vamos verificar se é o mesmo resultado...

Qual o valor esperado de $\langle S_z \rangle$ no estado $\rho$ (sistema total)

Outra forma de obter o mesmo resultado é usando a função qutip.expect( oper, state ).

Exemplo 4: estado emaranhado

Vamos explorar um pouco mais o conceito de matriz densidade total e reduzida em um sistema composto de duas partículas de spin-1/2, mas agora considerando estados puros e superposições.

Vamos considerar os estados $\ket{\uparrow \uparrow}$ e $\ket{\downarrow \downarrow}$ e sua superposição

O estado $\ket{b_1}$ é dado por

$$ \ket{b_1} = \frac{ \ket{\uparrow \uparrow} + \ket{\downarrow \downarrow} }{\sqrt2} $$

que é um estado puro.

Vejamos como fica a matriz densidade desse estado de duas partículas

Podemos determinar agora as matrizes densidades de cada partícula, usando o traço parcial...

Esse é um resultado surpreendente, pois as matrizes reduzidas corresponde a estados de máxima mistura, como podemos confirmar com o traço de $\rho_A^2$

Esse resultado ocorre devido ao fenômeno de emaranhamento, presente no estado $\ket{b_1}$, que corresponde a um dos chamados estados de Bell.

Tente explorar, agora, usando o que aprendeu em um estado de superposição que não seja emaranhado e veja como são as matrizes densidades de cada partícula...

Farei um exemplo, usando um estado puro sem superposição, para você aprender o caminho.

Note que agora a situação é bem diferente!

Confirmando que trata-se de um estado puro!

Tente estender, agora, a ideia para outros estados de superposição e observe as matrizes densidades reduzidas de cada uma das partículas, verificando, ao final, se são estados puros ou mistos. Por exemplo, fazendo o exercício sugerido abaixo.

Exercício sugerido

Repita os passos acima para o estado $$ \ket{\psi} = \frac{ \ket{\uparrow \uparrow} + \ket{\downarrow \uparrow} }{\sqrt2} $$ Como seriam as matrizes densidades total e reduzidas em outra base, por exemplo, na base $\hat x$ ou $\hat y$?
Algumas delas tem temos fora da diagonal?