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

7 Reconstructing G from the skeletal category of finite G-sets
 7.1 Examples

7 Reconstructing G from the skeletal category of finite G-sets

7.1 Examples

7.1-1 Reconstructing the Table of Marks
gap> G := CyclicGroup( 210 );;
gap> ToM := MatTom( TableOfMarks( G ) );
[ [ 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 70, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 42, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 35, 35, 35, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 30, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 21, 21, 0, 21, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 15, 15, 0, 0, 0, 15, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 14, 0, 14, 14, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 10, 0, 10, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0 ], 
  [ 7, 7, 7, 7, 7, 0, 7, 0, 7, 0, 7, 0, 0, 0, 0, 0 ], 
  [ 6, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0 ], 
  [ 5, 5, 5, 0, 5, 5, 0, 5, 0, 5, 0, 0, 5, 0, 0, 0 ], 
  [ 3, 3, 0, 3, 0, 3, 3, 3, 0, 0, 0, 3, 0, 3, 0, 0 ], 
  [ 2, 0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2, 0 ], 
  [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ]
gap> k := Size( ToM );
16
gap> minimal_generating_set := [ ];;
gap> for i in [ 1 .. k ] do
>     M := ListWithIdenticalEntries( k, 0 )
>     ; M[ i ] := 1; Add( minimal_generating_set, FinGSet( G, M ) ); od;
gap> Decompose := function( Omega, minimal_generating_set )
>     return List( [ 1 .. k ], i ->
>         AsList( Omega )[Position( AsList( minimal_generating_set[i] ), 1 )]
>     ); end;;
#@if IsPackageMarkedForLoading( "FinSetsForCAP", ">= 2018.09.17" )
gap> computed_ToM := ReconstructTableOfMarks(
>     SkeletalFinGSets( G ),
>     minimal_generating_set,
>     Decompose
> );;
gap> computed_ToM = ToM;
true
#@fi

7.1-2 Reconstructing the Group
gap> G_1 := CyclicGroup( 5 );;
gap> G_2 := SmallGroup( 20, 5 );;
#@if IsPackageMarkedForLoading( "FinSetsForCAP", ">= 2018.09.17" )
gap> CapCategorySwitchLogicOff( FinSets );
gap> DeactivateCachingOfCategory( FinSets );
gap> DisableSanityChecks( FinSets );
gap> DeactivateCachingOfCategory( SkeletalFinSets );
gap> CapCategorySwitchLogicOff( SkeletalFinSets );
gap> DisableSanityChecks( SkeletalFinSets );
#@fi
gap> CapCategorySwitchLogicOff( SkeletalFinGSets( G_1 ) );
gap> DeactivateCachingOfCategory( SkeletalFinGSets( G_1 ) );
gap> DisableSanityChecks( SkeletalFinGSets( G_1 ) );
gap> CapCategorySwitchLogicOff( SkeletalFinGSets( G_2 ) );
gap> DeactivateCachingOfCategory( SkeletalFinGSets( G_2 ) );
gap> DisableSanityChecks( SkeletalFinGSets( G_2 ) );
gap> DeactivateToDoList();
gap> ToM_1 := MatTom( TableOfMarks( G_1 ) );
[ [ 5, 0 ], [ 1, 1 ] ]
gap> k_1 := Size( ToM_1 );
2
gap> generating_set_1 := [ ];;
gap> for i in [ 1 .. k_1 ] do
>     M := ListWithIdenticalEntries( k_1, 0 )
>     ; M[i] := 1; Add( generating_set_1, FinGSet( G_1, M ) ); od;
gap> ToM_2 := MatTom( TableOfMarks( G_2 ) );
[ [ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 10, 10, 0, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 10, 0, 10, 0, 0, 0, 0, 0, 0, 0 ], 
  [ 10, 0, 0, 10, 0, 0, 0, 0, 0, 0 ], 
  [ 5, 5, 5, 5, 5, 0, 0, 0, 0, 0 ], 
  [ 4, 0, 0, 0, 0, 4, 0, 0, 0, 0 ], 
  [ 2, 2, 0, 0, 0, 2, 2, 0, 0, 0 ], 
  [ 2, 0, 2, 0, 0, 2, 0, 2, 0, 0 ], 
  [ 2, 0, 0, 2, 0, 2, 0, 0, 2, 0 ], 
  [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ]
gap> k_2 := Size( ToM_2 );
10
gap> generating_set_2 := [ ];;
gap> for i in [ 1 .. k_2 ] do
>     M := ListWithIdenticalEntries( k_2, 0 )
>     ; M[i] := 1; Add( generating_set_2, FinGSet( G_2, M ) ); od;
gap> SetInfoLevel( InfoWarning, 0 );
#@if IsPackageMarkedForLoading( "FinSetsForCAP", ">= 2018.09.17" )
gap> computed_group := ReconstructGroup(
>     SkeletalFinGSets( G_1 ),
>     HomSkeletalFinGSets,
>     ForgetfulFunctorSkeletalFinGSets( G_1 ),
>     generating_set_1,
>     EndAsEqualizer
> );;
gap> IsFinite( computed_group );;
gap> IsomorphismGroups( computed_group, G_1 ) <> fail;
true
gap> computed_group := ReconstructGroup(
>     SkeletalFinGSets( G_1 ),
>     HomSkeletalFinGSets,
>     ForgetfulFunctorSkeletalFinGSets( G_1 ),
>     generating_set_1,
>     EndByLifts
> );;
gap> IsFinite( computed_group );;
gap> IsomorphismGroups( computed_group, G_1 ) <> fail;
true
gap> computed_group := ReconstructGroup(
>     SkeletalFinGSets( G_2 ),
>     HomSkeletalFinGSets,
>     ForgetfulFunctorSkeletalFinGSets( G_2 ),
>     generating_set_2,
>     EndByLifts
> );;
gap> IsFinite( computed_group );;
gap> IsomorphismGroups( computed_group, G_2 ) <> fail;
true
#@fi
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 Ind

generated by GAPDoc2HTML