'Return a group element which sends ``alpha`` to ``beta``.
If ``beta`` is not in the orbit of ``alpha``, the function returns
``False``. This implementation makes use of the schreier vector.
For a proof of correctness, see [1], p.80
Examples
>>> from sympy.combinatorics import Permutation
>>> Permutation.print_cyclic = True
>>> from sympy.combinatorics.perm_groups import PermutationGroup
>>> from sympy.combinatorics.named_groups import AlternatingGroup
>>> G = AlternatingGroup(5)
>>> G.orbit_rep(0, 4)
(0 4 1 2 3)
See Also
schreier_vector'

def orbit_rep(self, alpha, beta, schreier_vector=None):

    if (schreier_vector is None):
        schreier_vector = self.schreier_vector(alpha)
    if (schreier_vector[beta] is None):
        return False
    k = schreier_vector[beta]
    gens = [x._array_form for x in self.generators]
    a = []
    while (k != (-1)):
        a.append(gens[k])
        beta = gens[k].index(beta)
        k = schreier_vector[beta]
    if a:
        return _af_new(_af_rmuln(*a))
    else:
        return _af_new(list(range(self._degree)))
