student seminar in combinatorics: mathematical software ...€¦ · loreno heer student seminar in...

26
Student Seminar in Combinatorics: Mathematical Software Group Theory and Symmetries Loreno Heer Seminar of Prof. Komei Fukuda December 02, 2014

Upload: others

Post on 26-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Student Seminar in Combinatorics: MathematicalSoftwareGroup Theory and Symmetries

Loreno Heer

Seminar of Prof. Komei Fukuda

December 02, 2014

Page 2: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Contents1 Overview of the GAP System

GAP IntroductionGAP Implementation OverviewGAP Package System

Examples of GAP PackagesGAP Data Libraries OverviewGAP Programming Language

Syntax OverviewData StructuresMathematics

2 ExamplesRubik’s CubeFurther Examples

3 References

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 2 / 26

Page 3: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

GAP Introduction

GAP stands for Groups, Algorithms and ProgrammingDevelopment of GAP began at Lehrstuhl D für Mathematik,RWTH-Aachen, under the leadership of Joachim Neubüser in 1985.GAP is free software licensed under the GNU General Public LicenseToday development is international project. Developers: University ofSt. Andrews; RWTH Aachen; the Technische UniversitätBraunschweig; Colorado State UniversityGAP is included in SageGAP uses the GNU GMP library since version 4.5

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 3 / 26

Page 4: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

GAP Implementation Overview

The GAP system consists of the following parts:1 A kernel written in C which provides

An interpreter for the GAP programming languageAutomatic dynamic storage managementImplementation of time-critical functionsA ”read-evaluate-loop” user interface

2 A library of GAP functions written entirely in the GAP programminglanguage & user contributed packages extending this library

3 A library of group theoretical data:Contains for example the Small Groups Library: Groups of order up to2000 (except 1024) and some infinite series of groups characterised bythe prime number decomposition of their orders.

4 Documentation

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 4 / 26

Page 5: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

GAP Package System

GAP packagesSelf-contained extensions to the core system which contain GAP codeand their own documentation and may also contain data files orexternal programs to which the GAP code provides an interface.

Packages can be submitted for a peer-review process. A packagethat has successfully passed this process is called an acceptedpackage.All other packages are called deposited packages.

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 5 / 26

Page 6: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Examples of GAP Packages

GRAPE by L. H. Soicher: Graph Algorithms using Permutationgroups (accepted package).Browse by T. Breuer, F. Lübeck: Browsing applications andncurses interface (deposited package).Automata by M. Delgado, S. Linton, J. Morais: A package onautomata (accepted package).Singular by M. Costantini, W. de Graaf: The GAP interface toSingular (deposited package).PolymakeInterface by T. Baechler, S. Gutsche: A package toprovide algorithms for fans and cones of polymake to otherpackages (deposited package).Alnuth by B. Assmann, A. Distler, B. Eick: Algebraic numbertheory and an interface to PARI/GP (accepted package).

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 6 / 26

Page 7: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

There are many more packages available for GAP...

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26

Page 8: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

