Dulmage-Mendelsohn decomposition of matrix A.



  p = DMPERM(A) returns a maximum matching; if A has full 

  column rank then A(p,:) is square with nonzero diagonal.



  [p,q,r,s] = DMPERM(A) returns permutations to put A(p,q) 

  in block upper triangular form:

  For square full-rank A, A(p,q) has nonzero diagonal

  and the i'th strong Hall component is block (bi,bi) 

  of A(p,q), where bi = r(i):r(i+1)-1.

  For general rectangular A, the i'th strong Hall 

  component is block (r(i):r(i+1)-1, s(i):s(i+1)-1).



  See also SRANK.