code: def voigt_symmetrized(self):
          
          if not (self.rank % 2 == 0 and self.rank >= 2):
              raise ValueError("V-symmetrization requires rank even and >= 2")
  
          v = self.voigt
          perms = list(itertools.permutations(range(len(v.shape))))
          new_v = sum([np.transpose(v, ind) for ind in perms]) / len(perms)
          return self.__class__.from_voigt(new_v)
docs: Returns a "voigt"-symmetrized tensor, i. e. a voigt-notation
          tensor such that it is invariant wrt permutation of indices