4th of february, 2014 - university of york

24
Computing a finite semigroup J. D. Mitchell School of Mathematics and Statistics, University of St Andrews 4th of February, 2014 J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 1 / 24

Upload: others

Post on 01-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Computing a finite semigroup

J. D. Mitchell

School of Mathematics and Statistics, University of St Andrews

4th of February, 2014

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 1 / 24

Some questions?

Aim: to present some algorithms to compute finite semigroups.

We must address the following questions:

• how is the semigroup given?

• what are we trying to compute?

• what is the complexity of the algorithms?

Some things the talk is not about:

• programming issues;

• data structures;

• implementations;

• user interfaces.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 2 / 24

GAPA prelude to some answers

GAP is a free, open system for computational discretemathematics, in particular group theory.

free GAP is can be downloaded from www.gap-system.org

free GAP (as of version 4.3) is released under the GPL.

open the source code is completely available.

open mechanism for third-party contributions, and distribution.

GAP runs on (almost) every platform.

Estimated to have thousands of users world-wide.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 3 / 24

Why compute?

• perform low-level calculations such asmultiplication, inversion, and soon;

• suggests new theoretical results;

• obtain counter-examples;

• gain more detailed understandingof the objects under consideration;

• perform more intricate calculationsthan possible by hand.

Even computing small examples by hand can exceed human patience.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 4 / 24

Insert semigroup into computer...How is a semigroup given?

There are 3 main ways to define a semigroup to a computer:

Cayley table: ...;

Finite presentation: words in generators and relations i.e.

〈e, f | e2 = e, efe = fe, f2e = fe, f3 = f, fef2 = fe〉.

Generators: as a subsemigroup of a larger semigroup such astransformations, matrices, binary relations, partitions,and so on ...

In this talk, we will deal (almost) exclusively with the latter.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 5 / 24

Enumeration of semigroups

n number of semigroups0 11 12 43 184 126 (Forsythe ’54)5 1160 (Motzkin-Selfridge ’56)6 15 973 (Plemmons ’66)7 836 021 (Jurgensen-Wick ’76)8 1 843 120 128 (Satoh-Yama-Tokizawa ’94)9 52 989 400 714 478 (Distler-Kelsey ’11)10 12 418 001 077 381 302 684 (Distler-Kelsey ’13)11 ?? (Everyone ’13)

The semigroups of orders 1 to 8 are available in the GAP packageSmallsemi available at tinyurl.com/smallsemi.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 6 / 24

The semigroups of order 2, 3 and 4a b

a a ab a a

a b

a a bb b a

a b

a a ab a b

a b

a a ab b b

a b c

a a a ab a a ac a a a

a b c

a a a cb a a cc c c a

a b c

a a b bb b a ac b a a

a b c

a a a ab a a ac a a b

a b c

a a a ab a a ac a a c

a b c

a a a ab a a ac a b c

a b c

a a a ab a a ac c c c

a b c

a a a ab a a bc a b c

a b c

a a a cb a a cc c c c

a b c

a a b ab b a bc a b c

a b c

a a b cb b a cc c c c

a b c

a a a ab a b ac a a c

a b c

a a a ab a b ac c c c

a b c

a a a ab a b bc a b c

a b c

a a a ab a b bc a c c

a b c

a a a ab a b cc c c c

a b c

a a a ab b b bc c c c

a b c

a a b cb b c ac c a b

a b c d

a a a a ab a a a ac a a a ad a a a a

a b c d

a a a a ab a a a ac a a a ad a a b a

a b c d

a a a a ab a a a ac a a a bd a a b a

a b c d

a a a a db a a a dc a a a dd d d d a

a b c d

a a a c cb a a c cc c c a ad c c a a

a b c d

a a b b bb b a a ac b a a ad b a a a

a b c d

a a b c db b a d cc c d a bd d c b a

a b c d

a a a a ab a a a ac a a a ad a a a b

a b c d

a a a a ab a a a ac a a a ad a a b b

a b c d

a a a a ab a a a ac a a a bd a a b b

a b c d

a a a aa a a ca a a aa c a b

a b c d

a a a c ab a a c ac c c a cd a a c b

a b c d

