Iterator[Inversion]
PermutationToRightInversion
convert permutation to right inversion table
Calling Sequence
Parameters
Description
Examples
References
Compatibility
PermutationToRightInversion(a,c)
a
-
{list,rtable}; permutation of integers starting at one
c
rtable; (optional) storage for inversion table
PermutationToRightInversion returns the inversion table of a permutation, a, of the integers 1 to n.
The a parameter is a permutation of the consecutive integers from 1 to n; it may be a list or a one-dimensional rtable indexed from one.
The optional c parameter is a one-dimensional rtable indexed from 1 with at least n slots. If provided, it is used to store the inversion table.
The output is an Array, c, indexed from 1 to n, with cj the number of elements to the right of j in a that are less than j.
with⁡Iterator:-Inversion:
PermutationToRightInversion⁡1,2,3,4
0000
PermutationToRightInversion⁡4,3,2,1
0123
Use an existing vector to store the computed inversion table. Doing so reduces memory allocation when converting permutations to inversion tables in a loop.
c≔Vector⁡4:
PermutationToRightInversion⁡4,3,2,1,c:
Knuth, Donald Ervin. The Art of Computer Programming, volume 3, 2nd ed. sorting and searching, sec. 5.1.1, inversions, pp. 11-17 and exercise 7, p. 18.
The Iterator[Inversion][PermutationToRightInversion] command was introduced in Maple 2016.
For more information on Maple 2016 changes, see Updates in Maple 2016.
See Also
Iterator
Download Help Document