loops/doc/chap8.txt

191 lines
12 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

8 Specific Methods
This chapter describes methods of LOOPS that apply to specific classes of
loops, mostly Bol and Moufang loops.
8.1 Core Methods for Bol Loops
8.1-1 AssociatedLeftBruckLoop and AssociatedRightBruckLoop
AssociatedLeftBruckLoop( Q )  attribute
AssociatedRightBruckLoop( Q )  attribute
Returns: The left (resp. right) Bruck loop associated with a uniquely
2-divisible left (resp. right) Bol loop Q.
Let Q be a left Bol loop such that the mapping x↦ x^2 is a permutation of Q.
Define a new operation * on Q by x*y =(x(y^2x))^1/2. Then (Q,*) is a left
Bruck loop, called the associated left Bruck loop. (In fact, Bruck used the
isomorphic operation x*y = x^1/2(yx^1/2) instead. Our approach is more
natural in the sense that the left Bruck loop associated with a left Bruck
loop is identical to the original loop.) Associated right Bruck loops are
defined dually.
8.1-2 IsExactGroupFactorization
IsExactGroupFactorization( G, H1, H2 )  operation
Returns: true if (G, H1, H2) is an exact group factorization.
Many right Bol loops can be constructed from exact group factorizations. The
triple (G,H_1,H_2) is an exact group factorization if H_1, H_2 are subgroups
of G such that H_1H_2=G and H_1∩ H_2=1.
8.1-3 RightBolLoopByExactGroupFactorization
If (G,H_1,H_2) is an exact group factorization then (G× G, H_1× H_2, T) with
T={(x,x^-1)| x∈ G} is a loop folder that gives rise to a right Bol loop.
RightBolLoopByExactGroupFactorization( arg )  function
Returns: The right Bol loop constructed from an exact group factorization.
The argument arg can either be an exact group factorization
[G,H1,H2], or the tuple [G,H], where H is a regular subgroup of G.
We also allow arg to be separate entries rather than a list of
entries.
8.2 Moufang Modifications
Drápal [Drá03] described two prominent families of extensions of Moufang
loops. It turns out that these extensions suffice to obtain all
nonassociative Moufang loops of order at most 64 if one starts with
so-called Chein loops. We call the two constructions Moufang modifications.
The library of Moufang loops included in LOOPS is based on Moufang
modifications. See [DV06] for details.
8.2-1 LoopByCyclicModification
LoopByCyclicModification( Q, S, a, h )  function
Returns: The cyclic modification of a Moufang loop Q obtained from S, a=α
and h described below.
Assume that Q is a Moufang loop with a normal subloop S such that Q/S is a
cyclic group of order 2m. Let h∈ S∩ Z(L). Let α be a generator of Q/S and
write Q = _i∈ M α^i, where M={-m+1, dots, m}. Let σ:Z-> M be defined by
σ(i)=0 if i∈ M, σ(i)=1 if i>m, and σ(i)=-1 if i<-m+1. Introduce a new
multiplication * on Q by x*y = xyh^σ(i+j), where x∈ α^i, y∈α^j, i∈ M and j∈
M. Then (Q,*) is a Moufang loop, a cyclic modification of Q.
8.2-2 LoopByDihedralModification
LoopByDihedralModification( Q, S, e, f, h )  function
Returns: The dihedral modification of a Moufang loop Q obtained from S, e,
f and h as described below.
Let Q be a Moufang loop with a normal subloop S such that Q/S is a dihedral
group of order 4m, with mge 1. Let M and σ be defined as in the cyclic case.
Let β, γ be two involutions of Q/S such that α=βγ generates a cyclic
subgroup of Q/S of order 2m. Let e∈β and f∈γ be arbitrary. Then Q can be
written as a disjoint union Q=_i∈ M(α^i eα^i), and also Q=_i∈ M(α^i
α^if). Let G_0=_i∈ Mα^i, and G_1=L G_0. Let h∈ S∩ N(L)∩ Z(G_0). Introduce
a new multiplication * on Q by x*y = xyh^(-1)^rσ(i+j), where x∈α^i eα^i,
y∈α^j α^jf, i∈ M, j∈ M, y∈ G_r and r∈{0,1}. Then (Q,*) is a Moufang loop, a
dihedral modification of Q.
8.2-3 LoopMG2
LoopMG2( G )  function
Returns: The Chein loop constructed from a group G.
Let G be a group. Let overlineG={overlineg|g∈ G} be a disjoint copy of
elements of G. Define multiplication * on Q=G overlineG by g*h = gh,
g*overlineh=overlinehg, overlineg*h = overlinegh^-1} and
overlineg*overlineh=h^-1g, where g, h∈ G. Then (Q,*)=M(G,2) is a so-called
Chein loop, which is always a Moufang loop, and it is associative if and
only if G is commutative.
8.3 Triality for Moufang Loops
Let G be a group and σ, ρ be automorphisms of G satisfying σ^2 = ρ^3 = (σ
ρ)^2 = 1. Below we write automorphisms as exponents and [g,σ] for g^-1g^σ.
We say that the triple (G,ρ,σ) is a group with triality if [g, σ] [g,σ]^ρ
[g,σ]^ρ^2 =1 holds for all g ∈ G. It is known that one can associate a group
with triality (G,ρ,σ) in a canonical way with a Moufang loop Q. See [NV03]
for more details.
For any Moufang loop Q, we can calculate the triality group as a permutation
group acting on 3|Q| points. If the multiplication group of Q is polycyclic,
then we can also represent the triality group as a pc group. In both cases,
the automorphisms σ and ρ are in the same family as the elements of G.
8.3-1 TrialityPermGroup
TrialityPermGroup( Q )  function
Returns: A record with components G, rho, sigma, where G is the canonical
group with triality associated with a Moufang loop Q, and rho,
sigma are the corresponding triality automorphisms.
8.3-2 TrialityPcGroup
TrialityPcGroup( Q )  function
This is a variation of TrialityPermGroup in which G is returned as a pc
group.
8.4 Realizing Groups as Multiplication Groups of Loops
It is difficult to determine which groups can occur as multiplication groups
of loops.
The following operations search for loops whose multiplication groups are
contained within a specified transitive permutation group G. In all these
operations, one can speed up the search by increasing the optional argument
depth, the price being a much higher memory consumption. The argument depth
is optimally chosen if in the permutation group G there are not many
permutations fixing depth elements. It is safe to omit the argument or set
it equal to 2.
The optional argument infolevel determines the amount of information
displayed during the search. With infolevel=0, no information is provided.
With infolevel=1, you get some information on timing and hits. With
infolevel=2, the results are printed as well.
8.4-1 AllLoopTablesInGroup
AllLoopTablesInGroup( G[, depth[, infolevel]] )  operation
Returns: All Cayley tables of loops whose multiplication group is contained
in the transitive permutation group G.
8.4-2 AllProperLoopTablesInGroup
AllProperLoopTablesInGroup( G[, depth[, infolevel]] )  operation
Returns: All Cayley tables of nonassociative loops whose multiplication
group is contained in the transitive permutation group G.
8.4-3 OneLoopTableInGroup
OneLoopTableInGroup( G[, depth[, infolevel]] )  operation
Returns: A Cayley table of a loop whose multiplication group is contained
in the transitive permutation group G.
8.4-4 OneProperLoopTableInGroup
OneProperLoopTableInGroup( G[, depth[, infolevel]] )  operation
Returns: A Cayley table of a nonassociative loop whose multiplication group
is contained in the transitive permutation group G.
8.4-5 AllLoopsWithMltGroup
AllLoopsWithMltGroup( G[, depth[, infolevel]] )  operation
Returns: A list of all loops (given as sections) whose multiplication group
is equal to the transitive permutation group G.
8.4-6 OneLoopWithMltGroup
OneLoopWithMltGroup( G[, depth[, infolevel]] )  operation
Returns: One loop (given as a section) whose multiplication group is equal
to the transitive permutation group G.
 Example 
gap> g:=PGL(3,3);

Group([ (6,7)(8,11)(9,13)(10,12), (1,2,5,7,13,3,8,6,10,9,12,4,11) ])

gap> a:=AllLoopTablesInGroup(g,3,0);; Size(a);

56

gap> a:=AllLoopsWithMltGroup(g,3,0);; Size(a);

52