computes projector splittings and block diagonalizations