Rolf Mertig (http://www.mertig.com) also provides the following code which generalizes DiagonalMatrix, creating a block diagonal matrix from a list of matrices.
In