Ask Your Question
1

Converting Sage groups to Gap groups

asked 2021-07-27 22:31:30 +0200

Drake Thomas gravatar image

updated 2021-07-29 11:59:22 +0200

FrédéricC gravatar image

I'm trying to convert groups in Sage to groups in Gap in the SageMathCell environment (all the below code is being run on sagecell dot sagemath dot org ). I've seen indications for two ways of doing this, gap(G) and G.gap(). However, these don't seem equivalent. For instance, if I run the following code:

G1 = gap(SymmetricGroup(5))
print(type(G1))
test1 = gap.ConjugacyClassesSubgroups(G1)
print("success 1")

G2 = SymmetricGroup(5).gap()
print(type(G2))
test2 = gap.ConjugacyClassesSubgroups(G2)
print("success 2")

I get this output:

<class 'sage.interfaces.gap.GapElement'>
success 1
<class 'sage.libs.gap.element.GapElement'>
---------------------------------------------------------------------------
RuntimeError
[...]
TypeError: Gap produced error output
Error, Variable: 'Sym' must have a value

   executing \$sage3:=Sym( [ 1 .. 5 ] );;

So it appears that only the gap(G) functionality actually works to produce something I can run Gap computations on. This would be fine, except that gap(G) does not actually seem to work for all groups! If I try to run

G3 = WeylGroup(["F", 4])
print(type(G3))
G4 = G3.gap()
print("constructed G4")
G5 = gap(G3)
print("constructed G5")

I get the output:

<class 'sage.combinat.root_system.weyl_group.WeylGroup_gens_with_category'>
constructed G4
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-6f93228822c9> in <module>
     13 G4 = G3.gap()
     14 print("constructed G4")
---> 15 G5 = gap(G3)
     16 print("constructed G5")
[...]
TypeError: gap() takes exactly one argument (2 given)

What's the right way to convert Sage groups to Gap groups in a way that consistently lets me perform computations on them? I'm at a bit of a loss as to what's going wrong here.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2021-07-29 10:43:05 +0200

FrédéricC gravatar image

This works :

sage: G3 = WeylGroup(["F", 4])                                                  
sage: H3 = libgap(G3)                                                           
sage: L = libgap.ConjugacyClassesSubgroups(H3)
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-07-27 22:31:30 +0200

Seen: 167 times

Last updated: Jul 29 '21