gap€¦ · matrix group recognition max neunhöffer introduction matrix groups constructive...

114
Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive recognition Troubles Reduction Homomorphisms Computing the kernel Recursion: composition trees Example: invariant subspace Finding reductions Solution for leaves Classifications Recognition of the groups Standard generators Verification Status of our implementation Matrix group recognition in GAP Max Neunhöffer University of St Andrews 15.9.2007

Upload: others

Post on 16-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix group recognition in GAP

Max Neunhöffer

University of St Andrews

15.9.2007

Page 2: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 3: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 4: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 5: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 6: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |

Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 7: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?

Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 8: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?

Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 9: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?

Comparison with known groups(Maximal) subgroups?. . .

Page 10: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups

(Maximal) subgroups?. . .

Page 11: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?

. . .

Page 12: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups . . .Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

What do we want to determine about G?The group order |G |Membership test: Is M ∈ GLn(Fq) in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 13: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groups and matrix groups

Let n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!

Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

Page 14: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groups and matrix groupsLet n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!

Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

Page 15: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groups and matrix groupsLet n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!

Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

Page 16: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groups and matrix groupsLet n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!

Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

Page 17: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groups and matrix groupsLet n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!

Let Fq be the field with q elements and

GLn(Fq) := {M ∈ Fn×nq | M invertible}

Given: M1, . . . , Mk ∈ GLn(Fq)

Then the Mi generate a group G ≤ GLn(Fq).

It is finite, we have |GLn(Fq)| = qn(n−1)/2 ∏ni=1(q

i − 1)

Page 18: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Permutation groupsLet n ∈ N and Sn be the symmetric group:

Sn = {π : {1, . . . , n} → {1, . . . , n} | π bijective}.

Given: π1, . . . , πk ∈ Sn

Then the πi generate a group G ≤ Sn.

It is finite, we have |Sn| = n!.

We can determine about G algorithmically (e.g.):The group order |G |Membership test: Is M ∈ Sn in G?Homomorphisms ϕ : G → H?Kernels of homomorphisms? Is G simple?Comparison with known groups(Maximal) subgroups?. . .

Page 19: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups in GAP

In standard GAP:

gap> ugens;[ <an immutable 56x56 matrix over GF2>,

<an immutable 56x56 matrix over GF2> ]gap> u := Group(ugens);;gap> Size(u); time;252000341277gap> Image(NiceMonomorphism(u));<permutation group with 2 generators>

Using the upcoming genss package (with F. Noeske):

gap> Size(StabilizerChain(u)); time;2520001368

For “bigger” matrix groups both approaches do not work.

Page 20: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups in GAP

In standard GAP:

gap> ugens;[ <an immutable 56x56 matrix over GF2>,

<an immutable 56x56 matrix over GF2> ]gap> u := Group(ugens);;gap> Size(u); time;252000341277gap> Image(NiceMonomorphism(u));<permutation group with 2 generators>

Using the upcoming genss package (with F. Noeske):

gap> Size(StabilizerChain(u)); time;2520001368

For “bigger” matrix groups both approaches do not work.

Page 21: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Matrix groups in GAP

In standard GAP:

gap> ugens;[ <an immutable 56x56 matrix over GF2>,

<an immutable 56x56 matrix over GF2> ]gap> u := Group(ugens);;gap> Size(u); time;252000341277gap> Image(NiceMonomorphism(u));<permutation group with 2 generators>

Using the upcoming genss package (with F. Noeske):

gap> Size(StabilizerChain(u)); time;2520001368

For “bigger” matrix groups both approaches do not work.

Page 22: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognition — first formulation

ProblemLet Fq be the field with q elements and

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G andif so, expresses M as word in the Mi .

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 23: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognition — first formulation

ProblemLet Fq be the field with q elements and

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G andif so, expresses M as word in the Mi .

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 24: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Complexity of algorithms

