22
$\begingroup$

Background: This year I'll do another Group Theory course ( Open University M336 ). In the past I have used Mathematica's AbstractAlgebra package but (although visually appealing ) this is no longer sufficient (i.e. listing subgroups of $S_4$ takes ages). So, I want to learn more about GAP. I worked through beginner tutorials that I found via the GAP website. Currently, I am not making much progress with GAP. The reference manual does not help me much at this stage.

Question: Which resources are available to self-study GAP? How does one become proficient in GAP? What ( books, tutorials ) should you study?

$\endgroup$
8
  • $\begingroup$ Not a real answer, but why won't you try Sage? It wraps GAP and many other things and uses the easy-to-learn Python language (and has books) $\endgroup$
    – Gadi A
    Jan 31, 2012 at 10:22
  • $\begingroup$ Is there a difference between the stand-alone GAP and the Sage-wrapped version? I would still have to learn how to formulate Group Theory in GAP. Creating semi-direct products for example. $\endgroup$ Jan 31, 2012 at 10:33
  • $\begingroup$ You'll need to formulate Group theory in Sage, not in GAP; however, it can be argued that Sage is easier to learn than GAP, and that it is more productive to familiarize yourself with an algebra system that can assist you also in things GAP cannot. $\endgroup$
    – Gadi A
    Jan 31, 2012 at 12:29
  • 4
    $\begingroup$ I would say just play around with it! That's the best way to learn the basics. There are lots of online books available (as well as the gap website, which contains a comprehensive reference as well as tutorials). Here is a very nice PDF I use from time to time: math.colostate.edu/~hulpke/CGT/howtogap.pdf $\endgroup$
    – user641
    Jan 31, 2012 at 13:07
  • 1
    $\begingroup$ @user1729 thanks. This question seems to be useful for those interested to study GAP, as it is the 2nd most upvoted in the GAP tag. Also, another question was closed as a duplicate of this one. $\endgroup$ Jan 1, 2019 at 17:15

2 Answers 2

16
$\begingroup$

In addition to some answers given in comments to this question (cf. http://meta.math.stackexchange.com/questions/1559/dealing-with-answers-in-comments?), let me add that the following.

The Learning GAP section of the GAP website contains "a variety of material intended to help people to learn on their own the GAP language and the use of the GAP system".

Various tutorials, including the GAP Tutorial, are a good point to start, indeed. As for the reference manual, it is not assumed that one should read all its chapters sequentially. To start with, it may be worth to look at chapter titles to have a better idea of capabilities of the core GAP system, and look in more details on chapters which are most relevant to your current mathematical interests. Note that a lot of the functionality is contained in GAP packages which are developed independently and come with their own documentation.

It is also recommended to subscribe to the GAP Forum where you may find not only news about the GAP system, but also discussions and questions from other users. Reading these may provide further insight into the system. Finally, if there are any questions, please do not hesitate to send them to the GAP Forum or GAP Support.


Update 1: I’ve recently developed the Software Carpentry lesson "Programming with GAP". This lesson is intended for GAP beginners. It is suitable for self-study, and has been taught at various events, such as at training schools in discrete computational mathematics, organised by the CoDiMa project in 2015 and 2016 (see more slides from these events here), Groups St Andrews 2017 in Birmingham, PGTC 2018 and "GAP in Algebraic Research" (2018).


Update 2: This book has been mentioned in the comment above, but should be made more visible: Abstract Algebra in GAP by Alexander Hulpke. From its preface: "This book aims to give an introduction to using GAP with material appropriate for an undergraduate abstract algebra course. It does not even attempt to give an introduction to abstract algebra —there are many excellent books which do this. Instead it is aimed at the instructor of an introductory algebra course, who wants to incorporate the use of GAP into this course as an calculatory aid to exploration".

$\endgroup$
5
  • $\begingroup$ This is one of the best suggestion, one can give us. Thanks Alexander for your neat code. +1 $\endgroup$
    – Mikasa
    Apr 22, 2013 at 14:08
  • $\begingroup$ Damn, I missed the Summer school! :( $\endgroup$
    – Shaun
    Dec 30, 2018 at 12:11
  • $\begingroup$ @Shaun subscribe to GAP Forum mailing list, and if you're on Twitter, follow @gap_system and @codima_project ! $\endgroup$ Dec 30, 2018 at 19:09
  • $\begingroup$ Done! (Well, except I'm not on Twitter.) Thank you! $\endgroup$
    – Shaun
    Dec 30, 2018 at 19:28
  • $\begingroup$ You're welcome! Also, without a Twitter account you can just see tweets on the two mentioned Twitter profiles, and on the GAP and CoDiMa websites. $\endgroup$ Dec 30, 2018 at 23:06
8
$\begingroup$

A book called "Computer Algebra Handbook" by Grabmeier, Kaltofen and Weispfenning (eds.) (2003) includes some advanced topics in group theory and examples of code that you can use with GAP.

In particular, this book has chapters:

  • "Computational Group Theory" by Charles Sims
  • "Algorithms of Representation Theory" by Gerhard Hiss
  • "Computer Algebra in Group Theory" by Gerhard Hiss

and also a 6 pages long section on GAP by Thomas Breuer and Alexander Hulpke, referring to GAP 4.2 (March 2000) which was the current version at the time of writing. I did not find any examples of the GAP code in the book, but I have no accompanying CD which might contain some. Anyhow, for code examples I'd suggest to use more modern sources.

Another interesting book is "Handbook of Computational Group Theory" by Derek F. Holt, Bettina Eick and Eamonn A. O'Brien.

$\endgroup$
1
  • $\begingroup$ I have this book from the library but without CD. If anyone has CD and could tell more details about GAP code there, that would be interesting. $\endgroup$ Dec 9, 2015 at 9:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .