A permutation vector
maps a set of \(n\) objects \(\{O_1, O_2, ..., O_n\}\) onto itself.
In seriation we represent a permutation \(\pi\)
as a vector which lists the objects in their permuted order.
For example, the permutation vector \(\langle3, 1, 2\rangle\) indicates that in first position is the object with index 3 then the object with index 1 and finally
the object with index 2.
A permutation vector can be extracted from a permuation vector object
via get_order()
. Such a permutation vector can be directly used
to subset the list of original objects with "["
to apply the permutation.
Note: An alternative way to specify a permutation is via a list of the ranks of the objects after permutation (see get_rank()
).
ser_permutation_vector
objects are usually packed into
a ser_permutation
object
which is a collection of \(k\) permutation vectors for \(k\)-mode data.
The constructor ser_permutation_vector
checks if the permutation vector is valid
(i.e. if all integers occur exactly once).
The following functions are implemented: print
, rev
,
length
, get_order
, get_rank
, get_method
.