Schreier vector

In mathematics, especially the field of computational group theory, a Schreier vector is a tool for reducing the time and space complexity required to calculate orbits of a permutation group.
Overview.
Suppose G is a finite group with generating sequence formula_1 which acts on the finite set formula_2. A common task in computational group theory is to compute the orbit of some element formula_3 under G. At the same time, one can record a Schreier vector for formula_4. This vector can then be used to find an element formula_5 satisfying formula_6, for any formula_7. Use of Schreier vectors to perform this requires less storage space and time complexity than storing these g explicitly.
Formal definition.
All variables used here are defined in the overview.
A Schreier vector for formula_3 is a vector formula_9 such that:
Use in algorithms.
Here we illustrate, using pseudocode, the use of Schreier vectors in two algorithms