a a a c cb a a c cc c c a ad c c a b

a b c d

a a a a ab a a a ac a a a ad a a a d

a b c d

a a a a ab a a a ac a a a ad a a c d

a b c d

a a a a ab a a a ac a a a ad a b b d

a b c d

a a a a ab a a a ac a a a ad a b c d

a b c d

a a a a ab a a a ac a a a ad d d d d

a b c d

a a a a ab a a a ac a a a cd a a c d

a b c d

a a a a ab a a a ac a a a cd a b a d

a b c d

a a a a ab a a a ac a a a cd a b c d

a b c d

a a a a ab a a a bc a a a bd a b b d

a b c d

a a a a ab a a a bc a a a bd a b c d

a b c d

a a a a ab a a a bc a a a cd a b c d

a b c d

a a a a db a a a dc a a a dd d d d d

a b c d

a a a c ab a a c ac c c a cd a a c d

a b c d

a a a c ab a a c ac c c a cd a b c d

a b c d

a a a c ab a a c bc c c a cd a b c d

a b c d

a a a c db a a c dc c c a dd d d d d

a b c d

a a b b ab b a a bc b a a bd a b b d

a b c d

a a b b ab b a a bc b a a bd a b c d

a b c d

a a b b ab b a a bc b a a cd a b c d

a b c d

a a b b db b a a dc b a a dd d d d d

a b c d

a a a a ab a a a ac a a b ad a a a b

a b c d

a a a a ab a a a ac a a b ad a a b b

a b c d

a a a a ab a a a ac a a b bd a a b b

a b c d

a a b c db b a d cc c d b ad d c a b

a b c d

a a a a ab a a a ac a a b ad a a a d

a b c d

a a a a ab a a a ac a a b ad d d d d

a b c d

a a a a ab a a a bc a a b cd a b c d

a b c d

a a a a db a a a dc a a b dd d d d d

a b c d

a a a a ab a a a ac a a c cd a a c c

a b c d

a a a a ab a a a ac a a c dd a a d c

a b c d

a a a a ab a a a ac a b c cd a b c c

a b c d

a a a a ab a a a ac a b c dd a b d c

a b c d

a a a a ab a a a ac c c c cd c c c c

a b c d

a a a a ab a a b bc a b c cd a b c c

a b c d

a a a a ab a a b bc a b c dd a b d c

a b c d

a a a c db a a c dc c c c dd d d d c

a b c d

a a b a ab b a b bc a b c dd a b d c

a b c d

a a b a bb b a b ac a b c dd b a d c

a b c d

a a b a bb b a b ac c d c dd d c d c

a b c d

a a a a ab a a a ac a a c ad a a a d

a b c d

a a a a ab a a a ac a a c ad a b a d

a b c d

a a a a ab a a a ac a a c ad d d d d

a b c d

a a a a ab a a a ac a a c cd a a c d

a b c d

a a a a ab a a a ac a a c cd a a d d

a b c d

a a a a ab a a a ac a a c cd a b c d

a b c d

a a a a ab a a a ac a a c dd d d d d

a b c d

a a a a ab a a a ac a b c ad d d d d

a b c d

a a a a ab a a a ac a b c cd a b c d

a b c d

a a a a ab a a a ac a b c cd a b d d

a b c d

a a a a ab a a a ac a b c dd a b c d

a b c d

a a a a ab a a a ac a b c dd d d d d

a b c d

a a a a ab a a a ac c c c cd c c c d

a b c d

a a a a ab a a a ac c c c cd d d d d

a b c d

a a a a ab a a a bc a a c ad a b a d

a b c d

a a a a ab a a a bc a a c cd a b c d

a b c d

a a a a ab a a a bc a b c ad a a a d

a b c d

a a a a ab a a a bc a b c bd a a a d

a b c d

a a a a ab a a a bc a b c cd a b c d

a b c d

a a a a ab a a a bc c c c cd a a a d

a b c d

a a a a ab a a a bc c c c cd a a c d

a b c d

a a a a ab a a a bc c c c cd a b a d

a b c d

a a a a ab a a a bc c c c cd a b c d

a b c d

a a a a ab a a a bc c c c cd c c c d

a b c d

a a a a ab a a a cc c c c cd d d d d

