pygsti.tools.sdptools.root_fidelity_canon

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]]