ACE 5.1 (22/01/2012) by G. Gamble, A. Hulpke, G. Havas, C. Ramsay Advanced Coset EnumeratorAlnuth 3.0.0 (26/10/2011) by B. Assmann, A. Distler, B. Eick Algebraic number theory and an interface to PARI/GPANUPQ 3.1.1 (19/11/2013) by G. Gamble, W. Nickel, E. O’Brien, M. Horn ANU p-QuotientAutomata 1.13 (19/11/2011) by M. Delgado, S. Linton, J. Morais A package on automataAutPGrp 1.6 (29/05/2012) by B. Eick, E. O’Brien Computing the Automorphism Group of a p-GroupCarat 2.1.4 (29/05/2012) by F. Gähler Interface to CARAT, a crystallographic groups packageCircle 1.5.2 (01/02/2013) by A. Konovalov, P. Soules Adjoint groups of finite ringscohomolo 1.6 (23/06/2008) by D. Holt Cohomology groups of finite groups on finite modulesCongruence 1.1.1 (28/10/2014) by A. Dooms, E. Jespers, A. Konovalov, H. Verrill Congruence subgroups of SL(2,Integers)CoReLG 1.02 (10/02/2014) by H. Dietrich, P. Faccin, W. A. de Graaf computation with real Lie groupsCrime 1.4 (01/6/2011) by M. Bishop A GAP Package to Calculate Group Cohomology and Massey ProductsCRISP 1.3.8 (18/02/2014) by B. Höfling Computing with Radicals, Injectors, Schunck classes and ProjectorsCryst 4.1.12 (10/10/2013) by B. Eick, F. Gähler, W. Nickel Computing with crystallographic groupsCubefree 1.13 (10/12/2012) by H. Dietrich Constructing the Groups of a Given Cubefree OrderDESIGN 1.6 (23/11/2011) by L. H. Soicher The Design Package for GAPEDIM 1.3.2 (12/06/2013) by F. Lübeck Elementary Divisors of Integer MatricesFactInt 1.5.3 (16/06/2011) by S. Kohl Advanced Methods for Factoring IntegersFGA 1.2.0 (20/11/2012) by C. Sievers Free Group AlgorithmsFORMAT 1.3 (05/26/2012) by B. Eick, C. R. Wright Computing with formations of finite solvable groups.Forms 1.2.2 (29/08/2011) by J. Bamberg, J. De Beule Sesquilinear and QuadraticFPLSA 1.1 (17/11/2003) by V. Gerdt, V. Kornyak Finitely Presented Lie AlgebrasGAPDoc 1.5.1 (23/02/2012) by F. Lübeck, M. Neunhöffer A Meta Package for GAP DocumentationGBNP 1.0.1 (12/05/2010) by A. Cohen, J. Knopper computing Gröbner bases of noncommutative polynomialsGRAPE 4.6.1 (17/05/2012) by L. H. Soicher GRaph Algorithms using PErmutation groupsGrpConst 2.3 (29/05/2012) by H. U. Besche, B. Eick Constructing the Groups of a Given OrderGUAVA 3.12 (21/05/2012) by R. Baart, T. Boothby, J. Cramwinckel, J. Fields, D. Joyner, R. Miller, E. Minkes, E. Roijackers, L. Ruscio, C. Tjhai a GAP package for computing with error-correcting codesHAP 1.10.15 (07/12/2013) by G. Ellis Homological Algebra Programminghecke 1.4 (02/07/2013) by D. Traytel Hecke - Specht 2.4 ported to GAP 4IRREDSOL 1.2.4 (18/02/2014) by B. Höfling A Library of irreducible solvable linear groups over finite fields and of finite primivite soluble groupsITC 1.4 (06/01/2004) by V. Felsch, L. Hippe, J. Neubüser Interactive Todd-Coxeterkbmag 1.5 (06/01/2009) by D. Holt Knuth-Bendix on Monoids and Automatic GroupsLAGUNA 3.7.0 (11/11/2014) by V. Bovdi, A. Konovalov, R. Rossmanith, C. Schneider Lie AlGebras and UNits of group Algebrasliealgdb 2.1 (28/03/2010) by S. Cicalo’, W. de Graaf, C. Schneider A database of Lie algebrasLieRing 2.2 (11/12/2013) by S. Cicalo’, W. A. de Graaf finitely presented Lie ringsLiePRing 1.6 (08/11/2013) by M. Vaughan-Lee, B. Eick Database and algorithms for Lie p-ringsMapClass 1.2 (24/04/2012) by A. James, K. Magaard, S. Shpectorov, H. Volklein A Package For Mapping Class Orbit ComputationModIsom 2.3.2 (04/07/2014) by B. Eick, A. Konovalov Computing automorphisms and checking isomorphisms for modular group algebras of finite p-groupsNilmat 1.2 (10/08/2007) by A. Detinko, B. Eick, D. Flannery Computing with nilpotent matrix groupsnq 2.5.1 (02/04/2014) by M. Horn, W. Nickel Nilpotent Quotients of Finitely Presented GroupsOpenMath 11.2.0 (16/11/2013) by M. Costantini, A. Konovalov, M. Nicosia, A. Solomon OpenMath functionality in GAPParGAP 1.4.0 (17/11/2013) by G. Cooperman, P. Smith, A. Konovalov Parallel GAPpermut 1.01 (15/04/2014) by A. Ballester-Bolinches, E. Cosme-Llópez, R. Esteban-Romero, R. Esteban-Romero A package to deal with permutability in finite groupsPolenta 1.3.2 (01/04/2014) by B. Assmann, M. Horn Polycyclic presentations for matrix groupsPolycyclic 2.11 (07/03/2013) by B. Eick, W. Nickel, M. Horn Computation with polycyclic groupsQuaGroup 1.8 (16/08/2013) by W. A. de Graaf a package for doing computations with quantum groupsRadiRoot 2.7 (09/04/2014) by A. Distler Roots of a Polynomial as RadicalsRCWA 3.7.0 (21/07/2014) by S. Kohl Residue-Class-Wise Affine GroupsRDS 1.6 (16/02/2012) by M. Roeder A package for searching relative difference setsRepsn 3.0.2 (25/08/2011) by V. Dabbaghian A GAP4 Package for constructing representations of finite groupsSCSCP 2.1.4 (17/11/2013) by A. Konovalov, S. Linton Symbolic Computation Software Composability Protocol in GAPsimpcomp 2.0.0 (12/12/2013) by F. Effenberger, J. Spreer A GAP toolbox for simplicial complexesSONATA 2.6 (07/11/2012) by E. Aichinger, F. Binder, J. Ecker, P. Mayr, C. Nöbauer System of nearrings and their applicationsSophus 1.23 (03/02/2006) by C. Schneider Computing in nilpotent Lie algebrasSymbCompCC 1.2 (19/11/2011) by D. Feichtenschlager Computing with parametrised presentations for p-groups of fixed coclasstoric 1.8 (03/05/2012) by D. Joyner toric varieties and some combinatorial geometry computationsUnitLib 3.2.0 (11/11/2014) by A. Konovalov, E. Yakimenko Library of normalized unit groups of modular group algebrasWedderga 4.7.1 (07/11/2014) by O. Broche Cristo, A. Herman, A. Konovalov, G. Olteanu, A. Olivieri, A. del Rio, I. Van Gelder Wedderburn Decomposition of Group AlgebrasXGAP 4.23 (30/04/2012) by F. Celler, M. Neunhoeffer a graphical user interface for GAP

