Goto Chapter: Top 1 2 3 4 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Preliminaries
 1.1 Definition and examples

1 Preliminaries

In this section we define skew braces and list some of their main properties [GV17].

1.1 Definition and examples

A skew brace is a triple \((A,+,\circ)\), where \((A,+)\) and \((A,\circ)\) are two (not necessarily abelian) groups such that the compatibility \(a\circ (b+c)=a\circ b-a+a\circ c\) holds for all \(a,b,c\in A\). Ones proves that the map \(\lambda\colon (A,\circ)\to\mathrm{Aut}(A,+)\), \(a\mapsto\lambda_a(b)\), \(\lambda_a(b)=-a+a\circ b\), is a group homomorphism. Notation: For \(a,b\in A\), we write \(a*b=\lambda_a(b)-b\).

1.1-1 IsSkewbrace
‣ IsSkewbrace( arg )( filter )

Returns: true or false

1.1-2 Skewbrace
‣ Skewbrace( list )( operation )

Returns: a skew brace

The argument list is a list of pairs of elements in a group. By Proposition 5.11 of [GV17], skew braces over an abelian group \(A\) are equivalent to pairs \((G,\pi)\), where \(G\) is a group and \(\pi\colon G\to A\) is a bijective \(1\)-cocycle, a finite skew brace can be constructed from the set \(\{(a_j,g_j):1\leq j\leq n\}\), where \(G=\{g_1,\dots,g_n\}\) and \(A=\{a_1,\dots,a_n\}\) are permutation groups. This function is used to construct skew braces.

gap> Skewbrace([[(),()]]);
<brace of size 1>
gap> Skewbrace([[(),()],[(1,2),(1,2)]]);
<brace of size 2>

1.1-3 SmallSkewbrace
‣ SmallSkewbrace( n, k )( operation )

Returns: a skew brace

The function returns the k-th skew brace from the database of skew braces of order n.

gap> SmallSkewbrace(8,3);
<brace of size 8>

1.1-4 TrivialBrace
‣ TrivialBrace( abelian_group )( operation )

Returns: a brace

This function returns the trivial brace over the abelian group abelian_group. Here abelian_group should be an abelian group!

gap> TrivialBrace(CyclicGroup(IsPermGroup, 5));
<brace of size 5>

1.1-5 TrivialSkewbrace
‣ TrivialSkewbrace( group )( operation )

Returns: a skew brace

This function returns the trivial skew brace over group.

gap> TrivialSkewbrace(DihedralGroup(10));
<skew brace of size 10>

1.1-6 SmallBrace
‣ SmallBrace( n, k )( operation )

Returns: a brace of abelian type

The function returns the k-th brace (of abelian type) from the database of braces of order n.

gap> SmallBrace(8,3);
<brace of size 8>

1.1-7 IdSkewbrace
‣ IdSkewbrace( obj )( attribute )

Returns: a list

The function returns [ n, k ] if the skew brace obj is isomorphic to SmallSkewbrace(n,k).

gap> IdSkewbrace(SmallSkewbrace(8,5));
[ 8, 5 ]

1.1-8 AutomorphismGroup
‣ AutomorphismGroup( obj )( attribute )

Returns: a list

The function computes the automorphism group of a skew brace.

gap> br := SmallSkewbrace(8,20);;
gap> AutomorphismGroup(br);
<group with 8 generators>
gap> StructureDescription(last);
"D8"
gap> br := SmallSkewbrace(8,25);;
gap> aut := AutomorphismGroup(br);;
gap> f := Random(aut);;
gap> x := Random(br);;
gap> ImageElm(f, x) in br;
true

1.1-9 IdBrace
‣ IdBrace( obj )( attribute )

Returns: a list

The function returns [ n, k ] if the brace of abelian type obj is isomorphic to SmallBrace(n,k).

gap> IdBrace(SmallBrace(8,5));
[ 8, 5 ]

1.1-10 IsomorphismSkewbraces
‣ IsomorphismSkewbraces( obj1, obj2 )( function )

Returns: an isomorphism of skew braces if obj1 and obj2 are isomorphic and fail otherwise.

If \(A\) and \(B\) are skew braces, a skew brace homomorphism is a map \(f\colon A\to B\) such that

\[f(a+b)=f(a)+f(b)\quad f(a\circ b)=f(a)\circ f(b)\]

hold for all \(a,b\in A\). A skew brace isomorphism is a bijective skew brace homomorphism. IsomorphismSkewbraces first computes all injective homomorphisms from \((A,+)\) to \((B,+)\) and then tries to find one \(f\) such that \(f(a\circ b)=f(a)\circ f(b)\) for all \(a,b\in A\).

1.1-11 DirectProductSkewbraces
‣ DirectProductSkewbraces( obj1, obj2 )( operation )

Returns: the direct product of obj1 and obj2

gap> br1 := SmallBrace(8,18);;
gap> br2 := SmallBrace(12,2);;
gap> br := DirectProductSkewbraces(br1,br2);;
gap> IsLeftNilpotent(br);
false
gap> IsRightNilpotent(br);
false
gap> IsSolvable(br);
true

1.1-12 DirectProductOp
‣ DirectProductOp( arg1, arg2 )( operation )

1.1-13 IsTwoSided
‣ IsTwoSided( obj )( property )

Returns: true if the skew brace is two sided, false otherwise

A skew brace \(A\) is said to be two-sided if \((a+b)\circ c=a\circ c-c+b\circ c\) holds for all \(a,b,c\in A\).

gap> IsTwoSided(SmallSkewbrace(8,2));
false
gap> IsTwoSided(SmallSkewbrace(8,4));
true

