Permutation group algorithm for membership testing
This article describes a basic decision problem in computational group theory
This article describes a problem in the setup where the group(s) involved is/are defined by means of an embedding in a suitable universe group (such as a linear or a permutation group) -- viz in terms of generators described as elements sitting inside this universe group
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.
A group in is specified by a generating set , and an element in is given.
Goal
We are required to determine whether is in .
Default
By default, when we refer to the membership testing problem, we refer to the membership testing problem in permutation groups, viz is the symmetric group on a finite set. For a study of the problem on linear groups, refer membership testing problem for linear groups.
Relation with other problems
Problems it reduces to
- Order-finding problem: Suppose we have an algorithm that, given any generating set, computes the order of the group generated by that generating set. Then, we can compute the order of the group (generated by ) and separately compute the order of the group generated by along with . is in if and only if the two orders are equal.
Problems that are solved using it
- Subgroup testing problem: For this problem, we are given sets and inside and we are asked whether the group generated by contains the group generated by . The subgroup testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea of the reduction is to check, for each element in , whether it is a member of .
- Normality testing problem: Given generating sets for and for , the problem asks whether is a normal subgroup of . The normality testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea is to first use the subgroup testing problem and to then check whether every conjugate of an element in by an element in must be in .
- Normal closure-finding: This is solved using the normality testing problem
- Subnormality testing problem: This is solved using the normal closure-finding algorithm
Turing description (for the permutation case)
Given data
Here, is the symmetric group on a finite set of cardinality . Then, we specify the following in the input:
- The value of
- Every element of as a permutation on letters (using any of the standard methods for describing a permutation)
- A permutation on letters (using the same standard method of describing a permutation)
The input length is thus something like times the cardinality of . (the arises from the length of each permutation description.
Goal
We need to determine whether the given permutation lies inside the subgroup generated by .
Time complexity
The time complexity of any algorithm for membership testing is measured as a function of and the cardinality of .
Solution
Outline
Appealing to the order-finding problem, we have the idea outlined above, find the order of , and of the group generated by along with , and check if these values are equal.
However, looking inside the algorithm for the order-finding problem helps us solve membership testing, not just as a decision problem, but also in terms of getting a word in the generators for the given element (if indeed it is a member).
The idea is as follows:
PLACEHOLDER FOR INFORMATION TO BE FILLED IN: [SHOW MORE]