block_diag function

Constructs a block diagonal matrix from a list of square matrices