It is well known that every finite abelian group G can be represented as a direct product of cyclic groups: G ≅ G 1 × G 2 × ⋯ × G t , where each G i is a cyclic group of order p j for some prime p and integer j ≥ 1 . If a i generates the cyclic group of G i , i = 1 , 2 , … , t , then the elements a 1 , a 2 , … , a t are called a basis of G . We show a randomized algorithm such that given a set of generators M = { x 1 , … , x k } for an abelian group G and the prime factorization of order ord ( x i ) ( i = 1 , … , k ) , it computes a basis of G in O ( | M | ( log n ) 2 + ∑ i = 1 t n i p i n i / 2 ) time, where n = | G | has prime factorization p 1 n 1 p 2 n 2 ⋯ p t n t (which is not a part of input). This generalizes Buchmann and Schmidt’s algorithm that takes O ( | M | | G | ) time. In another model, all elements in an abelian group are put into a list as a part of input. We obtain an O ( n ) time deterministic algorithm and a sublinear time randomized algorithm for computing a basis of an abelian group.
Read full abstract