To measure the efficiency of an algorithm, we considera class P of problems, that the algorithm can solve.

We assign to each P ∈ P its size g(P),

and prove an upper bound for the runtime L(P) of thealgorithm for P:

L(P) ≤ f (g(P))

for some function f .

The growth rate of f measures the complexity.

Example (Constructive matrix group recognition)Problem given by M1, . . . , Mk ∈ GLn(Fq).Size determined by n, k and log q.Runtime should be ≤ a polynomial in n, k and log q.

Page 25: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Complexity of algorithms

To measure the efficiency of an algorithm, we considera class P of problems, that the algorithm can solve.

We assign to each P ∈ P its size g(P),

and prove an upper bound for the runtime L(P) of thealgorithm for P:

L(P) ≤ f (g(P))

for some function f .

The growth rate of f measures the complexity.

Example (Constructive matrix group recognition)Problem given by M1, . . . , Mk ∈ GLn(Fq).Size determined by n, k and log q.Runtime should be ≤ a polynomial in n, k and log q.

Page 26: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Complexity of algorithms

To measure the efficiency of an algorithm, we considera class P of problems, that the algorithm can solve.

We assign to each P ∈ P its size g(P),

and prove an upper bound for the runtime L(P) of thealgorithm for P:

L(P) ≤ f (g(P))

for some function f .

The growth rate of f measures the complexity.

Example (Constructive matrix group recognition)Problem given by M1, . . . , Mk ∈ GLn(Fq).Size determined by n, k and log q.Runtime should be ≤ a polynomial in n, k and log q.

Page 27: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 28: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 29: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 30: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 31: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s

Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 32: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Randomised algorithms

Definition (Monte Carlo algorithms)A Monte Carlo algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it returns a wrongresult is at most ε.

Definition (Las Vegas algorithm)A Las Vegas algorithm with error probability ε is analgorithm, that is guaranteed to terminate after a finitetime, such that the probability that it fails is at most ε.

Example: Comp. of |G | = 4 089 470 473 293 004 800 forpermutation group G = 〈π1, π2〉 (n = 137 632):

deterministic alg.: 112s Monte Carlo ε = 1%: 6sSaving: 95% of runtime

Page 33: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognitionProblemLet Fq be the field with q elements und

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G, and,if so, expresses M as word in the Mi .

The runtime should be bounded from above by apolynomial in n, k and log q.A Monte Carlo Algorithmus is enough. (Verification!)

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 34: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognitionProblemLet Fq be the field with q elements und

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G, and,if so, expresses M as word in the Mi .

The runtime should be bounded from above by apolynomial in n, k and log q.

A Monte Carlo Algorithmus is enough. (Verification!)

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 35: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognitionProblemLet Fq be the field with q elements und

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G, and,if so, expresses M as word in the Mi .

The runtime should be bounded from above by apolynomial in n, k and log q.A Monte Carlo Algorithmus is enough.

(Verification!)

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 36: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognitionProblemLet Fq be the field with q elements und

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G, and,if so, expresses M as word in the Mi .

The runtime should be bounded from above by apolynomial in n, k and log q.A Monte Carlo Algorithmus is enough. (Verification!)

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 37: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Constructive recognitionProblemLet Fq be the field with q elements und

M1, . . . , Mk ∈ GLn(Fq).

Find for G := 〈M1, . . . , Mk 〉:The group order |G | andan algorithm that, given M ∈ GLn(Fq),

decides, whether or not M ∈ G, and,if so, expresses M as word in the Mi .

The runtime should be bounded from above by apolynomial in n, k and log q.A Monte Carlo Algorithmus is enough. (Verification!)

If this problem is solved, we call

〈M1, . . . , Mk 〉 recognised constructively.

Page 38: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Troubles

The discrete logarithm problem

If M1 = [z] ∈ F1×1q with z a primitive root of Fq. Then:

