Opened 7 years ago

Closed 7 years ago

#13614 closed enhancement (fixed)

Add Table Explaining How To Create Every Group of Order < 32

Reported by: khalasz Owned by: joyner
Priority: minor Milestone: sage-5.9
Component: group theory Keywords:
Cc: rbeezer, benjaminjones Merged in: sage-5.9.rc0
Authors: Kevin Halasz Reviewers: Volker Braun
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #13367, #13366, #13365 Stopgaps:

Description (last modified by jdemeyer)

Adds a table to constructions/groups that explains how to create every group of order less than 32. Each such group can now be created with just a few easy commands thanks to the patches listed here as dependencies.


  1. 13614_grouptable.patch

Attachments (1)

13614_grouptable.patch (22.4 KB) - added by khalasz 7 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 7 years ago by khalasz

  • Description modified (diff)
  • Status changed from new to needs_review

comment:2 Changed 7 years ago by rbeezer


Very nice. This will be a great contribution. Comments, in order of appearance,I think.


  1. Title: I'd avoid symbols in the title. Both bad grammar and potential text-processing problem. Maybe "...every group of order 31 or less" or "...every group of order less than 32"
  2. "They can all be initiatilized relatively easily." -> "created easily"?
  3. "permutation groups already implemented in sage" -> "already created" or "already initialized" (implementing is what you are doing)
  4. "The group outputted by the semidirect product command" -> "output"
  5. "witheld" - two h's
  6. "KleinFourGroup" as description: C2 x C2 would fit better with the remainder (and the command you used has this name in it)
  7. D_6 is used for order 14 dicyclic
  8. I presume you used lists to get multiline output into the table. Maybe for a consistent look you should use a one-line list in other locations. Did you try to experiment with any kind of "verbatim" or "pre-formatted" code to enforce line breaks on the hunks of code? Might be possible, could be impossible. At least the lists cut/paste cleanly. Do you need the "sage: " prompts? Do these get doctested?
  9. Add your name as author. (At the bottom?)
  10. Would it be feasible to add the Thomas/Wood numbers/id to each row of the table?? That'd add some credibility. Should probably reference the whole book at a minimum.
  11. Would it make sense to add some of this as simple doctests, so if a key construction function changes, then it'll get relected here? Right now it passes all tests, but I don't think anything is being tested. Maybe convert your simple examples at the top from formatted text (double back-ticks) to real doctests? You want your table to stay relevant, even if Sage changes. You could add one test for each construction process, which would be both good for reliability and good for instruction.

comment:3 Changed 7 years ago by khalasz


Attached is an updated table. After quite a bit of experimenting, I figured out a way to get all of the commands to get set as script and be doctests. Do you think this was the right choice (addressing 8 and 11)?

Also, I didn't add the Thomas/Woods? ids, as I don't own a copy of the book anymore. I don't think they are really necessary, considering how difficult the book is to get one's hands on, but if you really do we can figure out a way for me to get a copy.

comment:4 Changed 7 years ago by vbraun

I don't know Thomas/Woods. But I think the de-facto standard of enumerating the small groups in computational group theory circles is GAP's IdGroup, being a pair (order, n) where n starts at 1 and indexes the groups. Of course its easy to compute if you install the (non-GPL) small group database:

sage: install_package('database_gap')
sage: G = DihedralGroup(10)
sage: gap(G).IdGroup()
[ 20, 4 ]

What I'm trying to say : If there is space then it would be nice to have the GAP ids in the table.

Changed 7 years ago by khalasz

comment:5 Changed 7 years ago by khalasz

I added the GAP Ids to the table.

comment:6 Changed 7 years ago by vbraun

  • Description modified (diff)
  • Reviewers set to Volker Braun
  • Status changed from needs_review to positive_review

Sounds good to me.

comment:7 follow-up: Changed 7 years ago by jdemeyer

  • Description modified (diff)

comment:8 in reply to: ↑ 7 Changed 7 years ago by khalasz

Replying to jdemeyer: oops

comment:9 Changed 7 years ago by jdemeyer

  • Merged in set to sage-5.9.rc0
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.