A block diagonal matrix, also called a diagonal block matrix, is a block matrix whose diagonal blocks are square matrices
and whose off-diagonal blocks are zero matrices. The
diagonal blocks may have different sizes, including . Thus, a block diagonal matrix generalizes a diagonal
matrix.
Block diagonal matrices are constructed in the Wolfram Language using BlockDiagonalMatrix[blocks], where blocks is a list of square matrices. Applying Normal gives an ordinary matrix. For example,
Normal[BlockDiagonalMatrix[{{{1}}, {{2, 3}, {4, 5}}}]]
returns the matrix