added default implementation and tests for block-diagonal-matrix