The functions in the operation package generally compute with the
operation of group elements defined by the canonical operation that is
denoted with the caret (
^) in GAP. However they also allow you to
specify other operations. Such operations are specified by functions,
which are accepted as optional argument by all the operations package
This function must accept two arguments. The first argument will be the point and the second will be the group element. The function must return the image of the point under the group element.
As an example, the function
OnPairs that specifies the operation on
pairs could be defined as follows
OnPairs := function ( pair, g ) return [ pair ^ g, pair ^ g ]; end;
The following operations are predefined.
OnPairsis the special case of
OnTuplesfor tuples with two elements.
OnLinesmultiplies the vector by the group element and then divides the vector by the first nonzero coefficient.
Note that it is your responsibility to make sure that the elements of the
domain D on which you are operating are already in normal form. The
reason is that all functions will compare points using the
For example, if you are operating on sets with
OnSets, you will get an
error message it not all elements of the domain are sets.
gap> Cycle( (1,2), [2,1], OnSets ); Error, OnSets: <tuple> must be a set
The former function
OnLeft which operated by mulitplication from the
left has been renamed
OnLeftAntiOperation, to emphasise the point that
it does not satisify the axioms of an operation, and may cause errors if
supplied where an operation is expected.
Up Top Next