/** * Returns a set of right coset representatives of a given subgroup in this group (by definition, right coset of * subgroup K have a form K*g). The number of these representatives is equals to * {@code this.order().divide(subgroup.order())}. This method calculates left coset representatives * using {@link #leftCosetRepresentatives(PermutationGroup)} and inverse each representative. In contrast to * {@link #leftCosetRepresentatives(PermutationGroup)} each right coset representative is not necessary minimal in * its coset. * * @param subgroup a subgroup of this group * @return set of right coset representatives * @see #leftCosetRepresentatives(PermutationGroup) */ public Permutation[] rightCosetRepresentatives(PermutationGroup subgroup) { final Permutation[] reps = leftCosetRepresentatives(subgroup); for (int i = 0; i < reps.length; ++i) reps[i] = reps[i].inverse(); return reps; }
@Override public Permutation commutator(Permutation p) { return inverse().composition(p.inverse(), this, p); }
/** * Calculates the transversal of specified point (u<sub>β</sub>), i.e. the element * u<sub>β</sub> such that β<sub>i</sub><sup>u<sub>β</sub></sup> = β. * * @param point point * @return element that maps this base point to the specified point. * @see #getInverseTransversalOf(int) */ public Permutation getTransversalOf(int point) { Permutation transversal = getInverseTransversalOf(point).inverse(); assert transversal.newIndexOf(basePoint) == point; return transversal; }
@Override public Permutation commutator(Permutation p) { return inverse().composition(p.inverse(), this, p); }
@Override public Permutation commutator(Permutation p) { return inverse().composition(p.inverse(), this, p); }
@Override public Permutation commutator(Permutation p) { return inverse().composition(p.inverse(), this, p); }
pt = pt.inverse();
Permutation inverse = conjugation.inverse(); ListIterator<BSGSCandidateElement> elementsIterator = BSGS.listIterator(positionOfFirstChanged); while (elementsIterator.hasNext()) {
Permutation SchreierGenerator = transversalOfBeta.composition(stabilizer, transversalOfBetaX.inverse());
Permutation SchreierGenerator = transversalOfBeta.composition(stabilizer, transversalOfBetaX.inverse());