1.1-14 IsAutomorphismGroupOfSkewbrace
‣ IsAutomorphismGroupOfSkewbrace( obj )( property )

Returns: true if the group is the automorphism group of a skew braces, false otherwise

gap> br := SmallSkewbrace(8,25);;
gap> aut := AutomorphismGroup(br);;
gap> Order(aut);
4
gap> IsAutomorphismGroupOfSkewbrace(aut);
true

1.1-15 IsClassical
‣ IsClassical( obj )( property )

Returns: true if the skew brace is of abelian type, false otherwise

Let \(\mathcal{X}\) be a property of groups. A skew brace \(A\) is said to be of \(\mathcal{X}\)-type if its additive group belongs to \(\mathcal{X}\). In particular, skew braces of abelian type are those skew braces with abelian additive group. Such skew braces were introduced by Rump in [Rum07].

1.1-16 IsOfAbelianType
‣ IsOfAbelianType( arg )( property )

Returns: true or false

1.1-17 IsBiSkewbrace
‣ IsBiSkewbrace( obj )( property )

Returns: true if the skew brace is a bi-skew brace, false otherwise

A skew brace \((A,+,\circ)\) is said to be a bi-skew brace if \((A,\circ,+)\) is a skew brace

gap> Number([1..NrSmallSkewbraces(8)], k->IsBiSkewbrace(SmallSkewbrace(8,k)));
39

1.1-18 IsOfNilpotentType
‣ IsOfNilpotentType( obj )( property )

Returns: true if the skew brace is of nilpotent type, false otherwise

Let \(\mathcal{X}\) be a property of groups. A skew brace \(A\) is said to be of \(\mathcal{X}\)-type if its additive group belongs to \(\mathcal{X}\). In particular, skew braces of nilpotent type are those skew braces with nilpotent additive group.

1.1-19 IsTrivialSkewbrace
‣ IsTrivialSkewbrace( obj )( property )

Returns: true if the skew brace is trivial, false otherwise

The function returns true if the skew brace \(A\) is trivial, i.e., \(a\circ b=a+b\) for all \(a,b\in A\). WARNING: The property IsTrivial applied to a skew brace will return true if and only if the skew brace has only one element.

gap> br := SmallSkewbrace(9,1);;
gap> IsTrivialSkewbrace(br);
true
gap> IsTrivial(br);
false

1.1-20 Skewbrace2YB
‣ Skewbrace2YB( obj )( attribute )

Returns: the set-theoretic solution associated with the skew brace obj

If \(A\) is a skew brace, the map \(r_A\colon A\times A\to A\times A\)

\[r_A(a,b)=(\lambda_a(b),\lambda_a(b)'\circ a\circ b)\]

is a non-degenerate set-theoretic solution of the Yang--Baxter equation. Furthermore, \(r_A\) is involutive if and only if \(A\) is of abelian type (i.e., the additive group of \(A\) is abelian).

gap> Skewbrace2YB(TrivialBrace(CyclicGroup(6)));
<A set-theoretical solution of size 6>

1.1-21 Brace2YB
‣ Brace2YB( arg )( attribute )

1.1-22 SkewbraceSubset2YB
‣ SkewbraceSubset2YB( obj )( operation )

Returns: the set-theoretic solution associated with a given subset of a skew brace

gap> br := TrivialSkewbrace(SymmetricGroup(3));;
gap> AsList(br);
[ <()>, <(2,3)>, <(1,2)>, <(1,2,3)>, <(1,3,2)>, <(1,3)> ]
gap> SkewbraceSubset2YB(br, last{[4,5]});
<A set-theoretical solution of size 2>

1.1-23 SemidirectProduct
‣ SemidirectProduct( A, B, s )( operation )

Returns: the semidirect product of skew braces

Let \(A\) and \(B\) be two skew braces and \(\sigma\) be a skew brace action of \(B\) on \(A\), this is a group homomorphism \(\sigma\colon (B,\circ)\to Aut_{\mathrm{Br}}(A)\) from the multiplicative group of \(B\) to the skew brace automorphism of \(A\). The semidirect product of \(A\) and \(B\) with with respect to \(\sigma\) is the skew brace \(A\rtimes_{\sigma}B\) with operations

\[ (a_1,b_1)+(a_2,b_2)=(a_1+a_2,b_1+b_2), \quad (a_1,b_1)\circ (b_2,b_2)=(a_1\circ\sigma(b_1)(a_2),b_1\circ b_2) \]

gap> A := SmallSkewbrace(4,2);;
gap> B := SmallSkewbrace(3,1);;
gap> s := SkewbraceActions(B,A);;
gap> Size(s);
1
gap> IdSkewbrace(SemidirectProduct(A,B,s[1]));
[ 12, 11 ]
gap> IdSkewbrace(DirectProduct(A,B));
[ 12, 11 ]

1.1-24 UnderlyingAdditiveGroup
‣ UnderlyingAdditiveGroup( A )( attribute )

Returns: the underlying multiplicative group of the skew brace

gap> br := SmallBrace(4,2);;
gap> G:=UnderlyingMultiplicativeGroup(br);;
gap> StructureDescription(G);
"C2 x C2"

1.1-25 UnderlyingMultiplicativeGroup
‣ UnderlyingMultiplicativeGroup( A )( attribute )

Returns: the underlying additive group of the skew brace

gap> br := SmallSkewbrace(6,2);;
gap> G:=UnderlyingAdditiveGroup(br);;
gap> IsAbelian(G);
false
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 Bib Ind

generated by GAPDoc2HTML