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

5 Reconstructing G from the skeletal category of finite right G-sets
 5.1 Reconstruction Tools
 5.2 Examples

5 Reconstructing G from the skeletal category of finite right G-sets

5.1 Reconstruction Tools

5.1-1 EndAsEqualizer
‣ EndAsEqualizer( C, HomC, ForgetfulFunctor, IndexSet )( function )

5.1-2 EndByLifts
‣ EndByLifts( C, HomC, ForgetfulFunctor, Objects )( function )

5.1-3 ReconstructTableOfMarks
‣ ReconstructTableOfMarks( C, MinimalGeneratingSet, Decompose )( function )

5.1-4 HomSkeletalFinRightGSets
‣ HomSkeletalFinRightGSets( S, T )( function )

Returns: a finite set (see FinSetsForCAP)

The finite set \(\mathrm{Hom}_{\mathrm{SkeletalFinGSets}}( S, T )\).

5.1-5 ForgetfulFunctorSkeletalCategoryOfFiniteRightGSets
‣ ForgetfulFunctorSkeletalCategoryOfFiniteRightGSets( G )( attribute )

Returns: a functor SkeletalFinGSets \(\rightarrow\) SkeletalFinSets

The forgetful functor SkeletalFinGSets \(\rightarrow\) SkeletalFinSets.

5.1-6 ReconstructGroup
‣ ReconstructGroup( C, HomC, ForgetfulFunctor, GeneratingSet, EndImplementation )( function )

Returns: a group

The input is a CAP category C which is equivalent to the skeletal category of finite right \(G\)-sets for some group \(G\), a function HomC computing homs in C (e.g. HomSkeletalFinRightGSets), a generating set of C, and a function computing ends (e.g. EndAsEqualizer or EndByLifts). The output is a group isomorphic to \(G\).

5.2 Examples

5.2-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, FinRightGSet( 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(
>     SkeletalCategoryOfFiniteRightGSets( G ),
>     minimal_generating_set,
>     Decompose
> );;
gap> computed_ToM = ToM;
true
#@fi

5.2-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( SkeletalCategoryOfFiniteRightGSets( G_1 ) );
gap> DeactivateCachingOfCategory( SkeletalCategoryOfFiniteRightGSets( G_1 ) );
gap> DisableSanityChecks( SkeletalCategoryOfFiniteRightGSets( G_1 ) );
gap> CapCategorySwitchLogicOff( SkeletalCategoryOfFiniteRightGSets( G_2 ) );
gap> DeactivateCachingOfCategory( SkeletalCategoryOfFiniteRightGSets( G_2 ) );
gap> DisableSanityChecks( SkeletalCategoryOfFiniteRightGSets( 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, FinRightGSet( 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, FinRightGSet( G_2, M ) ); od;
gap> SetInfoLevel( InfoWarning, 0 );
#@if IsPackageMarkedForLoading( "FinSetsForCAP", ">= 2018.09.17" )
gap> computed_group := ReconstructGroup(
>     SkeletalCategoryOfFiniteRightGSets( G_1 ),
>     HomSkeletalFinRightGSets,
>     ForgetfulFunctorSkeletalCategoryOfFiniteRightGSets( G_1 ),
>     generating_set_1,
>     EndAsEqualizer
> );;
gap> IsFinite( computed_group );;
gap> IsomorphismGroups( computed_group, G_1 ) <> fail;
true
gap> computed_group := ReconstructGroup(
>     SkeletalCategoryOfFiniteRightGSets( G_1 ),
>     HomSkeletalFinRightGSets,
>     ForgetfulFunctorSkeletalCategoryOfFiniteRightGSets( G_1 ),
>     generating_set_1,
>     EndByLifts
> );;
gap> IsFinite( computed_group );;
gap> IsomorphismGroups( computed_group, G_1 ) <> fail;
true
gap> computed_group := ReconstructGroup(
>     SkeletalCategoryOfFiniteRightGSets( G_2 ),
>     HomSkeletalFinRightGSets,
>     ForgetfulFunctorSkeletalCategoryOfFiniteRightGSets( 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 Ind

generated by GAPDoc2HTML