An algorithm for computing a minimal invariant partition of a permutation group due to Atkinson is analysed. The analysis shows the algorithm is O ( n 2 ), where n is the degree of the group. The leading coefficient is 3/2. Some suggested speed-ups are also analysed. The speed-ups imply that the cost of testing primitivity is O ( n 3 ), with a leading coefficent of 19/16.Careful use of linked lists to represent subsets of the partition leads to an O ( nlogn ) algorithm for computing a minimal invariant partition, and an O ( n 2 logn ) algorithm for testing primitivity. For both algorithms, the leading coefficient is 1.The use of trees to represent subsets, and the technique of path compression, lead to an O ( nG ( n )|S|) algorithm, where S is the set of generators for the group, and G (n) is a very slow growing function related to Ackermann's function, for computing the minimal invariant partition. The leading coefficient is such that, for degrees less than 1,000,000, the linked list version gives a smaller bound.
Read more