Endofunctions of given cycle type |
INT endof_week_cycletype(n,L,m,erg) OP n,L,m,erg;The set L is coded as a VECTOR
L
such that
S_V_I(L,i)
for i
=0,...,S_V_LI(L)
-1
are all the prescribed cycle lengths.
The multiplicity of the cycle length S_V_I(L,i)
must be described
in S_V_I(m,i)
. (m
is a VECTOR object of the same length
as L
.) The multiplicities must be chosen from the set
{0,1,2,...} .
The number of elements in the domain and range is given by the
INTEGER object n
, and erg
is the number of all endofunctions
having these prescribed cycle properties.
Renaming the elements of X leads to a group action on the set of all endofunctions on X. The number of orbits of endofunctions of prescribed cycle properties can be computed by
INT endof_orbits_week_cycletype(n,L,m,erg) OP n,L,m,erg;
In the case when the cycle type of an endofunction is prescribed (i.e. the set L is given by {1,2,...,|X|} ) then the two routines above can be replaced by
INT endof_of_cycletype(n,m,erg) OP n,m,erg; INT endof_orbits_of_cycletype(n,m,erg) OP n,m,erg;where
n
is the cardinality of X, m
is a VECTOR object
such that for i
=0,...,n-1 the INTEGER object
S_V_I(m,i)
gives the multiplicity of the length i
+1.
As a special case of the formulae above we can compute the number of all rooted trees using the routine
INT rooted_trees_from_zykelind(a,b) OP a,b;where
b
is the number of rooted trees on a
nodes.
(The root is considered to be one of the nodes.)
There is a recursive routine for enumerating rooted trees as well:
INT rooted_trees_rec(a,b) OP a,b;where
b
is the number of rooted trees on a
nodes.
For enumerating functional digraphs (these are endofunctions having no fixed points) you can use
INT functional_digraphs(a,b) OP a,b;where
b
is the number of functional digraphs on a
vertices.
When preparing [9] we found a recursive formula for determining the number of all endofunctions on X having no cycles of length l for all l in a given set L of cycle lengths. This formula is used in
INT schoepf_rec(n,L,erg) OP n,L,erg;where
n
is the cardinality of X, L
is a VECTOR object
the entries of which are the cycle lengths that may not occur
and erg
is the number of all the endofunctions with
these properties.
Endofunctions of given cycle type |