Main Branches

Downloads  Installation  Overview  Data Libraries  Packages  Documentation  Contacts  FAQ  GAP 3 

Learning GAP

GAP can answer simple questions or be a tool for experts. We have collected here links to a variety of materials intended to help people learn the language and get what they want from GAP. See also the page on Teaching Material, which refers to material accompanying courses given at various places.

Some of these materials have been written as stand-alone introductions to GAP, others were prepared to accompany talks at conferences. We have tried in each case to indicate the level and the intended audience.

There is considerable overlap in the content of the various materials, particularly in their introductory sections. We suggest that you look at several accounts, both to discover which are most suited to your background and interests, and to see some different ways that people think about GAP.

Of course everything about GAP is contained in the manuals where it is explained in detail, but since already the main Reference Manual is so extensive we recommend that you look briefly at its table of contents first, then start to learn GAP with some of the basic materials here. If you can, start GAP in one computer window and open the written material in another, so you can cut and paste and experiment as you go along. Later, when you start to run your first own jobs, you may either continue to use GAP interactively or write programs to be saved and then executed. The latter has the advantage that such programs can easily be modified and rerun.

We wish you an enjoyable and rewarding experience learning GAP.

Elementary Accounts

  • The Tutorial is a basic introduction to some of the most commonly used functions and programming terms.
  • The Software Carpentry lesson "Programming with GAP" by Olexandr Konovalov gives an introduction to GAP covering various aspects of work with the system from using the command line to explore algebraic objects interactively to saving the code into files, creating functions and regression tests, searching in the Small Groups Library and extending the system by adding new attributes.
  • Some introductory lessons for new GAP users have been written by Edmund Robertson. Of this the section 'Graph Theory using the GRAPE package' was contributed by Robert Brignall.
  • Some introductory exercises (html) for new GAP users have been written by Stefan Kohl. There is a downloadable pdf version as well.
  • David Joyner is collecting a list of frequently asked questions about Constructions of various mathematical objects in GAP with fully worked out GAP code answering them. This collection is specially recommended for newcomers to the system .
  • Alexander Hulpke has collected user questions (mostly from the GAP Forum) about mathematical applications of GAP together with the corresponding answers. See Some GAP Questions on his home page.
  • Using GAP.
    A GAP 4 tutorial by Alexander Hulpke at ISSAC 2000 at St Andrews.
    Handout provided for the participants. Available in PDF.
  • Eight GAP lessons by Peter Webb, University of Minnesota, covering Permutation Groups, Matrices, Finite Fields and Matrix Groups, Groups given by Presentations, Stabilizer chains, Coset Enumeration.
  • Uma Introducao ao GAP
    An introduction to GAP (in Portuguese) by Manuel Delgado, University of Porto.
    An introduction to using GAP to study automata and semigroups.
  • Olexandr Konovalov has written an explanation how to create new objects in GAP using the example of circle multiplication.
  • GAP – bardzo krótkie wprowadzenie (a brief introduction to GAP in Polish) by Rafał Lutowski (University of Gdańsk, Poland).

Elementary Accounts for Learning GAP 3.

  • Computers in Group theory - An introduction to GAP.
    A talk on computational group theory, focussing on GAP 3, with two advanced examples. Delivered by Alexander Hulpke at Rennes, April 1996. Available in LaTeX, DVI, and PostScript.
  • An Introduction to GAP 3.
    A two hour introduction for beginners by Steve Linton, delivered at the workshop "Nilpotent and Soluble Quotient Methods" in Trento, Italy, June 1997. Available in LaTeX, DVI, and PostScript.
  • An introduction to groups, in particular finite soluble groups, in GAP 3.
    Slides to talks by Bettina Eick at the conference `Methods of computer algebra in finite geometry' in Caserta, Italy, November 1997.

More Specialized Materials