On Wednesday, March 23, 2016 at 11:10:42 PM UTC, Jernej wrote: > > Hello! > > Thanks! I wasn't aware of libgap! One more followup question. Say I want > to compute the orbits of the CubeGraph of order 10. The description of > respective automorphism group seems to be to heave for libgap > > ==== > sage: G = graphs.CubeGraph(10) > sage: G.relabel() > sage: A = G.automorphism_group() > sage: libgap(A) > python: libgap.c:186: libgap_get_input: Assertion > `strlen(libGAP_stdin_buffer) < length' failed. > === > > Is there a way to overcome this limitation? >
sage: G = graphs.CubeGraph(10) sage: A = G.automorphism_group() sage: T=libgap.Group(map(libgap,A.gens())) sage: T.Order() 3715891200 works. There is probably a fixed side buffer somewhere that is not big enough for passing the whole of A directly. > Best, > > Jernej > > On Tuesday, 22 March 2016 14:18:56 UTC+1, Dima Pasechnik wrote: >> >> >> >> On Tuesday, March 22, 2016 at 1:09:07 PM UTC, Dima Pasechnik wrote: >>> >>> use libgap: >>> >>> sage: g=libgap.SymmetricGroup(7) >>> sage: g.Orbits(tuples([1..7],2),libgap.OnTuples) >>> [ [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ], [ 5, 5 ], [ 6, 6 ], [ 7, 7 ] >>> ], [ [ 1, 2 ], [ 2, 3 ], [ 2, 1 ], [ 3, 4 ], [ 1, 3 ], [ 3, 2 ], [ 4, 5 ], >>> [ 2, 4 ], [ 4, 3 ], [ 3, 1 ], [ 5, 6 ], [ 3, 5 ], [ 1, 4 ], [ 5, 4 ], [ 4, >>> 2 ], [ 6, 7 ], [ 4, 6 ], [ 2, 5 ], [ 6, 5 ], [ 5, 3 ], [ 4, 1 ], [ 7, 1 ], >>> [ 5, 7 ], [ 3, 6 ], [ 1, 5 ], [ 7, 6 ], [ 6, 4 ], [ 5, 2 ], [ 7, 2 ], [ 6, >>> 1 ], [ 4, 7 ], [ 2, 6 ], [ 1, 7 ], [ 7, 5 ], [ 6, 3 ], [ 5, 1 ], [ 6, 2 ], >>> [ 3, 7 ], [ 1, 6 ], [ 2, 7 ], [ 7, 4 ], [ 7, 3 ] ] ] >>> >>> if you only need representatives, you can just use map: >> >> map(lambda x: x[0], g.OrbitsDomain(tuples([1..7],2),libgap.OnTuples)) >> >> (Here I used OrbitsDomain, which you should use for efficiency if you >> know that your set is invariant under your >> group) >> >> >>> On Tuesday, March 22, 2016 at 9:19:18 AM UTC, Jernej wrote: >>>> >>>> Hello! >>>> >>>> I have a few questions concerning GAP interface in Sage 7.x. >>>> >>>> I have a permutation group G acting on a set S and I would like to >>>> compute the representatives of the orbits of G acting on k-sets of S. >>>> >>>> I recall that a while ago I could do the following (as seen on this >>>> example >>>> http://ask.sagemath.org/question/9652/orbits-on-group-actions-acting-on-sets/?answer=14470#post-id-14470 >>>> ) >>>> >>>> ==== >>>> sage: g=SymmetricGroup(7) >>>> sage: >>>> gap("Orbits("+str(g._gap_())+","+str(tuples([1..7],2))+",OnTuples)") >>>> ==== >>>> >>>> and yes, it works in Sage 6.x. However, in Sage 7.x one gets the >>>> following error >>>> >>>> ==== >>>> TypeError: Gap terminated unexpectedly while reading in a large line: >>>> Gap produced error output >>>> Error, Permutation: cycles must be disjoint and duplicate-free >>>> ==== >>>> >>>> Given this, I have the following questions >>>> >>>> - What is the proper way to call gap in Sage 7x t obtain the orbits of >>>> a group G acting on k-sets of a set S? >>>> - (GAP question) I recall there is a way to return only the >>>> representatives of the orbits? Anyone happens to recall the right GAP >>>> command for that? >>>> - Does it make sense to add an option for various group actions to Sage >>>> directly (as is already done for specific orbits ) ? >>>> >>>> Best, >>>> >>>> Jernej >>>> >>> -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
