# InSeparableBall

 Other toolboxes required InSeparableBall Checks whether or not an operator is in the ball of separability centered at the maximally-mixed state none IsAbsPPTIsSeparable Ball of separability

InSeparableBall is a function that determines whether or not a density matrix is contained within the ball of states that are separable centered at the maximally-mixed state (more generally, it determines whether or not a positive semidefinite operator is within the ball of separability centered at an appropriately-scaled identity matrix). The size of this ball of separability was computed in [1].

## Syntax

• ISB = InSeparableBall(X)

## Argument descriptions

• X: A bipartite density matrix (or any bipartite positive semidefinite operator).

## 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 code highlights this fact when $m = n = 2$:

>> U = RandomUnitary(4);
>> lam = [1,1,1,0]/3;
>> rho = U*diag(lam)*U'; % random density matrix with eigenvalues [1,1,1,0]/3
>> InSeparableBall(rho)

ans =

1

>> lam2 = [1.01,1,0.99,0]/3;
>> rho2 = U*diag(lam2)*U'; % random density matrix with eigenvalues [1.01,1,0.99,0]/3
>> InSeparableBall(rho2)

ans =

0

## Source code

Click on "expand" to the right to view the MATLAB source code for this function.

1. %%  INSEPARABLEBALL    Checks whether or not an operator is in the ball of separability centered at the maximally-mixed state
2. %   This function has one required input argument:
3. %     X: a positive semidefinite matrix, or a vector of the eigenvalues of
4. %        a positive semidefinite matrix
5. %
6. %   ISB = InSeparableBall(X) is either 1 or 0, indicating that X is or is
7. %   not contained within the ball of separable operators centered at the
8. %   identity matrix/maximally-mixed state. The size of this ball was
9. %   derived in [1].
10. %
11. %   URL: http://www.qetlab.com/InSeparableBall
12. %
13. %   References:
14. %   [1] L. Gurvits and H. Barnum. Largest separable balls around the
15. %       maximally mixed bipartite quantum state. Phys. Rev. A, 66:062311,
16. %       2002. E-print: arXiv:quant-ph/0204159
17. 
18. %   requires: nothing
19. %   author: Nathaniel Johnston (nathaniel@njohnston.ca)
20. %   package: QETLAB
21. %   last updated: November 14, 2014
22. 
23. function isb = InSeparableBall(X)
24. 
25. sz = size(X);
26. len = max(sz);
27. 
28. % If X is a vector, turn it into a matrix (we could instead turn every
29. % matrix into a vector of eigenvalues, but that would make the computation
30. % take O(n^3) time, instead of the current method, which is O(n^2)).
31. if(min(sz) == 1) % X is a vector of eigenvalues
32.     X = sparse(diag(X));
33. end
34. 
35. % If X has trace 0 or less it can't possibly be in the separable ball.
36. if(trace(X) < len*eps)
37.     isb = 0;
38.     return;
39. end
40. X = X/trace(X);
41. 
42. % The following check relies on the fact that we scaled X so that
43. % trace(X) = 1. The following condition is then exactly the Gurvits-Barnum
44. % condition.
45. isb = (norm(X/norm(X,'fro')^2 - speye(len),'fro') <= 1);

## References

1. L. Gurvits and H. Barnum. Largest separable balls around the maximally mixed bipartite quantum state. Phys. Rev. A, 66:062311, 2002. E-print: arXiv:quant-ph/0204159