Could anyone explain me how I may obtain in Mathematica v7 all possible submatrices of any square matrix? For example:

matrix

divided as follows:

and

and so on, by using of different partitions of the same matrix.

I assume, that I could useSpanorPartbut I don't know which way use it to obtainallsubmatrices for matrices of different sizes.