Given 0 6= [x ] ∈ F1×1q , find i ∈ N such that [x ] = [z]i .

There is no solution in polynomial time in log q known!

Integer factorisation

Some methods need a factorisation of qi − 1 for an i ≤ n.

There is no solution in polynomial time in log q known!

In practice q is small ⇒ no problem.We ignore both!

Page 39: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Troubles

The discrete logarithm problem

If M1 = [z] ∈ F1×1q with z a primitive root of Fq. Then:

Given 0 6= [x ] ∈ F1×1q , find i ∈ N such that [x ] = [z]i .

There is no solution in polynomial time in log q known!

Integer factorisation

Some methods need a factorisation of qi − 1 for an i ≤ n.

There is no solution in polynomial time in log q known!

In practice q is small ⇒ no problem.We ignore both!

Page 40: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Troubles

The discrete logarithm problem

If M1 = [z] ∈ F1×1q with z a primitive root of Fq. Then:

Given 0 6= [x ] ∈ F1×1q , find i ∈ N such that [x ] = [z]i .

There is no solution in polynomial time in log q known!

Integer factorisation

Some methods need a factorisation of qi − 1 for an i ≤ n.

There is no solution in polynomial time in log q known!

In practice q is small ⇒ no problem.We ignore both!

Page 41: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Troubles

The discrete logarithm problem

If M1 = [z] ∈ F1×1q with z a primitive root of Fq. Then:

Given 0 6= [x ] ∈ F1×1q , find i ∈ N such that [x ] = [z]i .

There is no solution in polynomial time in log q known!

Integer factorisation

Some methods need a factorisation of qi − 1 for an i ≤ n.

There is no solution in polynomial time in log q known!

In practice q is small ⇒ no problem.We ignore both!

Page 42: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Troubles

The discrete logarithm problem

If M1 = [z] ∈ F1×1q with z a primitive root of Fq. Then:

Given 0 6= [x ] ∈ F1×1q , find i ∈ N such that [x ] = [z]i .

There is no solution in polynomial time in log q known!

Integer factorisation

Some methods need a factorisation of qi − 1 for an i ≤ n.

There is no solution in polynomial time in log q known!

In practice q is small ⇒ no problem.We ignore both!

Page 43: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ Gϕ is surjective: H = 〈P1, . . . , Pk 〉H is in some sense “smaller”or at least “easier to recognise constructively”e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 44: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ Gϕ is surjective: H = 〈P1, . . . , Pk 〉H is in some sense “smaller”or at least “easier to recognise constructively”e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 45: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ G

ϕ is surjective: H = 〈P1, . . . , Pk 〉H is in some sense “smaller”or at least “easier to recognise constructively”e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 46: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ Gϕ is surjective: H = 〈P1, . . . , Pk 〉

H is in some sense “smaller”or at least “easier to recognise constructively”e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 47: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ Gϕ is surjective: H = 〈P1, . . . , Pk 〉H is in some sense “smaller”or at least “easier to recognise constructively”

e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 48: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

What is a reduction?

Let G := 〈M1, . . . , Mk 〉 ≤ GLn(Fq).

A reduction is a group homomorphism

ϕ : G → HMi 7→ Pi for all i

with the following properties:

ϕ(M) is explicitly computable for all M ∈ Gϕ is surjective: H = 〈P1, . . . , Pk 〉H is in some sense “smaller”or at least “easier to recognise constructively”e.g. H ≤ Sm or H ≤ GLn′(Fq′) with n′ log q′ < n log q

Page 49: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 50: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 51: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,

2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 52: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,

3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 53: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,

4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 54: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,

5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 55: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.

6 If M is uniformly distributed in Gthen M ·M ′−1 is uniformly distributed in N

7 Repeat.

→ Monte Carlo algorithm to compute N

Page 56: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N

7 Repeat.

→ Monte Carlo algorithm to compute N

