BTF permutes an unsymmetric matrix (square or rectangular) into
its block upper triangular form (more precisely, it computes a
Dulmage-Mendelsohn decomposition).
This package is part of SuiteSparse.