And many more ...Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 8 / 26

Page 9: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

GAP Data Libraries

GAP Data LibrariesGAP contains several data libraries of group theoretical data.Examples of such libraries are:

SmallGroups by E. A. O’Brien, B. Eick, and H. U. Besche: SmallGroups Library. All groups of order up to 2000 (except 1024) andsome infinite series of groups characterised by the prime numberdecomposition of their orders.Basic Groups: Cyclic, abelian, dihedral, extraspecial, alternating,symmetric, Mathieu, Suzuki, and Ree groups.Classical Groups: Linear, unitary, symplectic, and orthogonalgroups.Perfect Groups by D. Holt, W. Plesken, and V. Felsch: Almost allperfect groups of order up to 106.

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 9 / 26

Page 10: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

The GAP Programming LangaugeThe GAP Programming Language is both the mainimplementation language (besides some time-critical functionalitywritten in C) as well as the user language of the GAP system. Theprogramming language used is an untyped imperative programminglanguage with functions as first class objects and some extra built-indata types such as permutations and finite field elements.ExampleAckermann := function(m,n)

if m = 0 thenreturn n+1;

elif m > 0 and n = 0 thenreturn Ackermann(m-1,1);

elif m > 0 and n > 0 thenreturn Ackermann(m-1,Ackermann(m,n-1));

elseError("invalid arguments");

fi;end;

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 10 / 26

Page 11: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

A GAP program can either be written in a separate file or commandsentered directly at the user interface offered by GAP.GAP Programming Language Syntax Overview

All commands must have a semicolon ”;” at the end. Adouble-semicolon ”;;” suppresses the output.Numbers and arithmetic operations work in a natural way:

5+34*7+4^3;

Variables in GAP are basically pointers to an object in memory.Variables within a function can be declared local. Assignments aredone using the ”:=” operator:

local x;x := 3.1415;

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 11 / 26

Page 12: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

GAP Programming Language Syntax Overview (cont.)

Functions in GAP may change the arguments. For examplea := [4,7,6,2,1];Sort(a);

will change the variable a to [ 1, 2, 4, 6, 7 ].In the GAP interface, help to any topic is accessible with the ”?”operator:

?Sort

Comments can be added in the source code with the ”#” sign:# This is a comment and is ignored by GAP

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 12 / 26

Page 13: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Data Structures

Lists in GAP are a collection of objects enclosed in square brackets:[4,7,6,2,1];

Lists can have holes in them:[4,7,6,,,,,2,1];

Sets and vectors are lists which satisfy specific properties.Permutations are another important type in GAP. They are writtenin cycle notation:

a := (1,2,3,4);b := (3,4);a * b;

will return (1,2,4).

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 13 / 26

Page 14: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

MathematicsGAP has functions to construct and work with many mathematicalstructures. Work can be done with

Groups and HomomorphismsVectors and MatricesElementary Number TheoryCombinatoricsAlgebrasMagmasRingsRewriting SystemsPresentationsModulesLie Algebras

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 14 / 26

Page 15: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Mathematics

Groups can be created using the function ”Group(..)”. Usingpermutations as generators:

G := Group((1,2,3),(2,3,4,5));IsPerfect(G);IsAbelian(G);Size(G);DerivedSubgroup(G);

Groups and other objects remember calculations that have beendone before. Therefore they are executed faster subsequently.

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 15 / 26

