state_opt.ppt_distinguishability

PPT state distinguishability.

Module Contents

Functions

ppt_distinguishability(vectors, subsystems, dimensions)

Compute probability of optimally distinguishing a state via PPT measurements [1].

_min_error_primal(vectors, subsystems, dimensions, probs)

Primal problem for the SDP with PPT constraints.

_min_error_dual(vectors, subsystems, dimensions, probs)

Semidefinite program with PPT constraints (dual problem).

state_opt.ppt_distinguishability.ppt_distinguishability(vectors, subsystems, dimensions, probs=None, strategy='min_error', solver='cvxopt', primal_dual='dual')

Compute probability of optimally distinguishing a state via PPT measurements [1].

Implements the semidefinite program (SDP) whose optimal value is equal to the maximum probability of perfectly distinguishing orthogonal maximally entangled states using any PPT measurement; a measurement whose operators are positive under partial transpose. This SDP was explicitly provided in [1].

One can specify the distinguishability method using the dist_method argument.

For dist_method = "min-error", this is the default method that yields the probability of distinguishing quantum states via PPT measurements that minimize the probability of error.

For dist_method = "unambiguous", Alice and Bob never provide an incorrect answer, although it is possible that their answer is inconclusive.

For more info, go to the tutorial in the documentation Optimal probability of distinguishing a state via PPT measurements.

Examples

Consider the following Bell states:

\[\begin{split}\begin{equation} \begin{aligned} |\psi_0 \rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}, &\quad |\psi_1 \rangle = \frac{|01\rangle + |10\rangle}{\sqrt{2}}, \\ |\psi_2 \rangle = \frac{|01\rangle - |10\rangle}{\sqrt{2}}, &\quad |\psi_3 \rangle = \frac{|00\rangle - |11\rangle}{\sqrt{2}}. \end{aligned} \end{equation}\end{split}\]

It was illustrated in [2] that for the following set of states

\[\begin{split}\begin{equation} \begin{aligned} \rho_1^{(2)} &= |\psi_0 \rangle | \psi_0 \rangle \langle \psi_0 | \langle \psi_0 |, \quad \rho_2^{(2)} &= |\psi_1 \rangle | \psi_3 \rangle \langle \psi_1 | \langle \psi_3 |, \\ \rho_3^{(2)} &= |\psi_2 \rangle | \psi_3 \rangle \langle \psi_2 | \langle \psi_3 |, \quad \rho_4^{(2)} &= |\psi_3 \rangle | \psi_3 \rangle \langle \psi_3 | \langle \psi_3 |, \\ \end{aligned} \end{equation}\end{split}\]

that the optimal probability of distinguishing via a PPT measurement should yield \(7/8 \approx 0.875\) as was proved in [2].

>>> import numpy as np
>>> from toqito.states import bell
>>> from toqito.state_opt import ppt_distinguishability
>>> # Bell vectors:
>>> psi_0 = bell(0)
>>> psi_1 = bell(2)
>>> psi_2 = bell(3)
>>> psi_3 = bell(1)
>>>
>>> # YDY vectors from :cite:`Yu_2012_Four`.
>>> x_1 = np.kron(psi_0, psi_0)
>>> x_2 = np.kron(psi_1, psi_3)
>>> x_3 = np.kron(psi_2, psi_3)
>>> x_4 = np.kron(psi_3, psi_3)
>>>
>>> # YDY density matrices.
>>> rho_1 = x_1 * x_1.conj().T
>>> rho_2 = x_2 * x_2.conj().T
>>> rho_3 = x_3 * x_3.conj().T
>>> rho_4 = x_4 * x_4.conj().T
>>>
>>> states = [rho_1, rho_2, rho_3, rho_4]
>>> probs = [1 / 4, 1 / 4, 1 / 4, 1 / 4]
>>>
>>> opt_val, _ = ppt_distinguishability(vectors=states, probs=probs, dimensions=[2, 2, 2, 2], subsystems=[0, 2])
>>> '%.3f' % opt_val
'0.875'

Note

You do not need to use ‘%.3f’ % when you use this function.

We use this to format our output such that doctest compares the calculated output to the expected output upto two decimal points only. The accuracy of the solvers can calculate the float output to a certain amount of precision such that the value deviates after a few digits of accuracy.

References

[1] (1,2,3)

Alessandro Cosentino. Positive-partial-transpose-indistinguishable states via semidefinite programming. Physical Review A, Jan 2013. URL: http://dx.doi.org/10.1103/PhysRevA.87.012321, doi:10.1103/physreva.87.012321.

[2] (1,2)

Nengkun Yu, Runyao Duan, and Mingsheng Ying. Four locally indistinguishable ququad-ququad orthogonal maximally entangled states. Physical Review Letters, Jul 2012. URL: http://dx.doi.org/10.1103/PhysRevLett.109.020506, doi:10.1103/physrevlett.109.020506.

Parameters:
  • vectors (list[numpy.ndarray]) – A list of states provided as either matrices or vectors.

  • probs (list[float]) – Respective list of probabilities each state is selected.

  • subsystems (list[int]) – A list of integers that correspond to the complex Euclidean space dimensions.

  • dimensions (list[int]) – A list of integers that correspond to the dimensions of the subsystems.

  • strategy (str) – The method of distinguishing states.

  • solver (str) – The SDP solver to use.

  • primal_dual (str) – Option for the optimization problem.

Returns:

The optimal probability with which the states can be distinguished via PPT measurements.

Return type:

float

state_opt.ppt_distinguishability._min_error_primal(vectors, subsystems, dimensions, probs, solver='cvxopt', strategy='min_error')

Primal problem for the SDP with PPT constraints.

Parameters:
  • vectors (list[numpy.ndarray])

  • subsystems (list[int])

  • dimensions (list[int])

  • probs (list[float])

  • solver (str)

  • strategy (str)

state_opt.ppt_distinguishability._min_error_dual(vectors, subsystems, dimensions, probs, solver='cvxopt', strategy='min_error')

Semidefinite program with PPT constraints (dual problem).

Parameters:
  • vectors (list[numpy.ndarray])

  • subsystems (list[int])

  • dimensions (list[int])

  • probs (list[float])

  • solver (str)

  • strategy (str)