A factorization algorithm for G-algebras and its applications