state_opt.ppt_distinguishability
PPT distinguishability.
Module Contents
Functions
|
Calculate dual problem for PPT distinguishability. |
|
Compute probability of optimally distinguishing a state via PPT measurements [1]. |
|
Calculate primal problem for PPT distinguishability. |
- state_opt.ppt_distinguishability.dual_problem(states, probs=None, dist_method='min-error')
Calculate dual problem for PPT distinguishability.
The minimum-error semidefinite program implemented is defined as:
\[\begin{split}\begin{aligned} \text{minimize:} \quad & \frac{1}{k} \text{Tr}(Y) \\ \text{subject to:} \quad & Y - \rho_j \geq \text{T}_{\mathcal{A}} (Q_j), \quad j = 1, \ldots, k, \\ & Y \in \text{Herm}(\mathcal{A} \otimes \mathcal{B}), \\ & Q_1, \ldots, Q_k \in \text{Pos}(\mathcal{A} \otimes \mathcal{B}). \end{aligned}\end{split}\]The unambiguous semidefinite program implemented is defined as:
\[\begin{split}\begin{aligned} \text{minimize:} \quad & \frac{1}{k} \text{Tr}(Y) \\ \text{subject to:} \quad & Y - \rho_j + \sum_{\substack{i \leq i \leq k \\ i \not= j}} y_{i,j} \rho_i \geq T_{\mathcal{A}}(Q_j), \quad j = 1, \ldots, k, \\ & Y \geq T_{\mathcal{A}}(Q_{k+1}), \\ & Y \in \text{Herm}(\mathcal{A} \otimes \mathcal{B}), \\ & Q_1, \ldots, Q_k \in \text{Pos}(\mathcal{A} \otimes \mathcal{B}), \\ & y_{i,j} \in \mathcal{R}. \quad 1 \leq i, j \leq k, \quad i \not= j. \end{aligned}\end{split}\]- Parameters:
states (list[numpy.ndarray]) – A list of states provided as either matrices or vectors.
probs (list[float]) – Respective list of probabilities each state is selected.
dist_method (str) – Method of distinguishing to use.
- Returns:
The optimal value of the PPT dual problem SDP.
- Return type:
float
- state_opt.ppt_distinguishability.ppt_distinguishability(states, probs=None, dist_method='min-error', strategy=False)
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 |, \\ \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 |, \\ \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].
>>> 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] >>> ppt_distinguishability(states, probs) 0.875
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:
states (list[numpy.ndarray]) – A list of states provided as either matrices or vectors.
dist_method (str) – The method of distinguishing states.
probs (list[float]) – Respective list of probabilities each state is selected.
dist_method – Method of distinguishing to use.
strategy (bool) – Returns strategy if
True
and does not otherwise.
- Returns:
The optimal probability with which the states can be distinguished via PPT measurements.
- Return type:
float
- state_opt.ppt_distinguishability.primal_problem(states, probs=None, dist_method='min-error')
Calculate primal problem for PPT distinguishability.
- The minimum-error semidefinite program implemented is defined as:
- \[\begin{split}\begin{aligned} \text{maximize:} \quad & \sum_{j=1}^k \langle P_j, \rho_j \rangle \\ \text{subject to:} \quad & P_1 + \cdots + P_k = \mathbb{I}_{\mathcal{A}} \otimes \mathbb{I}_{\mathcal{B}}, \\ & P_1, \ldots, P_k \in \text{PPT}(\mathcal{A} : \mathcal{B}). \end{aligned}\end{split}\]
- The unambiguous semidefinite program implemented is defined as:
- Parameters:
states (list[numpy.ndarray]) – A list of states provided as either matrices or vectors.
probs (list[float]) – Respective list of probabilities each state is selected.
dist_method (str) – Method of distinguishing to use.
- Returns:
The optimal value of the PPT primal problem SDP.
- Return type:
float