• 沒有找到結果。

Algorithms for matrix groups

N/A
N/A
Protected

Academic year: 2022

Share "Algorithms for matrix groups"

Copied!
105
0
0

加載中.... (立即查看全文)

全文

(1)

Algorithms for matrix groups

Eamonn O’Brien

University of Auckland

December 2010

(2)

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.

(3)

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.

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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.

(11)

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.

(12)

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.

(13)

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.

(14)

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.

(15)

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.

(16)

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.

(17)

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.

(18)

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.

(19)

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.

(20)

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.

(21)

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.

(22)

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.

(23)

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.

(24)

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.

(25)

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

(26)

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 .

(27)

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 .

(28)

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 .

(29)

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 .

(30)

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 .

(31)

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`.

(32)

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`.

(33)

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`.

(34)

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`.

(35)

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`.

(36)

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`.

(37)

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.

(38)

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.

(39)

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.

(40)

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.

(41)

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.

(42)

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.

(43)

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.

(44)

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.

(45)

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.

(46)

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.

(47)

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.

(48)

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.

(49)

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.

(50)

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.

(51)

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.

(52)

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.

(53)

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.

(54)

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.

(55)

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 .

(56)

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 |).

(57)

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 |).

(58)

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 |).

(59)

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 |).

(60)

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 |).

(61)

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.

(62)

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.

(63)

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.

(64)

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.

(65)

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.

(66)

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.

(67)

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.

(68)

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.

(69)

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.

(70)

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.

(71)

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.

(72)

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.

(73)

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

(74)

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.

(75)

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.

(76)

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.

(77)

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.

(78)

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

(79)

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)}

(80)

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)}

(81)

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

(82)

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.

(83)

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.

(84)

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.

(85)

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.

(86)

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.

(87)

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.

(88)

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

(89)

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

(90)

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

(91)

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

(92)

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

(93)

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

(94)

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.

(95)

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.

(96)

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.

(97)

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.

(98)

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.

(99)

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.

(100)

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.

(101)

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.

(102)

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.

(103)

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.

(104)

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.

(105)

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 φ.

參考文獻

相關文件

Each contracting State agrees that all aircraft of the other contracting States, being aircraft not engaged in scheduled international air services shall have the right, subject to

Attitude determines state, the state decided to state of mind.. John:I’m planning to go camping next weekend with my

S15 Expectation value of the total spin-squared operator h ˆ S 2 i for the ground state of cationic n-PP as a function of the chain length, calculated using KS-DFT with various

In an Ising spin glass with a large number of spins the number of lowest-energy configurations (ground states) grows exponentially with increasing number of spins.. It is in

Monopolies in synchronous distributed systems (Peleg 1998; Peleg

y A stochastic process is a collection of &#34;similar&#34; random variables ordered over time.. variables ordered

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..