Normalizing group intersection problem: Difference between revisions

From Groupprops
No edit summary
 
Line 29: Line 29:
Now, intersect each member of this descending chain with <math>G_2</math>, to get:
Now, intersect each member of this descending chain with <math>G_2</math>, to get:


<math>G_2 \geq G_2 \cap G_1G_2^{(1)} \geq \ldots G_1 \cap G_2</math>
<math>G_2 \geq G_2 \cap G_1G_2^{(1)} \geq \ldots G_2 \cap G_1</math>


Now notice that at each stage (intersection the pointwise stabilizer with <math.G_2</math>, multiplying with <math>G_1</math>, and again intersecting with <math>G_2</math>, the index does not increse. Since we know that <math>[G_2^{(i)}:G_2^{(i+1)}] \leq n-i</math>, we conclude that even in the final descending chain, the indices are bounded by <math>n-i</math>.
Now notice that at each stage (intersection the pointwise stabilizer with <math.G_2</math>, multiplying with <math>G_1</math>, and again intersecting with <math>G_2</math>, the index does not increse. Since we know that <math>[G_2^{(i)}:G_2^{(i+1)}] \leq n-i</math>, we conclude that even in the final descending chain, the indices are bounded by <math>n-i</math>.


The idea is now to start from a generating set of <math>G_1G_2^{(i)}</math> and use that to manufacture a generating set of <math>G_1G_2^{(i+1)}</math>.
The idea is now to start from a generating set of <math>G_2 \cap G_1G_2^{(i)}</math> and use that to manufacture a generating set of <math>G_2 \cap G_1G_2^{(i+1)}</math>.


===The outline for doing that===
===The outline for doing that===
We now need to justify how, at each step, we can use a generating set for <math>G_2 \cap G_1G_2^{(i)}</math> to manufacture a generating set of <math>G_2 \cap G_1G_2^{(i+1)}</math>.
First, do the following:
* Using the [[Schreier-Sims algorithm]] (in a white box fashion) compute generating sets for all the <math>G_2^{(i)}</math>s.
* From this, thus compute generating sets for all the groups <math>G_1G_2^{(i)}</math> (by taking union with the generating set for <math>G_1</math>).
* From this, obtain a membership test for <math>G_1G_2^{(i)}</math> (use here the fact that the [[membership testing problem]] can be solved for permutation groups).
* Using this and the membership test for <math>G_2</math>, obtain a membership test for <math>G_2 \cap G_1G_2^{(i)}</math> for every <math>i</math>.
Now that we have membership tests for everything in the descending chain, we can use the method for [[finding a generating set from a membership test]], one by one at each step of the chain.
Note the following:
* At each step of the chain, the index is bounded by <math>n</math>. Hence, the size of the new generating set is at most <math>n</math> times that of its predecessor.
* We can apply a filter at each step to make sure that the overall size of the generating set remains bounded.
===Analysis of running time===

Revision as of 08:29, 23 February 2007

Description

Given data

Our universe is some group (such as a linear group or a permutation group) in which products and inverses can be readily computed.

Two groups and in are specified by means of their generating sets and . We are also given that is a normalizing subgroup for , viz every element of normalizes the subgroup of .

Goal

We are required to determine a generating set for .

Solution

The underlying descending chain

We have the goal of computing . First, consider the descending chain of subgroups:

Here, denotes the subgroup of comprising permutations that fix the first elements in the set. In other words .

Multiplying all terms by :

Each of these is a subgroup because normalizes every element of .

Now, intersect each member of this descending chain with , to get:

Now notice that at each stage (intersection the pointwise stabilizer with <math.G_2</math>, multiplying with , and again intersecting with , the index does not increse. Since we know that , we conclude that even in the final descending chain, the indices are bounded by .

The idea is now to start from a generating set of and use that to manufacture a generating set of .

The outline for doing that

We now need to justify how, at each step, we can use a generating set for to manufacture a generating set of .

First, do the following:

  • Using the Schreier-Sims algorithm (in a white box fashion) compute generating sets for all the s.
  • From this, thus compute generating sets for all the groups (by taking union with the generating set for ).
  • From this, obtain a membership test for (use here the fact that the membership testing problem can be solved for permutation groups).
  • Using this and the membership test for , obtain a membership test for for every .

Now that we have membership tests for everything in the descending chain, we can use the method for finding a generating set from a membership test, one by one at each step of the chain.

Note the following:

  • At each step of the chain, the index is bounded by . Hence, the size of the new generating set is at most times that of its predecessor.
  • We can apply a filter at each step to make sure that the overall size of the generating set remains bounded.

Analysis of running time