Added block-diagonal singular value decomposition