A right Bruck loop is a right Bol loop satisfying the automorphic inverse property. If Q is a right Bol loop in which the squaring map x\mapsto x^2 is a permutation, then (Q,\circ) with multiplication x\circ y = ((x(yy))x)^{1/2} is a right Bruck loop, the right Bruck loop associated with Q. Here, x^{1/2} is the square-root of x, the unique element y of Q such that y^2=x.
For a left Bol loop in which squaring is a permutation, the associated left Bruck loop is defined by x\circ y = (x((yy)x))^{1/2}.
‣ AssociatedRightBruckLoop ( Q ) | ( attribute ) |
‣ AssociatedLeftBruckLoop ( Q ) | ( attribute ) |
Returns: the right (left) Bruck loop associated with the right (left) Bol loop Q
. The returned loop is index based iff Q
is index based.
gap> Q := RightBolLoop(21,1);; gap> AssociatedRightBruckLoop( Q ); <right Bruck loop of size 21>
‣ IsExactGroupFactorization ( G, H1, H2 ) | ( operation ) |
Returns: true
if G
, H1
, H2
is an exact group factorization, else returns false
.
A triple G, H_1, H_2 is an exact group factorization if H_1, H_2 are subgroups of G such that H_1\cap H_2=1 and H_1H_2=G.
‣ RightBolLoopByExactGroupFactorization ( G, H1[, H2[, constructorStyle]] ) | ( operation ) |
Returns: the right Bol loop obtained from the exact group factorization G
, H1
, H2
. With two arguments G
and H1
, the group G
must be a transitive permutation group and H1
must be a regular subgroup. Then, H2
is taken as the stabilizer of a point in G
.
Given an exact group factorization G, H_1, H_2, the triple (G\times G, H_1\times H_2, \{(g,g^{-1}):g\in G\}) is a loop right folder and the resulting group is automatically a right Bol loop.
gap> G := SymmetricGroup( 5 );; gap> H1 := Subgroup( G, [(1,2),(1,3),(1,4)] );; gap> H2 := Subgroup( G, [(1,2,3,4,5)] );; gap> IsExactGroupFactorization( G, H1, H2 ); true gap> RightBolLoopByExactGroupFactorization( G, H1, H2 ); <right Bol loop of size 120>
Let G be a group and \sigma, \rho be automorphisms of G satisfying \sigma^2 = \rho^3 = (\sigma \rho)^2 = 1. Below we write automorphisms as exponents and [g,\sigma] for g^{-1}g^\sigma. We say that the triple (G,\rho,\sigma) is a group with triality if [g, \sigma] [g,\sigma]^\rho [g,\sigma]^{\rho^2} =1 holds for all g \in G. It is known that one can associate a group with triality (G,\rho,\sigma) in a canonical way with a Moufang loop Q. See [NVe03] 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 \sigma and \rho are in the same family as the elements of G.
‣ TrialityPermGroup ( Q ) | ( operation ) |
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. We allow Q to be a group.
‣ TrialityPcGroup ( Q ) | ( operation ) |
This is a variation of TrialityPermGroup
in which G
is returned as a pc group.
DrĂ¡pal [Dr\03] described two prominent families of extensions of Moufang loops. The common feature of these extensions is that they modify multiplication tables of groups or other Moufang loops in exactly one quarter of the mutliplication table. 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 used to be based on Moufang modifications. See [DVe06] for details.
‣ CheinLoop ( G[, constructorStyle] ) | ( operation ) |
Returns: the Chein loop constructed from the group G
, that is, the Moufang loop on [0,1] x G
with multiplication
(0,x)(0,y) = (0,xy),\ (0,x)(1,y) = (1,yx),\, (1,x)(0,y) = (1,xy^{-1}),\ (1,x)(1,y) = (0,yx^{-1}).
The resulting Moufang loop is associative iff G
is commutative.
‣ LoopByCyclicModification ( Q, S, a, h ) | ( function ) |
Returns: The cyclic modification of a Moufang loop Q obtained from S, a=\alpha and h as described below. We allow S to be normal subloop of L or a list of elements of L generating a normal subloop. The returned loop will always be index based.
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\in S\cap Z(L). Let \alpha be a generator of Q/S and write Q = \bigcup_{i\in M} \alpha^i, where M=\{-m+1, \dots, m\}. Let \sigma:\mathbb{Z}\to M be defined by \sigma(i)=0 if i\in M, \sigma(i)=1 if i>m, and \sigma(i)=-1 if i<-m+1. Introduce a new multiplication * on Q by x*y = xyh^{\sigma(i+j)}, where x\in \alpha^i, y\in\alpha^j, i\in M and j\in M. Then (Q,*) is a Moufang loop, a cyclic modification of Q.
‣ 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. We allow S to be normal subloop of L or a list of elements of L generating a normal subloop. The returned loop will always be index based.
Let Q be a Moufang loop with a normal subloop S such that Q/S is a dihedral group of order 4m, with m\ge 1. Let M and \sigma be efined as in the cyclic case. Let \beta, \gamma be two involutions of Q/S such that \alpha=\beta\gamma generates a cyclic subgroup of Q/S of order 2m. Let e\in\beta and f\in\gamma be arbitrary. Then Q can be written as a disjoint union Q=\bigcup_{i\in M}(\alpha^i\cup e\alpha^i), and also Q=\bigcup_{i\in M}(\alpha^i\cup \alpha^if). Let G_0=\bigcup_{i\in M}\alpha^i, and G_1=L\setminus G_0. Let h\in S\cap N(L)\cap Z(G_0). Introduce a new multiplication * on Q by x*y = xyh^{(-1)^r\sigma(i+j)}, where x\in\alpha^i\cup e\alpha^i, y\in\alpha^j\cup \alpha^jf, i\in M, j\in M, y\in G_r and r\in\{0,1\}. Then (Q,*) is a Moufang loop, a dihedral modification of Q.
generated by GAPDoc2HTML