toqito.state_props.in_separable_ball

toqito.state_props.in_separable_ball(mat)[source]

Check whether an operator is contained in ball of separability [GB02].

Determines whether mat is contained within the ball of separable operators centered at the identity matrix (i.e. the maximally-mixed state). The size of this ball was derived in [GB02].

This function can be used as a method for separability testing of states in certain scenarios.

This function is adapted from QETLAB.

Examples

The only states acting on \(\mathbb{C}^m \otimes \mathbb{C}^n\) in the separable ball that do not have full rank are those with exactly 1 zero eigenvalue, and the \(mn - 1\) non-zero eigenvalues equal to each other.

The following is an example of generating a random density matrix with eigenvalues [1, 1, 1, 0]/3. This example yields a matrix that is contained within the separable ball.

>>> from toqito.random import random_unitary
>>> from toqito.state_props import in_separable_ball
>>> import numpy as np
>>>
>>> U = random_unitary(4)
>>> lam = np.array([1, 1, 1, 0]) / 3
>>> rho = U @ np.diag(lam) @ U.conj().T
>>> in_separable_ball(rho)
True

The following is an example of generating a random density matrix with eigenvalues [1.01, 1, 0.99, 0]/3. This example yields a matrix that is not contained within the separable ball.

>>> from toqito.random import random_unitary
>>> from toqito.state_props import in_separable_ball
>>> import numpy as np
>>>
>>> U = random_unitary(4)
>>> lam = np.array([1.01, 1, 0,.99, 0]) / 3
>>> rho = U @ np.diag(lam) @ U.conj().T
>>> in_separable_ball(rho)
False

References

[GB02] (1,2)

Gurvits, Leonid, and Barnum, Howard. “Largest separable balls around the maximally mixed bipartite quantum state.” Physical Review A 66.6 (2002): 062311. https://arxiv.org/pdf/quant-ph/0204159.pdf

Parameters:

mat – A positive semidefinite matrix or a vector of the eigenvalues of a positive semidefinite matrix.

Returns:

True if the matrix mat is contained within the separable ball, and False otherwise.