68.1 More about the MeatAxe in GAP

The MeatAxe can be used to speed up computations that are possible also using ordinary GAP functions. But more interesting are functions that are not (or not yet) available in the GAP library itself, such as that Module Functions for MeatAxe Modules).

The syntax of the functions is the usual GAP syntax, so it might be useful to read the chapters about algebras and modules in GAP (see chapters Algebras, Modules) if you want to work with MeatAxe modules.

The main idea is to let the MeatAxe functions do the main work, and use GAP as a shell. Since in MeatAxe philosophy, each object is contained in its own file, GAP's task is mainly to keep track of these files. For example, for GAP a MeatAxe matrix is a record containing at least information about the file name, the underlying finite field, and the dimensions of the matrix (see MeatAxe Matrices). Multiplying two such matrices means to invoke the multiplication program of MeatAxe, to store the result in a new file, and notify this to GAP.

This idea is used not only for basic calculations but also to access elaborate and powerful algorithms, for example the program to compute the Module Functions for MeatAxe Modules).

In order to avoid conversion overhead the MeatAxe matrices are read into GAP only if the user explicitly applies GapObject (see GapObject), or applies an operator (like multiplication) to a MeatAxe matrix and an ordinary GAP object.

Some of the functions, mainly CompositionFactors, print useful information if the variable InfoMeatAxe is set to the value Print. The default of InfoMeatAxe is Print, if you want to suppress the information you should set InfoMeatAxe to Ignore.

For details about the implementation of the standalone functions, see~Rin93.

Up Top Next
Index

GAP 3.4.4
April 1997