a b c d

a a a a ab a a b bc a b c cd a b c d

a b c d

a a a a ab a a b bc a b c cd a b d d

a b c d

a a a a db a a a dc a a c dd d d d d

a b c d

a a a a db a a a dc a b c dd d d d d

a b c d

a a a a db a a a dc c c c dd d d d d

a b c d

a a a a db a a b dc a b c dd d d d d

a b c d

a a a c cb a a c cc c c c cd c c c d

a b c d

a a a c cb a a c cc c c c cd d d d d

a b c d

a a a c db a a c dc c c c cd d d c d

a b c d

a a a c db a a c dc c c c cd d d d d

a b c d

a a b a ab b a b bc a b c ad a b a d

a b c d

a a b a ab b a b bc a b c cd a b c d

a b c d

a a b a ab b a b bc a b c cd a b d d

a b c d

a a b a db b a b dc a b c dd d d d d

a b c d

a a b c cb b a c cc c c c cd c c c d

a b c d

a a b c cb b a c cc c c c cd d d d d

a b c d

a a b c db b a c dc c c c cd d d c d

a b c d

a a b c db b a c dc c c c cd d d d d

a b c d

a a b c db b a c dc c d c dd d c c d

a b c d

a a a c db a a c dc c c d ad d d a c

a b c d

a a a a ab a b a ac a a c ad a a a d

a b c d

a a a a ab a b a ac a a c ad d d d d

a b c d

a a a a ab a b a ac a a c cd a a c d

a b c d

a a a a ab a b a ac a a c cd a a d d

a b c d

a a a a ab a b a ac a a c dd d d d d

a b c d

a a a a ab a b a ac c c c cd c c c d

a b c d

a a a a ab a b a ac c c c cd d d d d

a b c d

a a a a ab a b a bc a a c cd a b c d

a b c d

a a a a ab a b a bc c c c cd a b a d

a b c d

a a a a ab a b a bc c c c cd a b c d

a b c d

a a a a ab a b a bc c c c cd a d a d

a b c d

a a a a ab a b a bc c c c cd c d c d

a b c d

a a a a ab a b a dc c c c cd a b a d

a b c d

a a a a ab a b a dc c c c cd d d d d

a b c d

a a a a ab a b b bc a b c bd a b b d

a b c d

a a a a ab a b b bc a b c bd a d d d

a b c d

a a a a ab a b b bc a b c cd a b c d

a b c d

a a a a ab a b b bc a b c cd a b d d

a b c d

a a a a ab a b b bc a b c dd a d d d

a b c d

a a a a ab a b b bc a c c cd a d d d

a b c d

a a a a ab a b b dc a b c dd d d d d

a b c d

a a a a ab a b b dc a c c dd d d d d

a b c d

a a a a ab a b c dc a b c dd d d d d

a b c d

a a a a ab a b c dc c c c cd d d d d

a b c d

a a a a ab b b b bc c c c cd d d d d

a b c d

a a a c cb b b d dc a a c cd b b d d

a b c d

a a a a ab a b c dc a c d bd a d b c

a b c d

a a a c db a b c dc c c d ad d d a c

a b c d

a a b c cb b c a ac c a b bd c a b b

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 7 / 24

Fundamental tasksWhat are we trying to compute anyway?

INPUT: a list of x1, . . . , xm (in the universe) generating a semigroupU .

OUTPUT/TEST:

• the size of U ;

• membership in U ;

• factorise elements over the generators;

• the number of idempotents (x2 = x);

• the maximal subgroups;

• the ideal structural of U (i.e. Green’s relations);

• is U a group? an inverse semigroup? a regular semigroup?

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 8 / 24

The universeTransformations, partial perms, matrices, partitions...

The full transformation monoid is just the monoid of alltransformations under composition of functions.

A symmetric inverse monoid is just the monoid of all partialpermutations under composition of functions.

A general linear monoid of n× n matrices over a finite field.

A partition monoid is the monoid of partitions...

A Rees 0-matrix semigroup ...

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 9 / 24

Excluded middle

Exhaustive: store the elements

• be happy with relatively small semigroups

• SgpWin by Don McAlister (2006?)

