toqito.state_opt.ppt_distinguishability ======================================= .. py:module:: toqito.state_opt.ppt_distinguishability .. autoapi-nested-parse:: Calculates the probability of PPT state distinguishability when done optimally. Module Contents --------------- .. py:function:: 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 [@Cosentino_2013_PPT]. 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 [@Cosentino_2013_PPT]. 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 = "unambig"`, Alice and Bob never provide an incorrect answer, although it is possible that their answer is inconclusive. For more background, see the ``state_distinguishability`` example in the quantum states gallery. !!! Note This function supports both pure states (vectors) and mixed states (density matrices). The PPT constraints are applied to the measurement operators to restrict the class of allowed measurements. .. rubric:: Examples Consider the following Bell states: \[ \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} \] It was illustrated in [@Yu_2012_Four] that for the following set of states \[ \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} \] that the optimal probability of distinguishing via a PPT measurement should yield \(7/8 \approx 0.875\) as was proved in [@Yu_2012_Four]. ```python exec="1" source="above" 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 [@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]) print(f"Optimal value: {opt_val:.3f}") ``` :param vectors: A list of states provided as either matrices or vectors. :param probs: Respective list of probabilities each state is selected. :param subsystems: A list of integers that correspond to the complex Euclidean space dimensions. :param dimensions: A list of integers that correspond to the dimensions of the subsystems. :param strategy: The method of distinguishing states. :param solver: The SDP solver to use. :param primal_dual: Option for the optimization problem. :returns: The optimal probability with which the states can be distinguished via PPT measurements.