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 here to view this function's source code on github.


  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