Jump to navigation Jump to search
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.


  • M = Majorizes(A,B)

Argument descriptions

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


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 =


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 =


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 =


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 =


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. 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