toqito.state_props.has_symmetric_extension

toqito.state_props.has_symmetric_extension(rho, level=2, dim=None, ppt=True, tol=0.0001)[source]

Determine whether there exists a symmetric extension for a given quantum state. [DPS02].

Determining whether an operator possesses a symmetric extension at some level level can be used as a check to determine if the operator is entangled or not.

This function was adapted from QETLAB.

Examples

2-qubit symmetric extension:

In [CJKLZB14], it was shown that a 2-qubit state \(\rho_{AB}\) has a symmetric extension if and only if

\[\text{Tr}(\rho_B^2) \geq \text{Tr}(\rho_{AB}^2) - 4 \sqrt{\text{det}(\rho_{AB})}.\]

This closed-form equation is much quicker to check than running the semidefinite program.

>>> import numpy as np
>>> from toqito.state_props import has_symmetric_extension
>>> rho = np.array([[1, 0, 0, -1],
>>>                 [0, 1, 1/2, 0],
>>>                 [0, 1/2, 1, 0],
>>>                 [-1, 0, 0, 1]])
>>> # Show the closed-form equation holds
>>> np.trace(partial_trace(rho, 1)**2) >= np.trace(rho**2) - 4 * np.sqrt(np.linalg.det(rho))
True
>>> # Now show that the `has_symmetric_extension` function recognizes this case.
>>> has_symmetric_extension(rho)
True

Higher qubit systems:

Consider a density operator corresponding to one of the Bell states.

\[\begin{split}\rho = \frac{1}{2} \begin{pmatrix} 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 \end{pmatrix}\end{split}\]

To make this state over more than just two qubits, let’s construct the following state

\[\sigma = \rho \otimes \rho.\]

As the state \(\sigma\) is entangled, there should not exist a symmetric extension at some level. We see this being the case for a relatively low level of the hierachy.

>>> import numpy as np
>>> from toqito.states import bell
>>> from toqito.state_props import has_symmetric_extension
>>>
>>> rho = bell(0) * bell(0).conj().T
>>> sigma = np.kron(rho, rho)
>>> has_symmetric_extension(sigma)
False

References

[DPS02]

Doherty, Andrew C., Pablo A. Parrilo, and Federico M. Spedalieri. “Distinguishing separable and entangled states.” Physical Review Letters 88.18 (2002): 187904. https://arxiv.org/abs/quant-ph/0112007

[CJKLZB14]

Chen, J., Ji, Z., Kribs, D., Lütkenhaus, N., & Zeng, B. “Symmetric extension of two-qubit states.” Physical Review A 90.3 (2014): 032318. https://arxiv.org/abs/1310.3530

Raises:

ValueError – If dimension does not evenly divide matrix length.

Parameters:
  • rho – A matrix or vector.

  • level – Level of the hierarchy to compute.

  • dim – The default has both subsystems of equal dimension.

  • ppt – If True, this enforces that the symmetric extension must be PPT.

  • tol – Tolerance when determining whether a symmetric extension exists.

Returns:

True if mat has a symmetric extension; False otherwise.