Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  skew.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#############################################################################
##
##  skew.tst               YangBaxter package               Leandro Vendramin
##
gap> START_TEST("skew.tst");
gap> List([2..10],NrSmallSkewbraces);
1141614746 ]

gap> br:=SmallSkewbrace(8,1);;
gap> Size(br);
8
gap> IdSkewbrace(br);
81 ]
gap> SkewbraceAList(br);
[ (), (1,2)(3,4)(5,6)(7,8), (1,3,2,4)(5,7,6,8), (1,4,2,3)(5,8,6,7), 
  (1,5,3,7,2,6,4,8), (1,6,3,8,2,5,4,7), (1,7,4,5,2,8,3,6), (1,8,4,6,2,7,3,5) ]
gap> SkewbraceMList(br);
[ (), (1,2)(3,4)(5,6)(7,8), (1,4,2,3)(5,8,6,7), (1,3,2,4)(5,7,6,8), 
  (1,7,3,6,2,8,4,5), (1,8,3,5,2,7,4,6), (1,5,4,8,2,6,3,7), (1,6,4,7,2,5,3,8) ]

# More testings
gap> br := SmallSkewbrace(8,25);;
gap> IdGroup(UnderlyingAdditiveGroup(br));
83 ]
gap> IdGroup(UnderlyingMultiplicativeGroup(br));
82 ]

# Check neutral elements
gap> br:=SmallSkewbrace(27,15);;
gap> for a in AsList(br) do
>      if a*One(br)<>a then
>        Print("zero fails\n");
>      fi;
>    od;
gap> for a in AsList(br) do
>      if a+Zero(br)<>a then
>        Print("one fails\n");
>      fi;
>    od;
gap> for a in AsList(br) do
>      if a*a^-1 <> One(br) or a-a <> Zero(br) then
>        Print("inverse fails\n");
>      fi;
>    od;

# Check the compatibility condition
gap> check_compatibility := function(obj)
> local a,b,c;
> for a in AsList(obj) do
>   for b in AsList(obj) do
>     for c in AsList(obj) do
>       if a*(b+c) <> (a*b)-a+(a*c) then
>         return false;
>       fi;
>     od;
>   od;
> od;
> return true;
> end;
function( obj ) ... end
gap> n := 8;
8
gap> for k in [1..NrSmallSkewbraces(n)] do
> br := SmallSkewbrace(n, k);
> if not check_compatibility(br) then 
>   Print("Compatibility fails for n=", n, " and k=", k, "\n");
> fi;
> od;

# Two-sided skew braces
gap> Number([1..NrSmallSkewbraces(8)], k->IsTwoSided(SmallSkewbrace(8,k)));
42
gap> NrSmallSkewbraces(8);
47

# Classical braces
gap> Number([1..NrSmallSkewbraces(8)], k->IsClassical(SmallSkewbrace(8,k)));
27
gap> NrSmallBraces(8);
27
gap> Number([1..NrSmallBraces(8)], k->IsClassical(SmallBrace(8,k)));
27

# Test Lambda
gap> br := SmallSkewbrace(16,40);;
gap> for a in AsList(br) do
> for b in AsList(br) do
> if a+Lambda(a,b) <> a*b then
> Print("This is wrong!\n");
> fi;
> od;
> od;

# Test the bijective 1-cocycle and its inverse
gap> f := Bijective1Cocycle(br);;
gap> for a in AsList(br) do
> for b in AsList(br) do
> if a*b <> Image(f, PreImageElm(f, a)*PreImageElm(f, b)) then
> Print("This is wrong!\n");
> fi;
> od;
> od;

# Test Lambda and its inverse
gap> br := SmallSkewbrace(8,25);;
gap> for a in br do
> for b in br do
> if Lambda(a,InverseLambda(a,b)) <> b then
> Print("This is wrong!\n");
> fi;
> od;
> od;
gap> for a in br do
> for b in br do
> if InverseLambda(a, Lambda(a,b)) <> b then
> Print("This is wrong!\n");
> fi;
> od;
> od;

# Test PrintObj and ViewObj for (skew)braces
gap> br := SmallSkewbrace(8,15);
<brace of size 8>
gap> Display(br);
SmallSkewbrace(8,15)
gap> br := SmallBrace(8,25);
<brace of size 8>
gap> Display(br);
SmallBrace(8,25)

# Test IsClassical
gap> obj1 := SmallBrace(8,10);
<brace of size 8>
gap> Display(obj1);
SmallBrace(8,10)
gap> obj2 := SmallSkewbrace(8,2);
<brace of size 8>
gap> Display(obj2);
SmallSkewbrace(8,2)
gap> obj3 := SmallSkewbrace(10,4);
<skew brace of size 10>
gap> Display(obj3);
SmallSkewbrace(10,4)
gap> List([obj1,obj2,obj3], x->IsAbelian(UnderlyingAdditiveGroup(x)));
[ true, true, false ]


# Test the solution of the YBE associated with a (skew)brace
gap> Number([1..NrSmallSkewbraces(8)], k->IsInvolutive(Skewbrace2YB(SmallSkewbrace(8,k))));
27
gap> Number([1..NrSmallBraces(8)], k->IsInvolutive(Skewbrace2YB(SmallBrace(8,k))));
27

# Test how to convert classical braces to cycle sets
gap> br := SmallBrace(8,10);;
gap> Brace2CycleSet(br);
<A cycle set of size 8>
gap> Matrix(Brace2CycleSet(br)) =
> [ [ 12345678 ],
>   [ 12345678 ],
>   [ 12345678 ],
>   [ 12345678 ],
>   [ 12347856 ],
>   [ 12347856 ],
>   [ 12347856 ],
>   [ 12347856 ] ];
true
gap> Permutations(Brace2CycleSet(br));
[ (), (), (), (), (5,7)(6,8), (5,7)(6,8), (5,7)(6,8), (5,7)(6,8) ]
gap> br := SmallSkewbrace(10,4);
<skew brace of size 10>
gap> Brace2CycleSet(br);
Error, this is not a classical brace

