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
.