[Up] [Previous] [Next] [Index]

8 Specific methods

Sections

  1. Core methods for Bol loops
  2. Moufang modifications
  3. Triality for Moufang loops
  4. Realizing groups as multiplication groups of loops

This chapter describes methods of LOOPS that apply to some special loops, mostly Bol and Moufang loops.

8.1 Core methods for Bol loops

Let L be a left Bol loopindexBol loop!leftindexloop!Bol such that the mapping xx2 is a permutation of L. Define a new operation * on L by x*y = (x(y2x))1/2. Then Bruck showed that (L,*) is a left Bruck loop, called the assoicated left Bruck loopindexBruck loop!associated leftindexloop!associated Bruck. (In fact, Bruck used the isomorphic operation x*y = x1/2(yx1/2) instead. Our approach is more natural, since the associated left Bruck loop to a left Bruck loop L is identical to L then.) The associated left Bruck loop of L is returned via

  • AssociatedLeftBruckLoop( L ) A

    The dual attribute is supported for right Bol loopsindexBol loop!rightindexloop!Bol:

  • AssociatedRightBruckLoop( L ) A

    Many right Bol loops can be constructed from exact group factorizations. The triple (G,H1,H2) is an exact group factorizationindexexact group factorization if H1, H2 are subgroups of G such that H1H2=G and H1H2=1.

    If (G,H1,H2) is an exact group factorization then (G×G, H1×H2, T) with T={(x,x−1 : xG} is a loop folder that gives rise to a right Bol loop. The corresponding methods in LOOPS are:

  • IsExactGroupFactorization( G, H1, H2 )
  • RightBolLoopByExactGroupFactorization( arg )

    The argument of RightBolLoopFromExactGroupFactorization can either be the exact group factorization [G,H1,H2] or the tuple [G,H], where H is a regular subgroup of G. We also allow to enter the arguments separately, instead of using lists.

    8.2 Moufang modifications

    Ale\vs Drápal discovered two prominent families of extensions of Moufang loops. It turns out that these extensions can be used to obtain all nonassociative Moufang loops of order at most 64. We call these two constructions Moufang modificationsindexmodification!Moufang. The library of Moufang loops included with LOOPS is based on Moufang modifications. We describe the two modifications briefly here. See DrVo for details.

    Assume that L is a Moufang loop with normal subloop S such that L/S is a cyclic group of order 2m. Let hSZ(L). Let α be a generator of L/S and write L = ∪iM αi, where M={−m+1, ..., m}. Let σ:ZM be defined by σ(i)=0 if iM, σ(i)=1 if i > m, and σ(i)=−1 if i < −m+1. Introduce a new multiplication ∗ on L defined by
    xy = xyhσ(i+j),
    where x ∈ αi, y ∈ αj, iM, jM. Then (L,∗) is a Moufang loop, a cyclic modificationindexmodification!cyclic of L.

    When L, S, α, h are as above and when a is any element of α, the corresponding cyclic modification is obtained via

  • LoopByCyclicModification( L, S, a, h ) F

    Now assume that L is a Moufang loop with normal subloop S such that L/S is a dihedral group of order 4m, with m ≥ 1. Let M and σ be defined as in the cyclic case. Let β, γ ∈ L/S be two involutions of L/S such that α = βγ generates a cyclic subgroup of L/S of order 2m. Let e ∈ β and f ∈ γ be arbitrary. Then L can be written as a disjoint union L=∪iMieαi), and also L=∪iMi∪αif. Let G0=∪iMαi, and G1=L\G0. Let hSN(L)∩Z(G0). Introduce a new multiplication ∗ on L defined by
    xy = xyh(−1)rσ(i+j),
    where x ∈ αieαi, y ∈ αj∪αjf, iM, jM, yGr, r ∈ {0,1}. Then (L,∗) is a Moufang loop, a dihedral modificationindexmodification!dihedral of L.

    When L, S, e, f and h are as above, the corresponding dihedral modification is obtained via

  • LoopByDihedralModification( L, S, e, f, h ) F

    In order to apply the cyclic and dihedral modifications, it is beneficial to have access to a class of nonassociative Moufang loops. The following construction is due to Chein:

    Let G be a group. Let [(G)]={[(g)];  gG} be a set of new elements. Define multiplication ∗ on L=G∪[(G)] by
    gh = ghg

    h
     
    =

    hg
     
    ,\

    g
     
    h =

    gh−1
     
    ,\

    g
     

    h
     
    =h−1g,
    where g, hG. Then L=M(G,2) is a Moufang loop that is nonassociative if and only if G is nonabelian.

    The loop M(G,2) can be obtained from a finite group G with

  • LoopMG2( G ) F

    8.3 Triality for Moufang loops

    Let G be a group and σ, ρ be automorphisms of G, satisfying σ2 = ρ3 = (σρ)2 = 1. We write the automorphisms of a group as exponents and [g,σ] for g−1gσ. We say that the triple (G,ρ,σ) is a group with trialityindexgroup with triality if [g, σ] [g,σ]ρ [g,σ]ρ2 = 1 holds for all gG. It is known that one can associate a group with triality (G,ρ,σ) in a canonical way with a Moufang loop L. See NaVo2003 for more details.

    For any Moufang loop L, we can calculate the triality group as a permutation group acting on 3|L| points. If the multiplication group of L 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.

    Given a Moufang loop L, the function

  • TrialityPermGroup( L ) F

    returns a record [G, ρ, σ], where G is the group with triality associated with L, and ρ, σ are the corresponding triality automorphisms.

    The function

  • TrialityPcGroup( L ) F

    differs from TrialityPermGroup only in that G is returned as a pc group.

    8.4 Realizing groups as multiplication groups of loops

    The following commands look for loops such that the multiplication group is contained in a given transitive permutation group G.

    The resulting loops are given by their right sections.

  • AllLoopTablesInGroup( G[, depth[, infolevel]] ) O
  • AllProperLoopTablesInGroup( G[, depth[, infolevel]] ) O
  • OneLoopTableInGroup( G[, depth[, infolevel]] ) O
  • OneProperLoopTableInGroup( G[, depth[, infolevel]] ) O
  • AllLoopsWithMltGroup( G[, depth[, infolevel]] ) O
  • OneLoopWithMltGroup( G[, depth[, infolevel]] ) O

    One can speed up the search by setting the argument depth higher, the price is much higher memory consumption. depth is optimally chosen if in the permutation group G, there are not many permutations fixing depth elements. You can omit the argument depth or set it equal to 2 with little harm.

    The parameter infolevel determines the amount of information you get during the search. With infolevel=0, no information is provided. With infolevel=1, you get the information on timing and hits. With infolevel=2, the results are printed, as well.

    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
    

    [Up] [Previous] [Next] [Index]

    loops manual
    jĂșlius 2015