ufs_decompose - decompose a matrix into blocks
Calling sequence:
ufs_decompose(M)
Parameters:
M - a matrix
Synopsis:
ufs_decompose decomposes the given matrix
into blocks
,...,
, the smallest matrices such that
is equivalent (where the equivalence is obtained by row and column permutations) to the matrix with
,...,
in the diagonal and zero entries elsewhere.
ufs_decompose returns a list of matrices..
Example:
>
A:=matrix([[0,1,0,1,0,0],[0,0,1,0,0,1],[1,0,0,0,1,0],[0,0,0,0,0,1],
[0,1,0,0,0,0]]);
> ufs_decompose(A);
, ufstrong