code: def are_symmetrically_equivalent(self, sites1, sites2, symm_prec=1e-3):
          
          def in_sites(site):
              for test_site in sites1:
                  if test_site.is_periodic_image(site, symm_prec, False):
                      return True
              return False
  
          for op in self:
              newsites2 = [PeriodicSite(site.species,
                                        op.operate(site.frac_coords),
                                        site.lattice) for site in sites2]
              for site in newsites2:
                  if not in_sites(site):
                      break
              else:
                  return True
          return False
docs: Given two sets of PeriodicSites, test if they are actually
          symmetrically equivalent under this space group.  Useful, for example,
          if you want to test if selecting atoms 1 and 2 out of a set of 4 atoms
          are symmetrically the same as selecting atoms 3 and 4, etc.
  
          One use is in PartialRemoveSpecie transformation to return only
          symmetrically distinct arrangements of atoms.
  
          Args:
              sites1 ([Site]): 1st set of sites
              sites2 ([Site]): 2nd set of sites
              symm_prec (float): Tolerance in atomic distance to test if atoms
                  are symmetrically similar.
  
          Returns:
              (bool): Whether the two sets of sites are symmetrically
              equivalent.