Ask Your Question

Is it possible to run over the isomorphism classes of groups?

asked 2011-01-30 21:00:44 +0200

Oliver gravatar image

I want to check if a certain statement is correct about groups, but it is very hard to check it by hand (and even harder to prove). Is it possible to run over isomorphism classes of groups (for any specific cardinality), so as to check that statement?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-01-31 10:59:18 +0200

kcrisman gravatar image

updated 2011-02-03 09:22:59 +0200

I don't think this is easy, or even possible, to do in native Sage. The GAP AllSmallGroups function might be helpful - you can access GAP by doing gap_console() in the Sage command line, choosing 'gap' from the system choices in the notebook, or doing sage -gap when you lauch Sage.

However, I don't think this is wrapped in Sage at this time.

edit flag offensive delete link more


don't refer to that site as official GAP docs, please...

Dima gravatar imageDima ( 2011-02-02 23:35:43 +0200 )edit is the official and much more complete source. It has a full index:, where you find AllSmallGroups documented at

Dima gravatar imageDima ( 2011-02-02 23:39:19 +0200 )edit

Okay, done.

kcrisman gravatar imagekcrisman ( 2011-02-03 09:23:08 +0200 )edit

answered 2011-02-02 12:13:37 +0200

in order to use GAP's AllSmallGroups function, you need to install the optional spkg database_gap-4.4.12.p0 e.g. by starting sage, and issuing, the sage prompt, the command


It does not matter whether or not it is wrapped in Sage, as long one does everything at GAP prompt. In the worst case one can do something like

sage: gg=gap('AllSmallGroups(4)')

although this would create a list of objects Sage might have problems dealing with, e.g. they need not be permutation groups. You can still do e.g.

sage: g=gg[1]

sage: g.IsAlternatingGroup()


edit flag offensive delete link more


Dima gravatar imageDima ( 2011-02-02 23:40:01 +0200 )edit

answered 2011-02-03 16:16:06 +0200

Simon King gravatar image

I think after "install_package", you also need to do

sage: gap_reset_workspace()

and restart Sage (at least that is how it worked for me).

Then, you can do:

sage: for G in gap.AllSmallGroups(64):
....:     if G.Centre().Order()==1:
....:         raise RuntimeError
....:     else:
....:         print G.IdGroup()[2],
1 2 3 4 5 6 ... 267

I guess, if you know GAP, that you will understand what the commands above do. And if you need to transform the groups into something Sage knows about (permutation groups and matrix groups), you can do:


where G is a group defined in the GAP interface. Unfortunately I don't know how to transform a group into a matrix group, in GAP.

Best regards, Simon

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


Asked: 2011-01-30 21:00:44 +0200

Seen: 835 times

Last updated: Feb 03 '11