Basic Capabilities
GAP provides many ways of forming …
- lists (mutable and immutable), which also coverssets,row vectors,matrices,strings, andBoolean lists,
- records,
- domains, i. e., objects representing sets with an algebraic structure.
Notions and tools modeled in some analogy to elementary set theory help to handle these:
- distinction ofobjects and elements,
- Booleans,
- orderings,
- mappings (in particular mappings respecting structures which again can be elements of structures),
- relations.
GAP can compute with
- arbitrary integers,
- rational numbers,
- cyclotomic numbers, in particularGaussian numbers,
- elements offinite fields (see also the coding theory package GUAVA),
- p-adic numbers,
- polynomials, includingmultivariate polynomials (GAP contains only a basic implementation of Buchberger’s algorithm for computingGröbner bases, for more serious computations the package singular provides an interface to the extensive capabilities of the system SINGULAR),
- rational functions as well as
- various kinds of group elements, e. g.permutations,matrices, andabstract words.
One can work with many algebraic structures. In addition to those listed under Mathematical Capabilities, there are e. g.
- finite fields,
- residue class rings of integers (see also the package ResClasses),
- abelian number fields,
- lattices and integral matrices.
Also there are
- variouscombinatorial functions,
- functions forelementary number theory as well as
- functions forprime number factorization (see also the package FactInt).