Evaluating the figures of merit: QPtomographer.figofmerit

This module provides some functions to calculate the diamond norm distance, the average entanglement fidelity as well as the worst-case entanglement fidelity (see Figures of Merit for Channels).

QPtomographer.figofmerit.diamond_norm_dist(Delta_XY, dim_X[, epsilon=1e-6])

Compute the diamond norm of Delta_XY. This computes \(\frac{1}{2} \lVert \Delta_{X\to Y} \rVert_{\diamond}\) by solving a semidefinite program, as described in Figures of Merit for Channels. Specify the dimension of the input system \(X\) in the argument dim_X (the dimension of the output system is deduced from the size of Delta_XY).

The Hermiticity-preserving map \(\Delta_{X\to Y}(\cdot)\) is specified in the argument Delta_XY as a complex NumPy array, via the Choi matrix, of dimension \(d_X d_Y \times d_X d_Y\), as specified in Conventions for specifying channels and states.

The semidefinite problem is solved using SCS via QPtomographer’s C++ wrappers. This function is in fact a wrapper to the same C++ subroutine code that computes the diamond norm when calling QPtomographer.channelspace.run() or QPtomographer.bistates.run().

The argument epsilon specifies the precision to which the SDP characterizing the diamond norm is solved.

QPtomographer.figofmerit.avg_entgl_fidelity2(E_XY, dim_X)

Compute the average entanglement fidelity (squared) of the process specified by E_XY to the identity process. See Figures of Merit for Channels for details. Specify the dimension of the input system \(X\) in the argument dim_X (the dimension of the output system is deduced from the size of Delta_XY).

The completely positive, trace-preserving map \(\mathcal{E}_{X\to Y}(\cdot)\) is specified in the argument E_XY as a complex NumPy array, via the Choi matrix, of dimension \(d_X d_Y \times d_X d_Y\), as specified in Conventions for specifying channels and states.

The average entanglement fidelity is calculated by direct computation, via the same C++ code that computes the average entanglement fidelity when calling QPtomographer.channelspace.run() or QPtomographer.bistates.run().

QPtomographer.figofmerit.worst_entgl_fidelity2(E_XY, dim_X[, epsilon=1e-6])

Compute the worst-case entanglement fidelity (squared) of the process specified by E_XY to the identity process. See Figures of Merit for Channels for details. Specify the dimension of the input system \(X\) in the argument dim_X (the dimension of the output system is deduced from the size of Delta_XY).

The completely positive, trace-preserving map \(\mathcal{E}_{X\to Y}(\cdot)\) is specified in the argument E_XY as a complex NumPy array, via the Choi matrix, of dimension \(d_X d_Y \times d_X d_Y\), as specified in Conventions for specifying channels and states.

The semidefinite problem is solved using SCS via QPtomographer’s C++ wrappers. This function is in fact a wrapper to the same C++ subroutine code that computes the worst-case entanglement fidelity when calling QPtomographer.channelspace.run() or QPtomographer.bistates.run().

The argument epsilon specifies the precision to which the SDP characterizing the worst-case entanglement fidelity is solved.