def _min_dummies(dummies, sym, indices):
 num_types = len(sym)
 m = []
 for dx in dummies:
  if dx:
   m.append(min(dx))
  else:
   m.append(None)
 res = indices[:]
 for i in range(num_types):
  for (c, i) in enumerate(indices):
   for j in range(num_types):
    if (i in dummies[j]):
     res[c] = m[j]
     break
 return res

def _min_dummies ( dummies , sym , indices ) : num_types = len ( sym ) m = [ ] for dx in dummies : if dx : m . append ( min ( dx ) ) else : m . append ( None ) res = indices [ : ] for i in range ( num_types ) : for ( c , i ) in enumerate ( indices ) : for j in range ( num_types ) : if ( i in dummies [ j ] ) : res [ c ] = m [ j ] break return res
return list of minima of the orbits of indices in group of dummies see double_coset_can_rep for the description of dummies and sym indices is the initial list of dummy indices examples .