Page 57: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 58: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Computing the kernelLet ϕ : G → H be a reduction and assume that H isalready recognised constructively.

Then we can compute the kernel N of ϕ:

1 Generate a (pseudo-) random element M ∈ G,2 map it with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,3 express ϕ(M) as word in the Pi ,4 evaluate the same word in the Mi ,5 get element M ′ ∈ G with M ·M ′−1 ∈ N.6 If M is uniformly distributed in G

then M ·M ′−1 is uniformly distributed in N7 Repeat.

→ Monte Carlo algorithm to compute N

Page 59: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 60: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|.

And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 61: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 62: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,

2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 63: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,

3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 64: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,

4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 65: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,

5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 66: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,

6 get M as word in the Mi and Nj :M ′ =

∏in the Mi , M ·M ′−1 =

∏in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 67: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 68: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recognising image and kernel sufficesLet ϕ : G → H be a reduction and assume that both Hand the kernel N = 〈N1, . . . , Nm〉 of ϕ are alreadyrecognised constructively.

Then we have recognised G constructively:|G | = |H| · |N|. And for M ∈ GLn(Fq):

1 map M with ϕ onto ϕ(M) ∈ H = 〈P1, . . . , Pk 〉,2 express ϕ(M) as word in the Pi ,3 evaluate the same word in the Mi ,4 get element M ′ ∈ G such that M ·M ′−1 ∈ N,5 express M ·M ′−1 as word in the Nj ,6 get M as word in the Mi and Nj :

M ′ =∏

in the Mi , M ·M ′−1 =∏

in the Nj

⇒ M =(∏

in the Nj)· (

∏in the Mi).

7 If M /∈ G, then at least one step does not work.

Page 69: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recursion: composition treesWe get a tree:

G

N H

2211

3 3N H

HNHN

Up arrows: inclusionsDown arrows: homomorphisms

Old idea, substantial improvements: Seress & N. 2006

Page 70: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recursion: composition treesWe get a tree:

G

N H

N HN H

N H

1 1 2 2

3 3

Up arrows: inclusionsDown arrows: homomorphisms

Old idea, substantial improvements: Seress & N. 2006

Page 71: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Recursion: composition treesWe get a tree:

G

N H

N HN H

N H

1 1 2 2

3 3

Up arrows: inclusionsDown arrows: homomorphisms

Old idea, substantial improvements: Seress & N. 2006

Page 72: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspaceLet V = Fn

q, then G acts on V .Let W ≤ V be an invariant subspace, i.e.:

MW = W for all M ∈ G

Choose basis (w1, . . . , wd) of W and extend to a basis

(w1, . . . , wd , wd+1, . . . , wn)

of V . After a base change the matrices in G look like this:[A B0 D

]with A ∈ Fd×d

q , B ∈ Fd×(n−d)q , D ∈ F(n−d)×(n−d)

q

and

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups.

Page 73: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspaceLet V = Fn

q, then G acts on V .Let W ≤ V be an invariant subspace, i.e.:

MW = W for all M ∈ G

Choose basis (w1, . . . , wd) of W and extend to a basis

(w1, . . . , wd , wd+1, . . . , wn)

of V . After a base change the matrices in G look like this:[A B0 D

]with A ∈ Fd×d

q , B ∈ Fd×(n−d)q , D ∈ F(n−d)×(n−d)

q

and

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups.

Page 74: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspaceLet V = Fn

q, then G acts on V .Let W ≤ V be an invariant subspace, i.e.:

MW = W for all M ∈ G

Choose basis (w1, . . . , wd) of W and extend to a basis

(w1, . . . , wd , wd+1, . . . , wn)

of V . After a base change the matrices in G look like this:[A B0 D

]with A ∈ Fd×d

q , B ∈ Fd×(n−d)q , D ∈ F(n−d)×(n−d)

q

and

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups.

Page 75: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspace

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups, its kernel is

N :=

{[A B0 D

]∈ G | D = 1

}.