• Semigroupe by Jean-Eric Pin (2009)

Non-exhaustive: don’t store the elements

• Lallement-McFadden (1990)

• Monoid package for GAP3 byLinton-Pfeiffer-Robertson-Ruskuc (1997)

• Semigroups package for GAP4 by me (2013)

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 10 / 24

The limitations of exhaustive enumeration

n # transformations memory unit

1 1 16 bits2 4 16 bytes3 27 162 bytes4 256 2 kb5 3 125 ∼ 30 kb6 46 656 ∼ 546 kb7 823 543 ∼ 10 mb8 16 777 216 ∼ 256 mb9 387 420 489 ∼ 6 gb10 10 000 000 000 ∼ 186 gb11 285 311 670 611 ∼ 6 tb12 8 916 100 448 256 ∼ 194 tb13 302 875 106 592 253 ∼ 7 pb

Storing the elements of a semigroup internally quicklybecomes impractical.J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 11 / 24

A simple example

Let S be the semigroup generated by the transformations

x1 =

(1 2 33 2 3

)and x2 =

(1 2 33 3 1

).

• How many elements does S have?

• How many idempotents does S have?

• What are its maximal subgroups?

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 12 / 24

An exhaustive algorithmS acting on itself by right multiplication

Input: A subsemigroup S = 〈 x1, x2, . . . , xm 〉 of a larger semigroup.

Output: The elements of S.

Suppose x1, x2, . . . , xm are distinct. Here’s the algorithm:

1: X := [x1, x2, . . . , xm]2: for y ∈ X do3: for i ∈ 1, . . . ,m do4: if yxi 6∈ X then5: append yxi to X6: end if7: end for8: end for9: return X

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 13 / 24

Pay closer attention......and we’ve found the Cayley graphs and a presentation

3

6

7 5

2

1

4

x2

x1

x1

x1

x1

x1x2

x2

x2

5

2

3

67

4

1

x2

x2 x2

x1

x1

x2

The right Cayley graph. The left Cayley graph.

〈e, f | e2 = e, efe = fe, f2e = fe, f3 = f, fef2 = fe〉...

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 14 / 24

... and the Green’s structure

What’s not so great, is that the algorithm spends lots of time:

• checking yxi 6∈ X;

• multiplying elements;

• uses too much memory.

The algorithm takes no advantage of the structure or representation ofthe semigroup.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 15 / 24

Non-exhaustiveOverview

Let S be a finite regular semigroup and let U = 〈 x1, . . . , xm 〉 ≤ S.

We consider S known and U unknown.

We don’t want to find or store the elements of U .

We want to decompose S into blocks so that:

• the blocks have some uniform structure;

• the blocks are easy to compute from the given generators;

• the structure of S is used;

• we take advantage of computational group theory.

Blocks = Green’s R-classes

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 16 / 24

Actions and stabilisersSuppose S acts on the right on a set Ω. The natural inducedright action of S on the power set P(Ω) is:

Σ · s = α · s : α ∈ Σ for Σ ⊆ Ω and s ∈ S

and we define s|Σ : Σ −→ Σ · s by s|Σ : α 7→ α · s.The stabiliser of Σ under S is

StabS(Σ) = s ∈ S1 : Σ · s = Σ .

Then the quotient of StabS(Σ) by the kernel of its action is isomorphicto

SΣ = s|Σ : s ∈ StabS(Σ)

which is a subgroup of the symmetric group Sym(Σ) on Σ.The strongly connected component (s.c.c.) of α ∈ Ω is

β ∈ Ω : ∃s, t ∈ S1, β = α · s, α = β · t .

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 17 / 24

Schreier’s Theorem for Semigroups Actions

Suppose that S acts on the right on a set Ω, and U is asubsemigroup of S.

If Σ ⊆ Ω, thenSΣ = s|Σ : s ∈ StabS(Σ) .

Proposition (Linton-Pfeiffer-Robertson-Ruskuc ’98)

Let Σ1, . . . ,Σn be an s.c.c. of the action of U on P(Ω). Then:

(i) for every i > 1, there exist ui, vi ∈ U such that Σ1 · ui = Σi,Σi · vi = Σ1, (uivi)|Σ1 = idΣ1 and (viui)|Σi = idΣi;

