This notebook shows how we can check how much depolarizing noise a qubit positive operator-valued measure (POVM) can take before it becomes simulable by projective measurements. The general method is described in arXiv:1609.06139. The question of simulability by projective measurements boils down to an SDP problem. Eq. (8) from the paper defines the noisy POVM that we obtain subjecting a POVM $\mathbf{M}$ to a depolarizing channel $\Phi_t$:

$\left[\Phi_t\left(\mathbf{M}\right)\right]_i := t M_i + (1-t)\frac{\mathrm{tr}(M_i)}{d} \mathbb{1}$.

If this visibility $t\in[0,1]$ is one, the POVM $\mathbf{M}$ is simulable.

We will use Convex.jl to solve the SDP problem.

In [ ]:
using Convex


For the qubit case, a four outcome qubit POVM $\mathbf{M} \in\mathcal{P}(2,4)$ is simulable if and only if

$M_{1}=N_{12}^{+}+N_{13}^{+}+N_{14}^{+},$

$M_{2}=N_{12}^{-}+N_{23}^{+}+N_{24}^{+},$

$M_{3}=N_{13}^{-}+N_{23}^{-}+N_{34}^{+},$

$M_{4}=N_{14}^{-}+N_{24}^{-}+N_{34}^{-},$

where Hermitian operators $N_{ij}^{\pm}$ satisfy $N_{ij}^{\pm}\geq0$ and $N_{ij}^{+}+N_{ij}^{-}=p_{ij}\mathbb{1}$, where $i<j$ , $i,j=1,2,3,4$ and $p_{ij}\geq0$ as well as $\sum_{i<j}p_{ij}=1$, that is, the $p_{ij}$ values form a probability vector. This forms an SDP feasibility problem, which we can rephrase as an optimization problem by adding depolarizing noise to the left-hand side of the above equations and maximizing the visibility $t$:

$\max_{t\in[0,1]} t$

such that

$t\,M_{1}+(1-t)\,\mathrm{tr}(M_{1})\frac{\mathbb{1}}{2}=N_{12}^{+}+N_{13}^{+}+N_{14}^{+},$

$t\,M_{2}+(1-t)\,\mathrm{tr}(M_{2})\frac{\mathbb{1}}{2}=N_{12}^{-}+N_{23}^{+}+N_{24}^{+},$

$t\,M_{3}+(1-t)\,\mathrm{tr}(M_{3})\frac{\mathbb{1}}{2}=N_{13}^{-}+N_{23}^{-}+N_{34}^{+},$

$t\,M_{4}+(1-t)\,\mathrm{tr}(M_{4})\frac{\mathbb{1}}{2}=N_{14}^{-}+N_{24}^{-}+N_{34}^{-}$.

We organize these constraints in a function that takes a four-output qubit POVM as its argument:

In :
function get_visibility(K)
noise = real([trace(K[i])*eye(2)/2 for i=1:size(K, 1)])
P = [[ComplexVariable(2, 2) for i=1:2] for j=1:6]
q = Variable(6, Positive())
t = Variable(1, Positive())
constraints = [P[i][j] in :SDP for i=1:6 for j=1:2]
constraints += sum(q)==1
constraints += t<=1
constraints += [P[i]+P[i] == q[i]*eye(2) for i=1:6]
constraints += t*K + (1-t)*noise == P + P + P
constraints += t*K + (1-t)*noise == P + P + P
constraints += t*K + (1-t)*noise == P + P + P
constraints += t*K + (1-t)*noise == P + P + P
p = maximize(t, constraints)
solve!(p)
return p.optval
end

Out:
get_visibility (generic function with 1 method)

We check this function using the tetrahedron measurement (see Appendix B in arXiv:quant-ph/0702021). This measurement is non-simulable, so we expect a value below one.

In :
function dp(v)
eye(2) + v*[0 1; 1 0] + v*[0 -im; im 0] + v*[1 0; 0 -1]
end
b = [ 1  1  1;
-1 -1  1;
-1  1 -1;
1 -1 -1]/sqrt(3)
M = [dp(b[i, :]) for i=1:size(b,1)]/4;
get_visibility(M)

(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
(size(coeff),size(var)) = ((4,4),(4,4))
Problem
Name                   :
Objective sense        : min
Type                   : CONIC (conic optimization problem)
Constraints            : 282
Cones                  : 0
Scalar variables       : 104
Matrix variables       : 12
Integer variables      : 0

Optimizer started.
Conic interior-point optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 59
Eliminator terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries                  : 2                 time                   : 0.00
Lin. dep.  - tries                  : 1                 time                   : 0.00
Lin. dep.  - number                 : 48
Presolve terminated. Time: 0.00
Optimizer  - solved problem         : the primal
Optimizer  - Constraints            : 123
Optimizer  - Cones                  : 1
Optimizer  - Scalar variables       : 22                conic                  : 15
Optimizer  - Semi-definite variables: 12                scalarized             : 120
Factor     - setup time             : 0.00              dense det. time        : 0.00
Factor     - ML order time          : 0.00              GP order time          : 0.00
Factor     - nonzeros before factor : 5110              after factor           : 5110
Factor     - dense dim.             : 0                 flops                  : 3.40e+05
ITE PFEAS    DFEAS    GFEAS    PRSTATUS   POBJ              DOBJ              MU       TIME
0   1.1e+00  2.0e+00  1.0e+00  0.00e+00   0.000000000e+00   0.000000000e+00   1.0e+00  0.01
1   3.1e-01  5.5e-01  1.2e+00  3.75e+00   -1.038525343e+00  -1.086175515e+00  2.8e-01  0.01
2   7.7e-03  1.4e-02  2.4e-01  1.82e+00   -8.337943527e-01  -8.346388356e-01  6.9e-03  0.01
3   3.8e-05  6.7e-05  1.7e-02  1.03e+00   -8.165720352e-01  -8.165773403e-01  3.4e-05  0.01
4   1.6e-07  2.8e-07  1.1e-03  1.00e+00   -8.164968247e-01  -8.164968472e-01  1.4e-07  0.02
5   9.1e-09  1.6e-08  2.7e-04  1.00e+00   -8.164965879e-01  -8.164965892e-01  8.1e-09  0.02
Interior-point optimizer terminated. Time: 0.02.

Optimizer terminated. Time: 0.04

Out:
0.8164965878595278

This value matches the one we obtained using PICOS.