pygsti.tools.sdptools.root_fidelity_canon#
- root_fidelity_canon(sigma, rho)#
pyGSTi defines fidelity as
F(sigma, rho) = tr([sigma^{1/2} rho sigma^{1/2}]^{1/2})^2.
Others (including Neilson and Chuang, Sect. 9.2.2) define it without the square on the trace. We’ll call the unsquared version the root fidelity, and denote it by
sqrt{F}(sigma, rho) = (F(sigma, rho))^{1/2}.
The root fidelity is jointly concave (Neilson and Chuang, Exercise 9.19). In fact, it admits the following semidefinite programming characterization
- sqrt{F}(sigma, rho) = Maximize real(tr(X))
s.t. [[sigma, X],[X.T.conj(), rho]] >> 0
– see Section 7.1.3 of Killoran’s PhD thesis, “Entanglement quantification and quantum benchmarking of optical communication devices.”
This function returns a pair (expr, constraints) where expr is the hypograph variable for sqrt{F}(sigma, rho) and constraints is a list of CVXPY Constraint objects used in the semidefinite representation of the hypograph.
- Parameters:
sigma (cp.Expression)
rho (cp.Expression)
- Return type:
Tuple[cp.Expression, List[cp.Constraint]]