Hi ! I've been playing with libgap, which is great (I love the fact that lists returned by GAP now start at 0...)
I have been unable, however, to elegantly work around the following simple taks. Suppose: sage: G= libgap.SymmetricGroup(3) sage: g= libgap.eval("(1,2,3)") sage: g in G # error This does not work, to test membership. Unsatisfactory workarounds are: (1) g in G.AsList() works, but for large G this is VERY inefficient ! GAP is of course clever at testing membership. (2) use libgap.eval("G:= SymmetricGroup(3)") then libgap.eval("g:= (1,2,3)") then libgap.eval("g in G") This works, but well, in my real life example G and g are just not built like that. (3) best so far is libgap.set_golobal("G", G) libgap.set_global("g", g) libgap.eval("g in G") libgap.unset_global("G") libgap.unset_global("g) works, but is a bit long ! Is there a better way? in particular, is it possible to find the name which G and g must have as variables within GAP? this used to be G.name() with the old GAP interface. Maybe it doesn't make sense anymore. I guess I could write a little GAP_membership(G, g) function, implememting solution (3). It would work in general (eg, verifying whether g is in a given conjugacy class, as returned by G.ConjugacyClasses() ). thanks! Pierre -- 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 sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.