The mapping

N → GLd(Fq),

[A B0 1

]7→ A

also is a homomorphism of groups and has kernel

N2 :=

{[A B0 D

]∈ G | A = D = 1

}.

This group is a p-group for q = pe:[1 B0 1

]·[

1 B′

0 1

]=

[1 B + B′

0 1

]Together with a reduction additional information is gained!

Page 76: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspace

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups, its kernel is

N :=

{[A B0 D

]∈ G | D = 1

}.

The mapping

N → GLd(Fq),

[A B0 1

]7→ A

also is a homomorphism of groups and has kernel

N2 :=

{[A B0 D

]∈ G | A = D = 1

}.

This group is a p-group for q = pe:[1 B0 1

]·[

1 B′

0 1

]=

[1 B + B′

0 1

]Together with a reduction additional information is gained!

Page 77: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspace

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups, its kernel is

N :=

{[A B0 D

]∈ G | D = 1

}.

The mapping

N → GLd(Fq),

[A B0 1

]7→ A

also is a homomorphism of groups and has kernel

N2 :=

{[A B0 D

]∈ G | A = D = 1

}.

This group is a p-group for q = pe:[1 B0 1

]·[

1 B′

0 1

]=

[1 B + B′

0 1

]

Together with a reduction additional information is gained!

Page 78: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Example: invariant subspace

G → GLn−d(Fq),

[A B0 D

]7→ D

is a homomorphism of groups, its kernel is

N :=

{[A B0 D

]∈ G | D = 1

}.

The mapping

N → GLd(Fq),

[A B0 1

]7→ A

also is a homomorphism of groups and has kernel

N2 :=

{[A B0 D

]∈ G | A = D = 1

}.

This group is a p-group for q = pe:[1 B0 1

]·[

1 B′

0 1

]=

[1 B + B′

0 1

]Together with a reduction additional information is gained!

Page 79: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?

Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groupsthe modular representation theory of simple groups

Page 80: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groupsthe modular representation theory of simple groups

Page 81: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groupsthe modular representation theory of simple groups

Page 82: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groupsthe modular representation theory of simple groups

Page 83: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groups

the modular representation theory of simple groups

Page 84: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

How to find reductions?Aschbacher has defined classes C1 to C8 of subgroupsof GLn(Fq).

Theorem (Aschbacher, 1984)Let G ≤ GLn(Fq) and Z := G ∩ Z (GLn(Fq)) the subgroupof scalar matrices. Then G lies in at least one of theclasses C1 to C8 or we have:

T ⊆ G/Z ⊆ Aut(T)for a non-abelian simple group T , andG acts absolutely irreducibly on V = Fn

q.

(This last case is called C9.)

Thus we can call in heavy artillery:the classification of finite simple groupsthe modular representation theory of simple groups

Page 85: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 86: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 87: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 88: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 89: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 90: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Approach for leaves of the treeIf none of the algorithms for C1 to C8 has succeeded:

1 For “small” groups compute direct isomorphism ontoa permutation group.

2 Determine, for which (simple) groupT ≤ G/Z ≤ Aut(T ) holds.

3 Find an explicit isomorphism onto a “standard copy”of an intermediate group S.

4 Finally use information about S to recognise Gconstructively.

This uses:the classification of finite simple groupsinformation about their automorphism groupsinformation about element ordersinformation about conjugacy classesclassifications of the irreducible representationsinformation about the subgroup structure

Page 91: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Non-constructive recognition

Methods for non-constructive recognition:

Knowledge about representations narrows down thepossibilities

Statistics about orders of random elements

Usually this leads to Monte Carlo algorithms.

Page 92: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Non-constructive recognition

Methods for non-constructive recognition:

Knowledge about representations narrows down thepossibilitiesStatistics about orders of random elements

Usually this leads to Monte Carlo algorithms.

Page 93: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Non-constructive recognition

