equivalent_shifts_edges uses function enumerate_parsimony
to find all the shifts positions that are equivalent to a given one.
equivalent_shifts_edges(phylo, shifts_edges,
part.list = enumerate_tips_under_edges(phylo))a phylogenetic tree, class phylo.
a vector of shifts positions on the edges of the tree.
(optional) list of partition of the tree, result of function
enumerate_tips_under_edges.
a matrix with as many columns as equivalent allocation, each column representing a possible parsimonious allocation of shifts on the tree.
This function is uses functions enumerate_parsimony for the
actual computation of equivalent regimes,
clusters_from_shifts for the clustering of the tips induced
by the original set of shifts given, and
allocate_shifts_from_regimes to convert back a parametrization
in term of regimes to a parametrization in term of shifts.