Majorizes

 Other toolboxes required Majorizes Determines whether or not a vector or matrix majorizes another none Miscellaneous

Majorizes is a function that determines whether or not one vector or matrix weakly majorizes another vector or matrix. That is, given d-dimensional vectors $A$ and $B$, it checks whether or not

$\sum_{i=1}^k a_i^{\downarrow} \geq \sum_{i=1}^k b_i^{\downarrow} \quad \text{for } k=1,\dots,d,$

where $a^{\downarrow}_i$ and $b^{\downarrow}_i$ are the elements of $A$ and $B$, respectively, sorted in decreasing order.

In the case of matrices, it is said that $A$ majorizes $B$ if the vector of $A$'s singular values majorizes the vector of $B$'s singular values. If the two vectors or matrices are of different sizes, the smaller one is padded with zeros appropriately so that they are comparable.

Syntax

• M = Majorizes(A,B)

Argument descriptions

• A: Either a vector or a matrix.
• B: Either a vector or a matrix.

Examples

A simple example

It is straightforward to see that the vector $(3,0,0)$ majorizes the vector $(1,1,1)$, which we can verify as follows:

>> Majorizes([3,0,0],[1,1,1])

ans =

1

Bipartite LOCC

A well-known result of Nielsen[1] says that a bipartite pure state $|\psi\rangle \in \mathbb{C}^m \otimes \mathbb{C}^n$ can be converted into another state $|\phi\rangle$ via LOCC if and only if the squared Schmidt coefficients of $|\phi\rangle$ majorize the squared Schmidt coefficients of $|\psi\rangle$. Thus we can determine whether or not we can convert $|\psi\rangle$ to $|\phi\rangle$ via LOCC as follows:

>> phi = RandomStateVector(9); % generate two random states in C^3 \otimes C^3
>> psi = RandomStateVector(9);
>> Majorizes(SchmidtDecomposition(phi).^2,SchmidtDecomposition(psi).^2)

ans =

0

The above code shows that the conversion $|\psi\rangle \stackrel{LOCC}{\rightarrow} |\phi\rangle$ is impossible. On the other hand, the following code shows that the maximally-entangled pure state can be converted to a random pure state via LOCC:

>> phi = RandomStateVector(9);
>> psi = MaxEntangled(3); % maximally-entangled state in C^3 \otimes C^3
>> Majorizes(SchmidtDecomposition(phi).^2,SchmidtDecomposition(psi).^2)

ans =

1

Majorization criterion for separability

The majorization criterion says that every separable state $\rho_{AB}$ is such that each of $\rho_A$ and $\rho_B$ majorize $\rho_{AB}$[2]. Thus the following code constructs the maximally-entangled quantum state and uses the majorization criterion to verify that it is entangled:

>> v = MaxEntangled(3);
>> rho = v*v';
>> Majorizes(PartialTrace(rho),rho)

ans =

0

Note that the majorization criterion is strictly weaker than the partial transpose criterion (and even the reduction criterion[3]) and thus those alternate tests should be used in most situations instead.

Source code

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

1. %%  MAJORIZES    Determines whether or not a vector or matrix majorizes another
2. %   This function has two required arguments:
3. %     A: a vector or matrix
4. %     B: a vector or matrix
5. %
6. %   M = Majorizes(A,B) is either 1 or 0, indicating that A does or does not
7. %   majorize B. If A and B are matrices then majorization of their vectors
8. %   of singular values is checked.
9. %
10. %   This function has no optional arguments.
11. %
12. %   URL: http://www.qetlab.com/Majorizes
13. 
14. %   requires: nothing
15. %   author: Nathaniel Johnston (nathaniel@njohnston.ca)
16. %   package: QETLAB
17. %   last updated: March 4, 2014
18. 
19. function m = Majorizes(a,b)
20. 
21. if(min(size(a)) ~= 1) % if we received matrices as input, we check their singular values for majorization
22.     a = svd(full(a)); % automatically sorted in descending order
23. else
24.     a = sort(a(:),'descend');
25. end
26. 
27. % repeat for b
28. if(min(size(b)) ~= 1)
29.     b = svd(full(b));
30. else
31.     b = sort(b(:),'descend');
32. end
33. 
34. % pad with zeros if necessary
35. la = length(a);
36. lb = length(b);
37. if(la < lb)
38.     a = [a;zeros(lb-la,1)];
39. elseif(lb < la)
40.     b = [b;zeros(la-lb,1)];
41. end
42. 
43. cta = 0;
44. ctb = -norm(a)*eps^(3/4); % for numerical robustness reasons
45. 
46. % now check majorization
47. for k = 1:length(a)
48.     cta = cta + a(k);
49.     ctb = ctb + b(k);
50.     if(cta < ctb)
51.         m = 0;
52.         return
53.     end
54. end
55. 
56. m = 1;

References

1. M. A. Nielsen. Conditions for a class of entanglement transformations. Phys. Rev. Lett., 83:439, 1999.
2. M. A. Nielsen and J. Kempe. Separable states are more disordered globally than locally. Phys. Rev. Lett., 86:5184, 2001. E-print: arXiv:quant-ph/0011117
3. T. Hiroshima. Majorization criterion for distillability of a bipartite quantum state. Phys. Rev. Lett., 91:057902, 2003. E-print: arXiv:quant-ph/0303057