Iterator[Inversion]
PermutationToLeftInversion
convert permutation to left inversion table
Calling Sequence
Parameters
Description
Examples
References
Compatibility
PermutationToLeftInversion(a,b)
a
-
{list,rtable}; permutation of consecutive integers starting at one
b
rtable; (optional) storage for inversion table
PermutationToLeftInversion 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 b 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, b, indexed from 1 to n, with bj the number of elements to the left of j in a that are greater than j.
with⁡Iterator:-Inversion:
PermutationToLeftInversion⁡1,2,3,4
0000
PermutationToLeftInversion⁡4,3,2,1
3210
Use an existing vector to store the computed inversion table. Doing so reduces memory allocation when converting permutations to inversion tables in a loop.
b ≔ Vector⁡4:
PermutationToLeftInversion⁡4,3,2,1,b:
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][PermutationToLeftInversion] command was introduced in Maple 2016.
For more information on Maple 2016 changes, see Updates in Maple 2016.
See Also
Iterator
Download Help Document
What kind of issue would you like to report? (Optional)