In GAP, matrices by convention act on row vectors from the right, whereas in crystallography the convention is to act on column vectors from the left. The definition of certain algebraic objects important in crystallography implicitly depends on which action is assumed. This holds true in particular for quadratic forms invariant under a matrix group. In a similar way, the representation of affine crystallographic groups, as they are provided by the share package CrystGap, depends on which action is assumed. Crystallographers are used to the action from the left, whereas the action from the right is the natural one for GAP. For this reason, a number of functions which are important in crystallography, and whose result depends on which action is assumed, are provided in two versions, one for the usual action from the right, and one for the crystallographic action from the left.
For every such function, this fact is explicitly mentioned.
The naming scheme is as follows: If SomeThing is such a function,
there will be functions SomeThingOnRight and SomeThingOnLeft,
assuming action from the right and from the left, repectively.
In addition, there is a generic function SomeThing, which returns
either the result of SomeThingOnRight or SomeThingOnLeft,
depending on the global variable CrystGroupDefaultAction.
CrystGroupDefaultAction V
can have either of the two values RightAction and LeftAction.
The initial value is RightAction. For functions which have
variants OnRight and OnLeft, this variable determines which
variant is returned by the generic form. The value of
CrystGroupDefaultAction can be changed with with the
function SetCrystGroupDefaultAction.
SetCrystGroupDefaultAction( action ) F
allows to set the value of the global variable CrystGroupDefaultAction.
Only the arguments RightAction and LeftAction are allowed.
Initially, the value of CrystGroupDefaultAction is RightAction
GAP 4 manual