This package allows GAP users to create visualizations of groups using Group Explorer 3.0.
This project is approaching a first release. More testing remains to be done before that release is declared, but the package is already functional.
Assuming you've cloned this repo into your GAP packages folder, load the package the usual way:
LoadPackage( "groupexplorer" );
Visualize a group of order 16 using a Cayley graph.
ExploreCayleyGraph( SmallGroup( 16, 3 ) );
Visualize the group of order 5 using a multiplication table, specifying the names of the elements.
ExploreMultiplicationTable( Group( [ (1,2,3,4,5) ] ), rec(
representations := [
[ "e", "a", "aa", "aaa", "aaaa" ]
]
) );
Visualize a homomorphism between two groups, highlighting the domain and its image in the codomain.
G := Group( [ (1,2,3), (3,4) ] );
H := Subgroup( G, [ (1,2,3) ] );
embed := GroupHomomorphismByFunction( H, G, a -> a );
ExploreGroupHomomorphism( embed, rec( subset := H ) );
Visualize a symmetric group using a cycle graph and its standard permutation notation as its representation. In this example, we give the group a name, which is used in the page heading. We can use MathML formatting, but doing so is optional; plain text is also accepted.
ExploreCycleGraph( Group( [ (1,2,3,4), (1,2) ] ), rec(
representations := PrintString,
name := "<msub><mi>S</mi><mn>4</mn></msub>"
) );