Methods for non-constructive recognition:

Knowledge about representations narrows down thepossibilitiesStatistics about orders of random elements

Usually this leads to Monte Carlo algorithms.

Page 94: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.

Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 95: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 96: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 97: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,

if (s′1, . . . , s′r ) ∈ Sr with|si | = |s′

i | for 1 ≤ i ≤ r ,|pj | = |p′

j | for 1 ≤ j ≤ m(the p′

j are the same words in the s′i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 98: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 99: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 100: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 101: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.

Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 102: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Standard generatorsIn G we can only multiply, invert and compute orders.Suppose: G ∼= S with T ≤ S ≤ Aut(T ) and T simple.

Find a tuple (s1, . . . , sr ) ∈ Sr together with certain wordsp1, . . . , pm in the si , such that:

S = 〈s1, . . . , sr 〉,if (s′1, . . . , s′r ) ∈ Sr with

|si | = |s′i | for 1 ≤ i ≤ r ,

|pj | = |p′j | for 1 ≤ j ≤ m

(the p′j are the same words in the s′

i ),

then si 7→ s′i for 1 ≤ i ≤ r defines an automorphismof S.

Such elements are called “standard generators” of S.

We find G ∼= S explicitly by finding a tuple (M1, . . . , Mr ) ofstandard generators in G.Often this leads to efficient Las Vegas algorithms to findexplicit isomorphisms.

Page 103: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Verification

Everywhere we used randomised methods:Las Vegas and Monte Carlo.

⇒ We have to check whether our result is correct!

Idea:Find (short) presentations for the leaf-groups,put these together to one for the whole group.Check the relations and thus prove the result.

Page 104: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Verification

Everywhere we used randomised methods:Las Vegas and Monte Carlo.

⇒ We have to check whether our result is correct!

Idea:Find (short) presentations for the leaf-groups,

put these together to one for the whole group.Check the relations and thus prove the result.

Page 105: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Verification

Everywhere we used randomised methods:Las Vegas and Monte Carlo.

⇒ We have to check whether our result is correct!

Idea:Find (short) presentations for the leaf-groups,put these together to one for the whole group.

Check the relations and thus prove the result.

Page 106: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Verification

Everywhere we used randomised methods:Las Vegas and Monte Carlo.

⇒ We have to check whether our result is correct!

Idea:Find (short) presentations for the leaf-groups,put these together to one for the whole group.Check the relations and thus prove the result.

Page 107: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),

a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,no verification.

Page 108: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,

Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,no verification.

Page 109: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,

complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,no verification.

Page 110: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,

methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,no verification.

Page 111: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),

nearly ready non-constructive recognition,a few leaf methods,no verification.

Page 112: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,

a few leaf methods,no verification.

Page 113: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,

no verification.

Page 114: GAP€¦ · Matrix group recognition Max Neunhöffer Introduction Matrix groups Constructive recognition The problem Complexity theory Randomised algorithms Constructive

Matrix grouprecognition

Max Neunhöffer

IntroductionMatrix groups

Constructive recognition

The problemComplexity theory

Randomised algorithms

Constructive recognition

Troubles

ReductionHomomorphisms

Computing the kernel

Recursion: compositiontrees

Example: invariantsubspace

Finding reductions

Solution for leavesClassifications

Recognition of the groups

Standard generators

Verification

Status of ourimplementation

Status of our implementationWe have

a package recogbase providing a framework toimplement recognition algorithms and compositiontrees (Ákos Seress, N.),a package recog collecting methods to findreductions and recognise leafs constructively,Authors (currently): P. Brooksbank, M. Law,S. Linton, N., A. Niemeyer, E. O’Brien, Á. Seress,complete asymptotically best methods to handlepermutation groups,methods for most Aschbacher classes for matrixgroups and projective groups (some improvedalgorithms still needed),nearly ready non-constructive recognition,a few leaf methods,no verification.