Skip to content

InversePermutation ​

The inverse σ−1\sigma^{-1} of a permutation, in whichever notation it was given: a one-line word back to a one-line word, Cycles back to Cycles.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageInversePermutation!
InversePermutation(perm)σ−1\sigma^{-1}, in the same notation as perm
Typed signatures
TypePackageApplies
(expression<Cycles> | list<integer>) -> expression<Cycles> | list<integer>groupalgebraalways

Domain: Permutations

Details
  • For a one-line word, σ−1(σ(i))=i\sigma^{-1}(\sigma(i)) = i for every ii
  • For Cycles, each cycle (i1 i2 … ik)(i_1\,i_2\,\dots\,i_k) inverts to (i1 ik … i2)(i_1\,i_k\,\dots\,i_2) — reversed but still starting at i1i_1

Examples

Basic #
live ↗
InInversePermutation([2,5,3,6,1,8,7,9,4,10])\mathrm{InversePermutation}(\bigl\lbrack2, 5, 3, 6, 1, 8, 7, 9, 4, 10\bigr\rbrack)Out[5,1,3,9,2,4,7,6,8,10]\bigl\lbrack5, 1, 3, 9, 2, 4, 7, 6, 8, 10\bigr\rbrack

Disjoint transpositions are their own inverse

live ↗
InInversePermutation(Cycles([[1,2],[3,4]]))\mathrm{InversePermutation}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack3, 4\bigr\rbrack\bigr\rbrack))OutCycles([[1,2],[3,4]])\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack3, 4\bigr\rbrack\bigr\rbrack)
live ↗
InInversePermutation(Cycles([[3,2,5,1],[4,7]]))\mathrm{InversePermutation}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack3, 2, 5, 1\bigr\rbrack, \bigl\lbrack4, 7\bigr\rbrack\bigr\rbrack))OutCycles([[3,1,5,2],[4,7]])\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack3, 1, 5, 2\bigr\rbrack, \bigl\lbrack4, 7\bigr\rbrack\bigr\rbrack)
Scope #
live ↗
InInversePermutation(Cycles([[1,2,5],[4,6,8,9]]))\mathrm{InversePermutation}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 2, 5\bigr\rbrack, \bigl\lbrack4, 6, 8, 9\bigr\rbrack\bigr\rbrack))OutCycles([[1,5,2],[4,9,8,6]])\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 5, 2\bigr\rbrack, \bigl\lbrack4, 9, 8, 6\bigr\rbrack\bigr\rbrack)

Each cycle reverses; large points need no dense list

live ↗
InInversePermutation(Cycles([[1,100,10 000],[1 000 000,100 000 000]]))\mathrm{InversePermutation}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 100, 10\,000\bigr\rbrack, \bigl\lbrack1\,000\,000, 100\,000\,000\bigr\rbrack\bigr\rbrack))OutCycles([[1,10 000,100],[1 000 000,100 000 000]])\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack1, 10\,000, 100\bigr\rbrack, \bigl\lbrack1\,000\,000, 100\,000\,000\bigr\rbrack\bigr\rbrack)
About
Examples5
Checked againstWolfram Language 4 agree1 differ
CrosswalkWolfram Language

See also: Cycles, PermutationCycles, Permute