Randomized black-box group algorithm for fixed-class nilpotency testing
Summary
Item | Value |
---|---|
Problem being solved | fixed-class nilpotency testing problem: determine whether a group is nilpotent of a given nilpotency class , i.e., if the nilpotency class is at most the specified value . |
Input format | a finite group given via an encoding of a group. A positive integer . A mechanism for picking elements uniformly at random, independently over the elements of , as many times as necessary |
Output format | Maybe/No, with Maybe if the group may be nilpotent of class at most the specified value (but we're not sure) and No if the group is not (nilpotent of class at most the specified value). In the latter case, can also output a proof in the form of a tuple of length whose left-normed iterated commutator is not the identity. Moreover, the probability (over random choices made) of outputing Maybe if the answer is No can be made arbitrarily small with a trade-off between the probability and the constant behind the big-oh notation in the time taken by the algorithm. |
Running time | ( plus times the time for group operations) times (this terms describes the fact that the larger the value of , the more the number of times the randomized test needs to run in order to achieve a fixed threshold probability of certainty). |
Facts
Idea and outline
The idea is simple: pick a random tuple of elements and compute the left-normed iterated commutator . If has class at most , this equals the identity element. Otherwise, by the fact that fixed-class tuple fraction is bounded away from one for groups not of that class, the probability of this being equal to the identity element is at most .
If the test is done times, the probability that a group not of class at most will fool the test all times is at most:
If we want to bring this probability down to less than a given number , choose greater than:
Analysis of running time
Each step involves a selection of random elements, which, due to lookup and recording costs, takes time. Then, it involves the group multiplication and equality checking, done times.
The number of steps that we need to perform depends on . As noted above, if we want an error probability of at most , we need to choose the number of times as:
This is .