Majorizes

From QETLAB
Jump to: navigation, search
Majorizes
Determines whether or not a vector or matrix majorizes another

Other toolboxes required none
Function category 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