title: Matrix reordering to block diagonal form
body: <p>Give a sparse matrix, how to reorder the rows and columns such that it is in block diagonal like form via row and column permutation?</p>
  
  <p>Row and column permutation are not necessarily coupled like reverse Cuthill-McKee ordering:
  <a href="http://www.mathworks.com/help/matlab/ref/symrcm.html?refresh=true" rel="noreferrer">http://www.mathworks.com/help/matlab/ref/symrcm.html?refresh=true</a> In short, you can independently perform any row or column permutation. </p>
  
  <p>The overall goal is to cluster all the non zero elements towards diagonal line.</p>