1. Introduction

Group theory is often considered an abstract topic and as a result is seldom used, or even taught, outside strictly theoretical contexts. Yet symmetries are universal and very concrete phenomenons, present in numerous fields.

By its constructive and interactive nature, RepLAB provides a simple way to modelize groups and representations. It makes it a good tool to learn these topics through exploration without limited prior knowledge.

The purpose of this book is to introduce the basic ingredients of RepLAB. Ultimately, this book will be usable as an introduction to group theory and representation theory.

1.1 Structure of the book

The book is structured in thematic chapters, which are accessible on the left menu. The first chapters describe groups from various perspectives. First, finite permutation groups are presented, followed by abstract groups. Then, finite and continuous matrix groups are introduced. Finally, the text turns to the fruitful topic of group representations.

1.2 Installing RepLAB

  • We assume RepLAB has been installed, see the installation instructions for more details.

  • The library is initialized by running the command replab_init in the main replab folder

run ../../external/replab/replab_init.m
Adding RepLAB to the path
Initializing dependency vpi
Initializing dependency YALMIP
Initializing dependency sdpt3
Adding embedded SDPT3 solver to the path
Initializing dependency MOxUnit
Initializing dependency cyclolab
replab_init: Initialization done.

1.3 Programming style

RepLAB follows an object-oriented architecture. This allows the creation of new group and representations by simple combination of existing objects.

1.4 Help system

RepLAB comes with an integrated help system, accessible through the command help. Information on any RepLAB object, class and function is accessible in this way:

help replab.S
--- help for replab.S ---

 function s = replab.S(domainreplab.Size):
   Returns the symmetric group acting on a certain domain size

   Alias for replab.PermutationGroup.symmetric

   Args:
     domainSize (integer): Domain size, must be >= 0

   Returns:
     replab.PermutationGroup: Symmetric group

This help is fully interactive, allowing for an easy exploration of RepLAB material.

See also the dedicated blog post for more details.