(ii) UΣi and UΣj are isomorphic as permutation groups;

(iii) UΣ1 = 〈 (uisvj)Σ1 : 1 ≤ i, j ≤ n, s ∈ X, Σi · s = Σj 〉.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 18 / 24

Action on L -classes

Let S be a finite regular semigroup and let U ≤ S. Then U acts freelyon the L -classes of S by right multiplication (L is a rightcongruence).

Proposition (East-Egri-Nagy-M-Peresse ’13)

Let x, y ∈ U be arbitrary and let x′ ∈ S such that xx′x = x. Then:

(i) LSy : y ∈ RU

x is an s.c.c. of the action of U on S/L ;

(ii) LSx ∩RU

x is a group under s ∗ t = sx′t that is isomorphic to ULSx

;

(iii) xRUy implies ULSx

∼= ULSy

;

(iv) |RUx | = |ULS

x| · | LS

y : y ∈ RUx |;

(v) If LSx belongs to the s.c.c. of LS

y under the action of U on S/L ,

then |RUx | = |RU

y |.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 19 / 24

So what?

For an R-class of U ≤ S, there are the actions of:

• U on the L -classes of S by right multiplication;

• the group UL where L is an L -class of S.

Suppose that Ω is a set and λ : S −→ Ω such that:

(i) |Ω| = |S/L |;(ii) (x)λ = (y)λ if and only if LS

x = LSy for all x, y ∈ S;

(iii) S acts on Ω such that (x · u)λ = (x)λ · u for all x ∈ S and u ∈ U .

Then the actions of U on S/L and Ω are isomorphic via λ.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 20 / 24

Transformation semigroups

Proposition

Let U be any subsemigroup of some Tn where n ∈ N. Then:

(i) the action of U on Tn/L is isomorphic to the action of U onP(1, 2, . . . , n) defined by

X · f = (x)f : x ∈ X ;

(ii) if L ∈ Tn/L , then UL acts faithfully on im(x) for all x ∈ L.

This is what:

(i) Subsets of 1, . . . , n are easier to compute with than Tn/L ;

(ii) For example, if x ∈ T10 and | im(x)| = 5, then

|L| = 5! ∗ S(10, 5) = 5103000.

It is much easier to compute the action of UL on im(x) than on L.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 21 / 24

Rees 0-matrix semigroups

Let S =M0[T : I, J ;P ] be a regular Rees 0-matrix semigroup overa permutation group G ≤ Sn and |J | × |I| matrix P = (pj,i)j∈J,i∈I .

Proposition

Let U be any subsemigroup of S. Then:

(i) the action of U on S/L is isomorphic the action of U on J ∪ 0defined by

0 · (j, g, k) = 0 · 0 = 0 = i · 0, i · (j, g, k) =

k if pi,j 6= 0

0 if pi,j = 0

(ii) if L is any L -class of S, then UL acts faithfully on 1, . . . , n by

m · (i, g, j)|L = m · pj,ig for all m ∈ 1, 2, . . . , n

is faithful.

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 22 / 24

An algorithmLet U = 〈X 〉 be a subsemigroup of a finite regular semigroup S.

Green’s R-relation is a left congruence on S and so S acts by leftmultiplication on R-classes.

1: find (U)λ = (u)λ : u ∈ U . the standard orbit algorithm2: find the s.c.c.s of (U)λ . standard graph algorithms3: R← X . R-class reps4: for r ∈ R do5: identify the s.c.c. of (r)λ in (U)λ6: compute ULS

x. if we didn’t already

7: for x ∈ X do8: if (xr, y) 6∈ RU for any y ∈ R then9: append xr to R

10: end if11: end for12: end for

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 23 / 24

Return

The output is:

• R - the R-class representatives of U ;

• data structures for the R-classes;

The latter lets us calculate/test:

size: |U | =∑

x∈R |Rx|;

membership: x ∈ U if and only (x)λ ∈ (U)λ and (x′y)|LSy∈ ULS

yfor

some y ∈ R;

factorisation: pay very very very close attention!

...

J. D. Mitchell (St Andrews) Computing with semigroups 4th of February, 2014 24 / 24