pygsti.tools.sdptools
Functions for constructing semidefinite programming models
Module Contents
Functions
|
|
|
This more or less implements canonicalization of the nonlinear expression |
|
|
|
|
|
pyGSTi defines fidelity as |
Attributes
- pygsti.tools.sdptools.ExpressionLike
- pygsti.tools.sdptools.BasisLike
- pygsti.tools.sdptools.CVXPY_ENABLED = 'True'
- pygsti.tools.sdptools.diamond_norm_model_jamiolkowski(J: ExpressionLike) tuple[cvxpy.Problem, List[cvxpy.Variable]]
- pygsti.tools.sdptools.diamond_norm_canon(arg: cvxpy.Expression, basis) Tuple[cvxpy.Expression, List[cvxpy.Constraint]]
This more or less implements canonicalization of the nonlinear expression |arg|_{diamond} into CVXPY Constraints and a representation of its epigraph. The canonicalization isn’t quite “complete” in CVXPY’s usual sense, which would require that the epigraph is affine and that no structured variables (like Hermitian matrices) are used.
- pygsti.tools.sdptools.cptp_superop_variable(purestate_dim: int, basis: BasisLike) Tuple[cvxpy.Expression, List[cvxpy.Constraint]]
- pygsti.tools.sdptools.diamond_distance_projection_model(superop: numpy.ndarray, basis: pygsti.baseobjs.Basis, leakfree: bool = False, seepfree: bool = False, n_leak: int = 0, cptp: bool = True, subspace_diamond: bool = False)
- pygsti.tools.sdptools.root_fidelity_canon(sigma: cvxpy.Expression, rho: cvxpy.Expression) Tuple[cvxpy.Expression, List[cvxpy.Constraint]]
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.