Suppose that for a given group g the multiplication table of a binary
operation * on the elements of g is known such that * is a
near-ring multiplication on g. Then the constructor function Nearring
can be used to input the near-ring specified by g and *.
An example shall illustrate a possibility how this could be accomplished: Take the group S_3, which in GAP can be defined e.g. by
gap> g := Group( (1,2), (1,2,3) ); Group( (1,2), (1,2,3) )
This group has the following list of elements:
gap> Elements( g ); [ (), (2,3), (1,2), (1,2,3), (1,3,2), (1,3) ]
Let 1
stand for the first element in this list, 2
for the second,
and so on up to 6
which stands for the sixth element in the following
multiplication table:
catcode`|=12 begintabularccccccc} \catcode`\
=13
* & 1 & 2 & 3 & 4 & 5 & 6
hline
1 & 1 & 1 & 1 & 1 & 1 & 1
2 & 2 & 2 & 2 & 2 & 2 & 2
3 & 2 & 2 & 6 & 3 & 6 & 3
4 & 1 & 1 & 5 & 4 & 5 & 4
5 & 1 & 1 & 4 & 5 & 4 & 5
6 & 2 & 2 & 3 & 6 & 3 & 6
A near-ring on g
with this multiplication can be input by first defining
a multiplication function, say m
in the following way:
gap> m := function( x, y ) > local elms, table; > elms := Elements( g ); > table := [ [ 1, 1, 1, 1, 1, 1 ], > [ 2, 2, 2, 2, 2, 2 ], > [ 2, 2, 6, 3, 6, 3 ], > [ 1, 1, 5, 4, 5, 4 ], > [ 1, 1, 4, 5, 4, 5 ], > [ 2, 2, 3, 6, 3, 6 ] ]; > > return elms[ table[Position( elms, x )][Position( elms, y )] ]; > end; function ( x, y ) ... end
Then the near-ring can be constructed by calling Nearring
with the
parameters g
and m
:
gap> n := Nearring( g, m ); Nearring( Group( (1,2), (1,2,3) ), function ( x, y ) local elms, table; elms := Elements( g ); table := [ [ 1, 1, 1, 1, 1, 1 ], [ 2, 2, 2, 2, 2, 2 ], [ 2, 2, 6, 3, 6, 3 ], [ 1, 1, 5, 4, 5, 4 ], [ 1, 1, 4, 5, 4, 5 ], [ 2, 2, 3, 6, 3, 6 ] ]; return elms[table[Position( elms, x )][Position( elms, y )]]; end )Previous Up Top
GAP 3.4.4