Thanks Dima I have put the patch in using instructions at: http://ask.sagemath.org/question/1276/how-to-install-patches-or-should-we via the notebook() interface; only I am using SAGE 5.7 on a VM on an HP (usually I use Macs but I am not at home for a while) and so I do not know how to rebuild sage (ie sage -b or whatever) in this context, since the VM wraps everything ... sorry for such a dumb question!
Once I have that installed I will attempt to do what I'm doing using that patch and report back .... Thanks and regards Gary On Wednesday, April 3, 2013 4:20:17 AM UTC+1, Dima Pasechnik wrote: > > On 2013-04-02, garym...@googlemail.com <javascript:> < > garym...@googlemail.com <javascript:>> wrote: > > ------=_Part_3109_14045404.1364925152232 > > Content-Type: text/plain; charset=ISO-8859-1 > > > > Hi > > > > Let F be a (finite) field. I have a bunch B of sets S,T,... each > consisting > > of d N-tuples of elements of F. > > > > I would like to reduce the number of sets I have according to the > following > > rule. If there exists a permutation sigma in Sym_N (:= symmetric group > on N > > letters), such that if I permute the entries of every constituent > N-tuple v > > of set S by this *same *permutation sigma, I obtain the set T, then S~T > > (and so I may discard one of S or T). Note that S,T etc are sets and not > > d-tuples themselves - ie I am not interested in the ordering of the > > N-tuples inside S or T etc. > > > > That is, if S={v_1,v_2,...,v_d} and if for some sigma in Sym_N: > > T={v_1^(sigma),v_2^(sigma),...,v_d^(sigma)}, > > where v^(sigma) denotes permuting the entries v[i] of v according to > > v^(sigma)[i] = v[sigma^(-1)(i)], then T is redundant and I may discard > it > > from B. > > > > Moreover I do NOT care which permutations sigma are needed - ie I would > > just like to output a minimal set of representatives of the equivalence > > classes under ~. > > > > I have seen the docs on the implementation of something similar for > tuples > > of integers, and obviously I could probably hack together a very > laborious > > identification of finite field elements with integers etc etc, ... but I > > was hoping someone might have a cleverer way please!! > > I suppose this should work in your setting > > http://trac.sagemath.org/sage_trac/attachment/ticket/14291/trac_14291-v2.patch > > (the patch from http://trac.sagemath.org/sage_trac/ticket/14291) > At least if the orbits are not too long, you can compute the orbits for > each element of your set, and then take a tranversal of these orbits. > With that patch installed: > > sage: S4 = PermutationGroup([ [('c','d')], [('a','c')], [('a','b')] ]) > sage: S4.orbit((('a','c'),('b','d')),"OnSetsSets") # this is how to get an > orbit > [[['a', 'c'], ['b', 'd']], [['a', 'd'], ['b', 'c']], [['a', 'b'], ['c', > 'd']]] > > -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-combinat-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.