Algorithms for matrix groups
Eamonn O’Brien
University of Auckland
December 2010
Overview
G = hX i ≤ GL(d , R) where R is a ring; usually finite field GF(q)
Goal: efficient algorithms, for their study, which are both theoretically and practically effective.
Overview
G = hX i ≤ GL(d , R) where R is a ring; usually finite field GF(q) Goal: efficient algorithms, for their study, which are both
theoretically and practically effective.
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4 ≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4 ≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Why do we care?
Modular representation theory: Dickson (1910s), applications to number theory, algebraic groups etc.
Sporadic simple groups: constructed as irreducible representations over small fields.
Benson et al. (1982): J4 ≤ GL(112, 2), order 1020.
Invariant theory: irreducible representations, Kronecker products, tensor-induced representations.
Energy levels of systems of identical particles: irreducible representations of classical groups
Cost of matrix multiplication
Two d × d matrices A and B
Cost of A × B using conventional algorithm is O(d3).
Strassen: O(dlog2(7))
Coppersmith & Winograd (1990): O(d2.37)
Where do we notice improvements? Perhaps for d ≥ 100.
Cost of matrix multiplication
Two d × d matrices A and B
Cost of A × B using conventional algorithm is O(d3).
Strassen: O(dlog2(7))
Coppersmith & Winograd (1990): O(d2.37)
Where do we notice improvements? Perhaps for d ≥ 100.
Cost of matrix multiplication
Two d × d matrices A and B
Cost of A × B using conventional algorithm is O(d3).
Strassen: O(dlog2(7))
Coppersmith & Winograd (1990): O(d2.37)
Where do we notice improvements? Perhaps for d ≥ 100.
Cost of matrix multiplication
Two d × d matrices A and B
Cost of A × B using conventional algorithm is O(d3).
Strassen: O(dlog2(7))
Coppersmith & Winograd (1990): O(d2.37) Where do we notice improvements?
Perhaps for d ≥ 100.
Cost of matrix multiplication
Two d × d matrices A and B
Cost of A × B using conventional algorithm is O(d3).
Strassen: O(dlog2(7))
Coppersmith & Winograd (1990): O(d2.37)
Where do we notice improvements? Perhaps for d ≥ 100.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4. GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search. Even for . . . 1 × 1 matrices over GF(q): membership related to
Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk. No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search. Even for . . . 1 × 1 matrices over GF(q): membership related to
Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk. No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search. Even for . . . 1 × 1 matrices over GF(q): membership related to
Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk. No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search.
Even for . . . 1 × 1 matrices over GF(q): membership related to
Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk. No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search.
Even for . . . 1 × 1 matrices over GF(q):
membership related to
Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk. No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search.
Even for . . . 1 × 1 matrices over GF(q):
membership related to Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk.
No polynomial-time algorithm known.
Membership
Given G ≤ GL(d , Z), and x ∈ GL(d, Z): is x ∈ G ?
Mihailova (1958): membership problem is undecidable for d ≥ 4.
GF(q) : |GL(d , q)| = O(qd2)
Membership decidable from exhaustive search.
Even for . . . 1 × 1 matrices over GF(q):
membership related to Discrete log problem
F = GF(q), ω ∈ F primitive.
Given α ∈ F , determine k so that α = ωk.
Challenge Problem I: Order of a matrix
Let g ∈ GL(d , q).
Find n ≥ 1 such that gn= 1.
GL(d , q) has elements of order qd− 1 (Singer cycles)
To find |g |: probably requires factorisation of numbers of form qi− 1, a hard problem.
Babai & Beals (1999): Theorem
If the set of primes dividing a multiplicative upper-bound B for |g | is known, then the precise value of |g | can be determined in polynomial time.
Challenge Problem I: Order of a matrix
Let g ∈ GL(d , q).
Find n ≥ 1 such that gn= 1.
GL(d , q) has elements of order qd− 1 (Singer cycles)
To find |g |: probably requires factorisation of numbers of form qi− 1, a hard problem.
Babai & Beals (1999): Theorem
If the set of primes dividing a multiplicative upper-bound B for |g | is known, then the precise value of |g | can be determined in polynomial time.
Challenge Problem I: Order of a matrix
Let g ∈ GL(d , q).
Find n ≥ 1 such that gn= 1.
GL(d , q) has elements of order qd− 1 (Singer cycles)
To find |g |: probably requires factorisation of numbers of form qi− 1, a hard problem.
Babai & Beals (1999): Theorem
If the set of primes dividing a multiplicative upper-bound B for |g | is known, then the precise value of |g | can be determined in polynomial time.
Challenge Problem I: Order of a matrix
Let g ∈ GL(d , q).
Find n ≥ 1 such that gn= 1.
GL(d , q) has elements of order qd− 1 (Singer cycles)
To find |g |: probably requires factorisation of numbers of form qi− 1, a hard problem.
Babai & Beals (1999):
Theorem
If the set of primes dividing a multiplicative upper-bound B for |g | is known, then the precise value of |g | can be determined in
Celler & Leedham-Green (1995): compute order in time O(d3log q) subject to factorisation of qi − 1 for 1 ≤ i ≤ d .
• Compute a “good” multiplicative upper bound E for |g |. Determine and factorise minimal polynomial for g as
m(x ) =
t
Y
i =1
fi(x )mi
where deg(fi) = di and β = dlogpmax mie. E = lcm(qdi − 1) × pβ
|g | divides E .
Celler & Leedham-Green (1995): compute order in time O(d3log q) subject to factorisation of qi − 1 for 1 ≤ i ≤ d .
• Compute a “good” multiplicative upper bound E for |g |.
Determine and factorise minimal polynomial for g as
m(x ) =
t
Y
i =1
fi(x )mi
where deg(fi) = di and β = dlogpmax mie. E = lcm(qdi − 1) × pβ
|g | divides E .
Celler & Leedham-Green (1995): compute order in time O(d3log q) subject to factorisation of qi − 1 for 1 ≤ i ≤ d .
• Compute a “good” multiplicative upper bound E for |g |.
Determine and factorise minimal polynomial for g as
m(x ) =
t
Y
i =1
fi(x )mi
where deg(fi) = di and β = dlogpmax mie.
E = lcm(qdi − 1) × pβ
|g | divides E .
Celler & Leedham-Green (1995): compute order in time O(d3log q) subject to factorisation of qi − 1 for 1 ≤ i ≤ d .
• Compute a “good” multiplicative upper bound E for |g |.
Determine and factorise minimal polynomial for g as
m(x ) =
t
Y
i =1
fi(x )mi
where deg(fi) = di and β = dlogpmax mie.
E = lcm(qdi − 1) × pβ
|g | divides E .
Celler & Leedham-Green (1995): compute order in time O(d3log q) subject to factorisation of qi − 1 for 1 ≤ i ≤ d .
• Compute a “good” multiplicative upper bound E for |g |.
Determine and factorise minimal polynomial for g as
m(x ) =
t
Y
i =1
fi(x )mi
where deg(fi) = di and β = dlogpmax mie.
E = lcm(qdi − 1) × pβ
|g | divides E .
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors. Now gu has order k say, dividing v ;
and gk has order ` say, dividing u. The order of g is k`.
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors. Now gu has order k say, dividing v ;
and gk has order ` say, dividing u. The order of g is k`.
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors.
Now gu has order k say, dividing v ; and gk has order ` say, dividing u. The order of g is k`.
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors.
Now gu has order k say, dividing v ;
and gk has order ` say, dividing u. The order of g is k`.
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors.
Now gu has order k say, dividing v ; and gk has order ` say, dividing u.
The order of g is k`.
How can we use E ?
If E =Qt
i =1piαi then we can determine |g | in O(log t log n) multiplications.
If t = 1, then compute gpj1 for j = 1, 2, . . . , α1.
Otherwise write E = uv where u, v are coprime and have approximately same number of distinct prime factors.
Now gu has order k say, dividing v ; and gk has order ` say, dividing u.
The order of g is k`.
So cost is O(d3log q log t) field operations if we can factorise E .
If we don’t complete the factorisation, then obtain pseudo-order [order × some large primes] of g suffices for most theoretical and practical purposes.
Implementations in both GAP and Magma use databases of factorisations of numbers of the form qi− 1, prepared as part of the Cunningham Project.
So cost is O(d3log q log t) field operations if we can factorise E . If we don’t complete the factorisation, then obtain pseudo-order [order × some large primes] of g
suffices for most theoretical and practical purposes.
Implementations in both GAP and Magma use databases of factorisations of numbers of the form qi− 1, prepared as part of the Cunningham Project.
So cost is O(d3log q log t) field operations if we can factorise E . If we don’t complete the factorisation, then obtain pseudo-order [order × some large primes] of g suffices for most theoretical and practical purposes.
Implementations in both GAP and Magma use databases of factorisations of numbers of the form qi− 1, prepared as part of the Cunningham Project.
So cost is O(d3log q log t) field operations if we can factorise E . If we don’t complete the factorisation, then obtain pseudo-order [order × some large primes] of g suffices for most theoretical and practical purposes.
Implementations in both GAP and Magma use databases of factorisations of numbers of the form qi− 1, prepared as part of the Cunningham Project.
Variation on this theme
Task: Determine if g has even order.
If we just know E , then we can learn in polynomial time the exact power of 2 (or of any specified prime) which divides |g |.
By repeated division by 2, we write E = 2mb where b is odd. Now we compute h = gb, and determine (by powering) its order which divides 2m.
Variation on this theme
Task: Determine if g has even order.
If we just know E , then we can learn in polynomial time the exact power of 2 (or of any specified prime) which divides |g |.
By repeated division by 2, we write E = 2mb where b is odd. Now we compute h = gb, and determine (by powering) its order which divides 2m.
Variation on this theme
Task: Determine if g has even order.
If we just know E , then we can learn in polynomial time the exact power of 2 (or of any specified prime) which divides |g |.
By repeated division by 2, we write E = 2mb where b is odd.
Now we compute h = gb, and determine (by powering) its order which divides 2m.
Variation on this theme
Task: Determine if g has even order.
If we just know E , then we can learn in polynomial time the exact power of 2 (or of any specified prime) which divides |g |.
By repeated division by 2, we write E = 2mb where b is odd.
Now we compute h = gb, and determine (by powering) its order which divides 2m.
Randomness
|GL(d , q)| = O(qd2)
Many algorithms are randomised: use random search in G to find elements having prescribed property P.
Example
Characteristic polynomial having factor of degree > d /2.
Order divisible by prescribed prime.
Common feature: algorithms depend on detailed analysis of proportion of elements of finite simple groups satisfying P.
Randomness
|GL(d , q)| = O(qd2)
Many algorithms are randomised: use random search in G to find elements having prescribed property P.
Example
Characteristic polynomial having factor of degree > d /2.
Order divisible by prescribed prime.
Common feature: algorithms depend on detailed analysis of proportion of elements of finite simple groups satisfying P.
Randomness
|GL(d , q)| = O(qd2)
Many algorithms are randomised: use random search in G to find elements having prescribed property P.
Example
Characteristic polynomial having factor of degree > d /2.
Order divisible by prescribed prime.
Common feature: algorithms depend on detailed analysis of proportion of elements of finite simple groups satisfying P.
Assume we determine a lower bound, say 1/k, for proportion of elements in G satisfying Property P.
To find element satisfying P by random search with a probability of failure less than given ∈ (0, 1): choose a sample of uniformly distributed random elements in G of size at least d− loge()ek.
Assume we determine a lower bound, say 1/k, for proportion of elements in G satisfying Property P.
To find element satisfying P by random search with a probability of failure less than given ∈ (0, 1): choose a sample of uniformly distributed random elements in G of size at least d− loge()ek.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G . Walk is repeated O(log |G |) times.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G . Walk is repeated O(log |G |) times.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G . Walk is repeated O(log |G |) times.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G . Walk is repeated O(log |G |) times.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G .
Walk is repeated O(log |G |) times.
Challenge Problem II: Generate random elements
Babai (1991): Vertex-transitive graph approach
Independent nearly uniformly random distributed elements of finite group G = hX i can be found after a preprocessing stage consisting of O(log5|G |) group operations.
Preprocessing proceeds in O(log |G |) phases.
In each phase, random walk of random length between 1 and O((log |G |)4) performed on Cayley graph of G .
Element found when walk finished is added to generators of G .
Final list S of O(log |G |) elements input to construction phase.
Random element is random subproduct of S : g11. . . gmm
where S = {g1, . . . , gm} and i ∈ {0, 1} (chosen independently). For G ≤ GL(d , q), log |G | < d2log q.
Initialisation phase O(d10log5q). Cost per random element is O(log |G |).
Final list S of O(log |G |) elements input to construction phase.
Random element is random subproduct of S : g11. . . gmm
where S = {g1, . . . , gm} and i ∈ {0, 1} (chosen independently).
For G ≤ GL(d , q), log |G | < d2log q. Initialisation phase O(d10log5q). Cost per random element is O(log |G |).
Final list S of O(log |G |) elements input to construction phase.
Random element is random subproduct of S : g11. . . gmm
where S = {g1, . . . , gm} and i ∈ {0, 1} (chosen independently).
For G ≤ GL(d , q), log |G | < d2log q.
Initialisation phase O(d10log5q). Cost per random element is O(log |G |).
Final list S of O(log |G |) elements input to construction phase.
Random element is random subproduct of S : g11. . . gmm
where S = {g1, . . . , gm} and i ∈ {0, 1} (chosen independently).
For G ≤ GL(d , q), log |G | < d2log q.
Initialisation phase O(d10log5q).
Cost per random element is O(log |G |).
Final list S of O(log |G |) elements input to construction phase.
Random element is random subproduct of S : g11. . . gmm
where S = {g1, . . . , gm} and i ∈ {0, 1} (chosen independently).
For G ≤ GL(d , q), log |G | < d2log q.
Initialisation phase O(d10log5q).
Cost per random element is O(log |G |).
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G .
Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G .
Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
CLMNO (1995): Product replacement algorithm
Input: ordered list of generators [g1, . . . , gm] for G . Accumulator: r initialised to be identity of G . Basic step:
Select at random i , j where 1 ≤ i , j ≤ m.
Replace gi by either gigj or gjgi.
Multiply r by gi.
Basic step repeated a number, say t, of times.
Now to obtain random element: execute basic operation once, and return r as random element.
Cost: after initialisation, two matrix multiplications.
Markov chain: a discrete random process with a finite number of states and it satisfies the property that the next state depends only on the current state.
Aperiodic: all states occur with equal probability. Theorem
Let T be set of all m-tuples of generators of G . Then the
algorithm constructs a Markov chain over state space T , and if m is at least twice the size of a minimal generating set of generators for G , this Markov chain is connected and aperiodic.
The random walk approaches a limiting distribution at exponential rate O((1 − δ)t) where t is number of steps taken.
Cost: after initialisation, two matrix multiplications.
Markov chain: a discrete random process with a finite number of states and it satisfies the property that the next state depends only on the current state.
Aperiodic: all states occur with equal probability. Theorem
Let T be set of all m-tuples of generators of G . Then the
algorithm constructs a Markov chain over state space T , and if m is at least twice the size of a minimal generating set of generators for G , this Markov chain is connected and aperiodic.
The random walk approaches a limiting distribution at exponential rate O((1 − δ)t) where t is number of steps taken.
Cost: after initialisation, two matrix multiplications.
Markov chain: a discrete random process with a finite number of states and it satisfies the property that the next state depends only on the current state.
Aperiodic: all states occur with equal probability.
Theorem
Let T be set of all m-tuples of generators of G . Then the
algorithm constructs a Markov chain over state space T , and if m is at least twice the size of a minimal generating set of generators for G , this Markov chain is connected and aperiodic.
The random walk approaches a limiting distribution at exponential rate O((1 − δ)t) where t is number of steps taken.
Cost: after initialisation, two matrix multiplications.
Markov chain: a discrete random process with a finite number of states and it satisfies the property that the next state depends only on the current state.
Aperiodic: all states occur with equal probability.
Theorem
Let T be set of all m-tuples of generators of G . Then the
algorithm constructs a Markov chain over state space T , and if m is at least twice the size of a minimal generating set of generators for G , this Markov chain is connected and aperiodic.
The random walk approaches a limiting distribution at exponential rate O((1 − δ)t) where t is number of steps taken.
Cost: after initialisation, two matrix multiplications.
Markov chain: a discrete random process with a finite number of states and it satisfies the property that the next state depends only on the current state.
Aperiodic: all states occur with equal probability.
Theorem
Let T be set of all m-tuples of generators of G . Then the
algorithm constructs a Markov chain over state space T , and if m is at least twice the size of a minimal generating set of generators for G , this Markov chain is connected and aperiodic.
The random walk approaches a limiting distribution at exponential
Mixing time
What can we say about the “mixing time”, t?
Variety of statistical tests applied to test outcome of algorithm. Practical: excellent.
Diaconis & Saloff-Coste (1997, 1998):
t = O(δ2(G , S ) · m), where δ(G , S ) is the maximal diameter for the Cayley graph of G wrt generating set S .
Comparison of two Markov chains on different but related state spaces and combinatorics of random paths.
Pak (2001): Mixing time is polynomial. Multi-commodity flow technique.
Lubotzky & Pak (2002):
Does the group of automorphisms of a free group of rank > 3 have Kazhdan’s property (T)? If so, then “graph of states” is well-behaved, giving excellent mixing time.
Mixing time
What can we say about the “mixing time”, t?
Variety of statistical tests applied to test outcome of algorithm.
Practical: excellent.
Diaconis & Saloff-Coste (1997, 1998):
t = O(δ2(G , S ) · m), where δ(G , S ) is the maximal diameter for the Cayley graph of G wrt generating set S .
Comparison of two Markov chains on different but related state spaces and combinatorics of random paths.
Pak (2001): Mixing time is polynomial. Multi-commodity flow technique.
Lubotzky & Pak (2002):
Does the group of automorphisms of a free group of rank > 3 have Kazhdan’s property (T)? If so, then “graph of states” is well-behaved, giving excellent mixing time.
Mixing time
What can we say about the “mixing time”, t?
Variety of statistical tests applied to test outcome of algorithm.
Practical: excellent.
Diaconis & Saloff-Coste (1997, 1998):
t = O(δ2(G , S ) · m), where δ(G , S ) is the maximal diameter for the Cayley graph of G wrt generating set S .
Comparison of two Markov chains on different but related state spaces and combinatorics of random paths.
Pak (2001): Mixing time is polynomial. Multi-commodity flow technique.
Lubotzky & Pak (2002):
Does the group of automorphisms of a free group of rank > 3 have Kazhdan’s property (T)? If so, then “graph of states” is well-behaved, giving excellent mixing time.
Mixing time
What can we say about the “mixing time”, t?
Variety of statistical tests applied to test outcome of algorithm.
Practical: excellent.
Diaconis & Saloff-Coste (1997, 1998):
t = O(δ2(G , S ) · m), where δ(G , S ) is the maximal diameter for the Cayley graph of G wrt generating set S .
Comparison of two Markov chains on different but related state spaces and combinatorics of random paths.
Pak (2001): Mixing time is polynomial. Multi-commodity flow technique.
Lubotzky & Pak (2002):
Does the group of automorphisms of a free group of rank > 3 have Kazhdan’s property (T)? If so, then “graph of states” is well-behaved, giving excellent mixing time.
Mixing time
What can we say about the “mixing time”, t?
Variety of statistical tests applied to test outcome of algorithm.
Practical: excellent.
Diaconis & Saloff-Coste (1997, 1998):
t = O(δ2(G , S ) · m), where δ(G , S ) is the maximal diameter for the Cayley graph of G wrt generating set S .
Comparison of two Markov chains on different but related state spaces and combinatorics of random paths.
Pak (2001): Mixing time is polynomial. Multi-commodity flow technique.
Lubotzky & Pak (2002):
Does the group of automorphisms of a free group of rank > 3
Permutation groups
Sims (1970, 1971): base and strong generating set (BSGS).
G acts faithfully on Ω = {1, . . . , n}
G = {g ∈ G | g = }.
Base: sequence of points B = [1, 2, . . . , k] where G1,2,...,k = 1. This determines chain of stabilisers
G = G(0) ≥ G(1)≥ · · · ≥ G(k−1)≥ G(k) = 1, where G(i )= G1,2,...,i.
S strong generating set: G(i )=S ∩ G(i ) Example
G = h(1, 5, 2, 6), (1, 2)(3, 4)(5, 6)i B = [1, 3]
G > G1 > G1,3 = 1
S = {(1, 5, 2, 6), (1, 2)(3, 4)(5, 6), (3, 4)}
Permutation groups
Sims (1970, 1971): base and strong generating set (BSGS).
G acts faithfully on Ω = {1, . . . , n}
G = {g ∈ G | g = }.
Base: sequence of points B = [1, 2, . . . , k] where G1,2,...,k = 1.
This determines chain of stabilisers
G = G(0) ≥ G(1)≥ · · · ≥ G(k−1)≥ G(k) = 1, where G(i )= G1,2,...,i.
S strong generating set: G(i )=S ∩ G(i ) Example
G = h(1, 5, 2, 6), (1, 2)(3, 4)(5, 6)i B = [1, 3]
G > G1 > G1,3 = 1
S = {(1, 5, 2, 6), (1, 2)(3, 4)(5, 6), (3, 4)}
Permutation groups
Sims (1970, 1971): base and strong generating set (BSGS).
G acts faithfully on Ω = {1, . . . , n}
G = {g ∈ G | g = }.
Base: sequence of points B = [1, 2, . . . , k] where G1,2,...,k = 1.
This determines chain of stabilisers
G = G(0) ≥ G(1)≥ · · · ≥ G(k−1) ≥ G(k) = 1, where G(i )= G1,2,...,i.
S strong generating set: G(i ) =S ∩ G(i ) Example
G = h(1, 5, 2, 6), (1, 2)(3, 4)(5, 6)i
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ). Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ). Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ).
Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ). Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ). Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Central task: construct basic orbits – orbit Bi of the base point
i +1 under G(i ).
|G(i ): G(i +1)| = #Bi
Schreier’s Lemma gives generating set for each G(i ). Base image Bg = [g1, . . . gk] uniquely determines g :
if Bg = Bh then Bgh−1 = B, so gh−1 = 1. Hence g can be represented as |B|-tuple.
Variations underpin both theoretical and practical approaches to permutation group algorithms.
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors. Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |. Butler (1979): action of G on one-dimensional subspaces of V . Murray & O’Brien (1995): heuristic algorithm to select base points. Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors.
Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |. Butler (1979): action of G on one-dimensional subspaces of V . Murray & O’Brien (1995): heuristic algorithm to select base points. Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors.
Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |.
Butler (1979): action of G on one-dimensional subspaces of V . Murray & O’Brien (1995): heuristic algorithm to select base points. Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors.
Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |.
Butler (1979): action of G on one-dimensional subspaces of V .
Murray & O’Brien (1995): heuristic algorithm to select base points. Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors.
Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |.
Butler (1979): action of G on one-dimensional subspaces of V . Murray & O’Brien (1995): heuristic algorithm to select base points.
Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Schreier-Sims for matrix groups
G acts faithfully on V = Fd: v · g , for v ∈ V
Compute BSGS for G , viewed as permutation group on the vectors.
Base points: standard basis vectors for V .
Central problem: basic orbits Bi large. Usually |B1| is |G |.
Butler (1979): action of G on one-dimensional subspaces of V . Murray & O’Brien (1995): heuristic algorithm to select base points.
Neunh¨offer et al. (2000s): use “helper subgroups” to construct large orbits
Critical for success: index of one stabiliser in its predecessor.
|Sn: Sn−1| = n
“Optimal” subgroup chain for GL(d , q)?
GL(d , q) ≥ qd −1.GL(d − 1, q) ≥ GL(d − 1, q) ≥ . . . Leading index: qd− 1.
Example
Largest maximal subgroup 211: M24≤ J4 index 173 067 389.
Critical for success: index of one stabiliser in its predecessor.
|Sn: Sn−1| = n
“Optimal” subgroup chain for GL(d , q)?
GL(d , q) ≥ qd −1.GL(d − 1, q) ≥ GL(d − 1, q) ≥ . . . Leading index: qd− 1.
Example
Largest maximal subgroup 211: M24≤ J4 index 173 067 389.
Critical for success: index of one stabiliser in its predecessor.
|Sn: Sn−1| = n
“Optimal” subgroup chain for GL(d , q)?
GL(d , q) ≥ qd −1.GL(d − 1, q) ≥ GL(d − 1, q) ≥ . . . Leading index: qd− 1.
Example
Largest maximal subgroup 211: M24≤ J4 index 173 067 389.
Critical for success: index of one stabiliser in its predecessor.
|Sn: Sn−1| = n
“Optimal” subgroup chain for GL(d , q)?
GL(d , q) ≥ qd −1.GL(d − 1, q) ≥ GL(d − 1, q) ≥ . . . Leading index: qd− 1.
Example
Largest maximal subgroup 211: M24≤ J4 index 173 067 389.
Geometry following Aschbacher
Aschbacher (1984)
G maximal subgroup of GL(d , q), let V be underlying vector space
G preserves somenatural linear structure associated with the action of G on V , and has normal subgroup related to this structure,
or G is almost simple modulo scalars: T ≤ G /Z ≤ Aut(T ) where T is simple.
Geometry following Aschbacher
Aschbacher (1984)
G maximal subgroup of GL(d , q), let V be underlying vector space
G preserves somenatural linear structure associated with the action of G on V , and has normal subgroup related to this structure,
or G is almost simple modulo scalars: T ≤ G /Z ≤ Aut(T ) where T is simple.
Geometry following Aschbacher
Aschbacher (1984)
G maximal subgroup of GL(d , q), let V be underlying vector space
G preserves somenatural linear structure associated with the action of G on V , and has normal subgroup related to this structure,
or G is almost simple modulo scalars: T ≤ G /Z ≤ Aut(T ) where T is simple.
Basic strategy
1 Determine (at least one of) its Aschbacher categories.
2 If N C G exists, recognise N and G /N recursively, ultimately obtaining a composition series for the group.
7 categories giving normal subgroup Example
G acts imprimitively on V , preserving r blocks, so V = ⊕ri =1Vi. Then φ : G → Sr where r |d and N = ker φ.
CompositionTree: exploits geometry to produce composition series for G , factors are leaves of tree.
Basic strategy
1 Determine (at least one of) its Aschbacher categories.
2 If N C G exists, recognise N and G /N recursively, ultimately obtaining a composition series for the group.
7 categories giving normal subgroup
Example
G acts imprimitively on V , preserving r blocks, so V = ⊕ri =1Vi. Then φ : G → Sr where r |d and N = ker φ.
CompositionTree: exploits geometry to produce composition series for G , factors are leaves of tree.
Basic strategy
1 Determine (at least one of) its Aschbacher categories.
2 If N C G exists, recognise N and G /N recursively, ultimately obtaining a composition series for the group.
7 categories giving normal subgroup Example
G acts imprimitively on V , preserving r blocks, so V = ⊕ri =1Vi.
Then φ : G → Sr where r |d and N = ker φ.
CompositionTree: exploits geometry to produce composition series for G , factors are leaves of tree.
Basic strategy
1 Determine (at least one of) its Aschbacher categories.
2 If N C G exists, recognise N and G /N recursively, ultimately obtaining a composition series for the group.
7 categories giving normal subgroup Example
G acts imprimitively on V , preserving r blocks, so V = ⊕ri =1Vi. Then φ : G → Sr where r |d and N = ker φ.
CompositionTree: exploits geometry to produce composition series for G , factors are leaves of tree.
Basic strategy
1 Determine (at least one of) its Aschbacher categories.
2 If N C G exists, recognise N and G /N recursively, ultimately obtaining a composition series for the group.
7 categories giving normal subgroup Example
G acts imprimitively on V , preserving r blocks, so V = ⊕ri =1Vi. Then φ : G → Sr where r |d and N = ker φ.