GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The system, including source, is distributed freely. You can study and easily modify or extend it for your special use.
The features:
-
Mathematical capabilities accessible through
- a large library of functions, containing implementations of various algebraic algorithms, part of which is divided into 'Modules' under the responsibility of 'maintainers',
- separate packages of additional functions for specialized purposes which can be used like library functions,
- data libraries containing large classes of various algebraic objects that are accessible by using GAP commands.
-
A
programming language, also called GAP,
which is interpreted and can be compiled. It can be used interactively
at the keyboard or to write programs to be saved and then executed.
Such programs can easily be modified and rerun. The language features:
- Pascal-like control structures,
- automatic memory management including garbage collection,
- streams,
- flexible list and record data types,
- built-in data types for key algebraic objects,
- automatic method selection building on a mechanism for automatically choosing the highest ranked method for a certain operation, depending on the current state of all its arguments, so that GAP objects representing mathematical objects may gain knowledge about themselves during their lifetime resulting in better methods being chosen later on.
-
An
interactive environment that supports in particular
- line editing e.g. tab completion,
- break loops for debugging,
- further debugging and profiling facilities for GAP programs,
- online help (i.e. online access to the manuals),
- a graphical user interface for GAP,
- further GAP interface programs provided by users.
-
Documentation, in particular
- a Tutorial and further learning and teaching material, some of these in French, Japanese, Portuguese, and Russian,
- a Reference Manual giving complete descriptions of library functions with examples of use,
- a descriptions of changes from earlier versions,
- separate manuals for the packages,
- worked out higher level examples and a collection of preprints and talks,
- a mark-up language GAPDoc for writing GAP documentation,
- an archive of GAP Forum contributions,
- a Bibliography of papers quoting GAP.
- Download and Installation instructions.
- FAQ answers.
https://github.com/gap-system/gap
www.dcs.gla.ac.uk/~trinder/papers/HPCGAPSystems.pdf
No comments:
Post a Comment