Implémentation de la fidélité quantique Uhlmann dans Mathematica
Je veux implémenter la fidélité quantique Uhlmann $$F(\rho, \sigma) := \mathrm{tr} \left[\sqrt{\sqrt{\rho} \sigma \sqrt{\rho}} \right]^2.$$ dans Mathematica comme mesure de la «proximité» entre deux matrices de densité.
Cependant, je pense que ma mise en œuvre est fausse.
$$fidelity[\rho\_, \sigma\_] := (\mathrm{Tr} \left[\sqrt{(\sqrt{\rho}).\sigma.(\sqrt{\rho})} \right])^2$$
Quand je le teste sur le test$\rho$ = {{1/9, 2/3, 2/9}, {1/3, 4/9, 4/9}, {2/9, 4/9, 4/9}};
tester$\sigma$ = {{1/9, 1/3, 2/9}, {1/3, 4/9, 4/9}, {2/9, 4/9, 4/9}};
J'obtiens une fidélité de 1, ce qui n'est évidemment pas correct, car ces matrices ne sont pas les mêmes. Je m'attendrais à ce que la fidélité soit de 1 si et seulement si$\rho=\sigma$.
Réponses
Voici une définition insensible à la normalisation de la matrice de densité:
F[ρ_, σ_] := Tr[MatrixPower[MatrixPower[ρ, 1/2].σ.MatrixPower[ρ, 1/2], 1/2]]^2/(Tr[ρ]*Tr[σ])
Tests avec semi-défini positif $3\times3$ matrices:
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 *)