Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

""" 

Combinatorial Logarithm 

 

This file provides the cycle index series for the virtual species `\Omega`, 

the 'combinatorial logarithm', defined to be the compositional inverse of 

the species `E^{+}` of nonempty sets: 

 

.. MATH:: 

 

\Omega \circ E^{+} = E^{+} \circ \Omega = X. 

 

.. warning:: 

 

This module is now deprecated. Please use 

:meth:`sage.combinat.species.generating_series.CycleIndexSeriesRing.exponential` 

instead of :func:`CombinatorialLogarithmSeries`. 

 

AUTHORS: 

 

- Andrew Gainer-Dewar (2013): initial version 

 

""" 

#***************************************************************************** 

# Copyright (C) 2013 Andrew Gainer-Dewar <andrew.gainer.dewar@gmail.com> 

# 

# Distributed under the terms of the GNU General Public License (GPL) 

# as published by the Free Software Foundation; either version 2 of 

# the License, or (at your option) any later version. 

# http://www.gnu.org/licenses/ 

#***************************************************************************** 

 

from sage.combinat.species.generating_series import LogarithmCycleIndexSeries 

from sage.rings.all import QQ 

from sage.misc.cachefunc import cached_function 

from sage.misc.superseded import deprecation 

 

@cached_function 

def CombinatorialLogarithmSeries(R=QQ): 

r""" 

Return the cycle index series of the virtual species `\Omega`, the compositional inverse 

of the species `E^{+}` of nonempty sets. 

 

The notion of virtual species is treated thoroughly in [BLL]_. The specific algorithm used 

here to compute the cycle index of `\Omega` is found in [Labelle]_. 

 

EXAMPLES: 

 

The virtual species `\Omega` 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) 

doctest:...: DeprecationWarning: CombinatorialLogarithmSeries is deprecated, use CycleIndexSeriesRing(R).logarithm_series() or CycleIndexSeries().logarithm() instead 

See http://trac.sagemath.org/14846 for details. 

[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 `\Omega \circ E^{+} = E^{+} \circ \Omega = X` (that is, that 

composition with `E^{+}` in both directions yields the multiplicative identity `X`):: 

 

sage: Eplus = sage.combinat.species.set_species.SetSpecies(min=1).cycle_index_series() 

sage: CombinatorialLogarithmSeries().compose(Eplus).coefficients(4) 

[0, p[1], 0, 0] 

""" 

deprecation(14846, "CombinatorialLogarithmSeries is deprecated, use CycleIndexSeriesRing(R).logarithm_series() or CycleIndexSeries().logarithm() instead") 

return LogarithmCycleIndexSeries(R)