code: def is_voigt_symmetric(self, tol=1e-6):
          
          transpose_pieces = [[[0 for i in range(self.rank % 2)]]]
          transpose_pieces += [[range(j, j + 2)] for j in
                               range(self.rank % 2, self.rank, 2)]
          for n in range(self.rank % 2, len(transpose_pieces)):
              if len(transpose_pieces[n][0]) == 2:
                  transpose_pieces[n] += [transpose_pieces[n][0][::-1]]
          for trans_seq in itertools.product(*transpose_pieces):
              trans_seq = list(itertools.chain(*trans_seq))
              if (self - self.transpose(trans_seq) > tol).any():
                  return False
          return True
docs: Tests symmetry of tensor to that necessary for voigt-conversion
          by grouping indices into pairs and constructing a sequence of
          possible permutations to be used in a tensor transpose