Combinatorial Logarithm¶
This file provides the cycle index series for the virtual species ,
the ‘combinatorial logarithm’, defined to be the compositional inverse of
the species
of nonempty sets:
AUTHORS:
- Andrew Gainer-Dewar (2013): initial version
TESTS:
sage: from sage.combinat.species.combinatorial_logarithm import CombinatorialLogarithmSeries
sage: CombinatorialLogarithmSeries().coefficients(5)
[0, p[1], -1/2*p[1, 1] - 1/2*p[2], 1/3*p[1, 1, 1] - 1/3*p[3], -1/4*p[1, 1, 1, 1] + 1/4*p[2, 2]]
sage: Eplus = sage.combinat.species.set_species.SetSpecies(min=1).cycle_index_series()
sage: CombinatorialLogarithmSeries().compose(Eplus).coefficients(4)
[0, p[1], 0, 0]
-
sage.combinat.species.combinatorial_logarithm.
CombinatorialLogarithmSeries
(R=Rational Field)¶ Return the cycle index series of the virtual species
, the compositional inverse of the species
of nonempty sets.
The notion of virtual species is treated thoroughly in [BLL]. The specific algorithm used here to compute the cycle index of
is found in [Labelle].
EXAMPLES:
The virtual species
is ‘properly virtual’, in the sense that its cycle index has negative coefficients:
sage: from sage.combinat.species.combinatorial_logarithm import CombinatorialLogarithmSeries sage: CombinatorialLogarithmSeries().coefficients(4) [0, p[1], -1/2*p[1, 1] - 1/2*p[2], 1/3*p[1, 1, 1] - 1/3*p[3]]
Its defining property is that
(that is, that composition with
in both directions yields the multiplicative identity
):
sage: Eplus = sage.combinat.species.set_species.SetSpecies(min=1).cycle_index_series() sage: CombinatorialLogarithmSeries().compose(Eplus).coefficients(4) [0, p[1], 0, 0]
REFERENCES:
[BLL] - Bergeron, G. Labelle, and P. Leroux. “Combinatorial species and tree-like structures”. Encyclopedia of Mathematics and its Applications, vol. 67, Cambridge Univ. Press. 1998.
[Labelle] - Labelle. “New combinatorial computational methods arising from pseudo-singletons.” DMTCS Proceedings 1, 2008.