Page 16: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Contents1 Overview of the GAP System

GAP IntroductionGAP Implementation OverviewGAP Package System

Examples of GAP PackagesGAP Data Libraries OverviewGAP Programming Language

Syntax OverviewData StructuresMathematics

2 ExamplesRubik’s CubeFurther Examples

3 References

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 16 / 26

Page 17: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

ExampleAs a first example, we can try to compute the minimal number ofmoves necessary to solve the small 2× 2× 2-Rubik’s cube from anygiven position. The faces of the cube are shown belowCube Model

Writing down each face of the cube separately and noting whichsquares change upon rotating of the side, one can construct apermutation group using the obtained data.

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 17 / 26

Page 18: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

ExampleCube Model

Permutationsgen1 := (1,2,4,3)*(10,6,18,14)*(5,17,13,9);gen2 := (9,10,12,11)*(6,4,15,21)*(8,3,13,22);gen3 := (5,6,8,7)*(1,9,21,20)*(3,11,23,18);

11For simplification keep one edge of the cube fixed

Page 19: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

ExampleCreating the permutation group for the Rubik’s cube

G:= GroupWithGenerators([gen1,gen2,gen3]);

Calculate the growth function of the group

# This takes a long time to computegr := GrowthFunctionOfGroup(G);Size(gr) - 1;

Create Cayley-Graph

LoadPackage("grape");# This takes a very long time to computegraph := CayleyGraph(G);;Diameter(graph);

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 19 / 26

Page 20: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Example

Other calculations on the cubeSize(G); # Calculate the order of the group

F := FreeGroup("r", "t", "b");hom := GroupHomomorphismByImages(F, G,

GeneratorsOfGroup(F), GeneratorsOfGroup(G));

#Get a random permutation of the cuber := Random(G);PreImagesRepresentative(hom,r);

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 20 / 26

Page 21: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Contents1 Overview of the GAP System

GAP IntroductionGAP Implementation OverviewGAP Package System

Examples of GAP PackagesGAP Data Libraries OverviewGAP Programming Language

Syntax OverviewData StructuresMathematics

2 ExamplesRubik’s CubeFurther Examples

3 References

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 21 / 26

Page 22: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Study the implementation details

# displays the gap source code of the implementationPageSource(Factorial);PageSource(PageSource);

LoadPackage("browse");NCurses.Demo();BrowseGapData();

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 22 / 26

Page 23: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Checking if two groups are isomorphic andconstructing an isomorphism

#Dihedral group of order 4G := DihedralGroup(4);# Z2 × Z2

H := DirectProduct(CyclicGroup(2), CyclicGroup(2));

#check if the groups are isomorphicIsIsomorphicGroup(G,H);

#construct an isomorphismiso := IsomorphismGroups(G,H);

#construct an isomorphism into a permutation groupiso2 := IsomorphismPermGroup(G);#get the image of some element under the isomorphismImage(iso2, G.1*G.2);

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 23 / 26

Page 24: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Using the Group Libraries

#Print information about all groups of order 10SmallGroupsInformation(8);

# Get a simple group of order 60G:=OneGroup(60, IsSimple);#Get a list of all groups of order 60 that are perfectAllSmallGroups(60, IsPerfect);

# Elementary Abelian Group of Order 8# This is the Burnside group B(3,2)G:=ElementaryAbelianGroup(8);Exponent(G);List(Elements(G),Order);# Burnside group B(3,3)G := SmallGroup(2187,4487);List(Elements(G),Order);

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 24 / 26

Page 25: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

Contents1 Overview of the GAP System

GAP IntroductionGAP Implementation OverviewGAP Package System

Examples of GAP PackagesGAP Data Libraries OverviewGAP Programming Language

Syntax OverviewData StructuresMathematics

2 ExamplesRubik’s CubeFurther Examples

3 References

Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 25 / 26

Page 26: Student Seminar in Combinatorics: Mathematical Software ...€¦ · Loreno Heer Student Seminar in Combinatorics: Mathematical Software ETHZ December 02, 2014 7 / 26 ACE 5.1 (22/01/2012)

References

References

Official GAP website and documentation:http://www.gap-system.org/Rosetta Code: http://rosettacode.org/wiki/Rosetta_CodeGroupprops, The Group Properties Wiki:http://groupprops.subwiki.org/wiki/Main_PageATLAS of Finite Group Representations - Version 3:http://brauer.maths.qmul.ac.uk/Atlas/v3/The Diameter of the Rubik’s Cube Group Is Twenty2:http://dx.doi.org/10.1137/120867366

2Calculation took approximately 31 years of CPU time (donated by Google)