Implementação do quantum Uhlmann Fidelity no Mathematica

Sep 05 2020

Eu quero implementar a fidelidade quântica de Uhlmann $$F(\rho, \sigma) := \mathrm{tr} \left[\sqrt{\sqrt{\rho} \sigma \sqrt{\rho}} \right]^2.$$ no Mathematica como uma medida de "proximidade" entre duas matrizes de densidade.

No entanto, acho que minha implementação está errada.

$$fidelity[\rho\_, \sigma\_] := (\mathrm{Tr} \left[\sqrt{(\sqrt{\rho}).\sigma.(\sqrt{\rho})} \right])^2$$

Quando eu testo no teste$\rho$ = {{1/9, 2/3, 2/9}, {1/3, 4/9, 4/9}, {2/9, 4/9, 4/9}};

teste$\sigma$ = {{1/9, 1/3, 2/9}, {1/3, 4/9, 4/9}, {2/9, 4/9, 4/9}};

Obtenho uma fidelidade de 1, o que obviamente não é correto, pois essas matrizes não são iguais. Eu esperaria que a fidelidade fosse 1 se e somente se$\rho=\sigma$.

Respostas

9 Roman Sep 05 2020 at 16:55

Aqui está uma definição que é insensível à normalização da matriz de densidade:

F[ρ_, σ_] := Tr[MatrixPower[MatrixPower[ρ, 1/2].σ.MatrixPower[ρ, 1/2], 1/2]]^2/(Tr[ρ]*Tr[σ])

Testes com semi-definido positivo $3\times3$ matrizes:

testρ = {{1/5, 1/5, 0}, {1/5, 3/5, 1/5}, {0, 1/5, 1/5}};
testσ = {{1/3, -1/6, 1/6}, {-1/6, 1/3, -1/6}, {1/6, -1/6, 1/3}};

F[testρ, testρ] // FullSimplify
(*    1    *)

F[testρ, testσ] // FullSimplify
(*    8/15    *)

F[testσ, testρ] // FullSimplify
(*    8/15    *)

F[testσ, testσ] // FullSimplify
(*    1    *)