# Test the map lambda written as a permutation
gap> br := SmallSkewbrace(8,28);
<skew brace of size 8>
gap> gens := List(br, x->Lambda2Permutation(x));
[ (), (), (), (), (3,4)(7,8), (3,4)(7,8), (3,4)(7,8), (3,4)(7,8) ]
gap> Orbits(Group(gens));
[ [ 34 ], [ 78 ] ]

# Test isomorphisms and ids
gap> br := SmallSkewbrace(16,500);;
gap> IdSkewbrace(br);
16500 ]
gap> IdBrace(br);
16119 ]
gap> fail <> IsomorphismSkewbraces(br,br);
true
gap> for n in [2..7] do
> for k in [1..NrSmallSkewbraces(n)] do
> br := SmallSkewbrace(n,k);
> if IdSkewbrace(br) <> [n,k] then
> Print("This is wrong!\n");
> fi;
> od;
> od;

# Test for IdBrace 
gap> n := 12;;
gap> l := [];;
gap> for k in [1..NrSmallSkewbraces(n)] do
> br := SmallSkewbrace(n,k);
> if IsClassical(br) then
> Add(l, IdBrace(br));
> fi;
> od;
gap> l;
[ [ 121 ], [ 122 ], [ 123 ], [ 124 ], [ 125 ], [ 126 ], [ 127 ], [ 128 ], [ 129 ], [ 1210 ] ]

# Test labels for solutions
gap> br := SmallSkewbrace(16,200);;
gap> yb := Skewbrace2YB(br);;
gap> perms := Permutations(yb);;
gap> l := AsList(br);;
gap> for i in [1..Size(br)] do
> a := l[i];
> for j in [1..Size(br)] do
> b := l[j];
> if Position(l, Lambda(a,b)) <> j^perms[1][i] or Position(l, Lambda(a,b)^(-1)*a*b) <> i^perms[2][j] then
> Print("This is wrong!\n");
> fi;
> od;
> od;

# Test number of braces
gap> l := [];;
gap> for n in [1..100] do
> if n in [32,64,81,96] then
> Add(l, -1);
> else
> Add(l, NrSmallBraces(n));
> fi;
> od;
gap> l;
1114121274211012135718111221
  9642379141, -112146122106161942
  1170848111180291221281211, -114111
  14148912591611985, -1213412190116
  19221, -118451 ]

# Test braces of size p and p^2
gap> IsBraceImplemented(19^2);
true
gap> IsSkewbraceImplemented(23^2);
true
gap> List([1..4], k->IdBrace(SmallBrace(9,k)));
[ [ 91 ], [ 92 ], [ 93 ], [ 94 ] ]
gap> List([1..4], k->IdSkewbrace(SmallBrace(9,k)));
[ [ 91 ], [ 92 ], [ 93 ], [ 94 ] ]
gap> List([1..4], k->IdSkewbrace(SmallSkewbrace(9,k)));
[ [ 91 ], [ 92 ], [ 93 ], [ 94 ] ]
gap> NrSmallBraces(23^2);
4
gap> NrSmallBraces(23);
1
gap> NrSmallSkewbraces(23);
1
gap> NrSmallSkewbraces(29^2);
4

# Test direct product of skew braces
gap> br1 := SmallSkewbrace(1,1);;
gap> br2 := SmallSkewbrace(12,22);;
gap> br3 := SmallSkewbrace(4,3);;
gap> IS_BRACE(DirectProductSkewbraces(br1,br2));
true
gap> IS_BRACE(DirectProductSkewbraces(br2,br3));
true
gap> IdSkewbrace(DirectProduct(br1,br2));
1222 ]
gap> IdSkewbrace(DirectProduct(br2,br1));
1222 ]
gap> IdBrace(DirectProduct(SmallBrace(8,12),SmallBrace(3,1)));
2427 ]
gap> IdBrace(DirectProduct(SmallBrace(3,1),SmallBrace(8,12)));
2427 ]
gap> IdBrace(DirectProduct(SmallBrace(3,1),SmallBrace(4,2),SmallBrace(3,1)));
3618 ]
gap> IdBrace(DirectProduct(SmallBrace(4,2),SmallBrace(3,1),SmallBrace(3,1)));
3618 ]
gap> IdBrace(DirectProduct(SmallBrace(3,1),SmallBrace(3,1),SmallBrace(4,2)));
3618 ]

# Test automorphism groups
gap> br := SmallSkewbrace(8,20);;
gap> AutomorphismGroup(br);
<group with 8 generators>
gap> StructureDescription(last);
"D8"

# Test for ImageElm
gap> br := SmallSkewbrace(8,25);;
gap> aut := AutomorphismGroup(br);;
gap> f := Random(aut);;
gap> x := Random(br);;
gap> ImageElm(f, x) in br;
true

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

# Test for SemidirectProduct
gap> A := SmallSkewbrace(12,22);;
gap> B := SmallSkewbrace(4,2);;
gap> s := SkewbraceActions(B,A);;
gap> List(s, f->IS_BRACE(SemidirectProduct(A,B,f)));
[ true, true, true, true ]

gap> STOP_TEST( "skew.tst", 1 );
#############################################################################
##
#E


[Dauer der Verarbeitung: 0.29 Sekunden, vorverarbeitet 2026-06-17]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik