Empty Species

class sage.combinat.species.empty_species.EmptySpecies(min=None, max=None, weight=None)[source]

Bases: GenericCombinatorialSpecies, UniqueRepresentation

Return the empty species. This species has no structure at all. It is the zero of the semi-ring of species.

EXAMPLES:

sage: X = species.EmptySpecies(); X
Empty species
sage: X.structures([]).list()
[]
sage: X.structures([1]).list()
[]
sage: X.structures([1,2]).list()
[]
sage: X.generating_series()[0:4]
[0, 0, 0, 0]
sage: X.isotype_generating_series()[0:4]
[0, 0, 0, 0]
sage: X.cycle_index_series()[0:4]                                               # needs sage.modules
[0, 0, 0, 0]
>>> from sage.all import *
>>> X = species.EmptySpecies(); X
Empty species
>>> X.structures([]).list()
[]
>>> X.structures([Integer(1)]).list()
[]
>>> X.structures([Integer(1),Integer(2)]).list()
[]
>>> X.generating_series()[Integer(0):Integer(4)]
[0, 0, 0, 0]
>>> X.isotype_generating_series()[Integer(0):Integer(4)]
[0, 0, 0, 0]
>>> X.cycle_index_series()[Integer(0):Integer(4)]                                               # needs sage.modules
[0, 0, 0, 0]
X = species.EmptySpecies(); X
X.structures([]).list()
X.structures([1]).list()
X.structures([1,2]).list()
X.generating_series()[0:4]
X.isotype_generating_series()[0:4]
X.cycle_index_series()[0:4]                                               # needs sage.modules

The empty species is the zero of the semi-ring of species. The following tests that it is neutral with respect to addition:

sage: Empt  = species.EmptySpecies()
sage: S = species.CharacteristicSpecies(2)
sage: X = S + Empt
sage: X == S    # TODO: Not Implemented
True
sage: (X.generating_series()[0:4] ==
....:  S.generating_series()[0:4])
True
sage: (X.isotype_generating_series()[0:4] ==
....:  S.isotype_generating_series()[0:4])
True
sage: (X.cycle_index_series()[0:4] ==                                           # needs sage.modules
....:  S.cycle_index_series()[0:4])
True
>>> from sage.all import *
>>> Empt  = species.EmptySpecies()
>>> S = species.CharacteristicSpecies(Integer(2))
>>> X = S + Empt
>>> X == S    # TODO: Not Implemented
True
>>> (X.generating_series()[Integer(0):Integer(4)] ==
...  S.generating_series()[Integer(0):Integer(4)])
True
>>> (X.isotype_generating_series()[Integer(0):Integer(4)] ==
...  S.isotype_generating_series()[Integer(0):Integer(4)])
True
>>> (X.cycle_index_series()[Integer(0):Integer(4)] ==                                           # needs sage.modules
...  S.cycle_index_series()[Integer(0):Integer(4)])
True
Empt  = species.EmptySpecies()
S = species.CharacteristicSpecies(2)
X = S + Empt
X == S    # TODO: Not Implemented
(X.generating_series()[0:4] ==
 S.generating_series()[0:4])
(X.isotype_generating_series()[0:4] ==
 S.isotype_generating_series()[0:4])
(X.cycle_index_series()[0:4] ==                                           # needs sage.modules
 S.cycle_index_series()[0:4])

The following tests that it is the zero element with respect to multiplication:

sage: Y = Empt*S
sage: Y == Empt   # TODO: Not Implemented
True
sage: Y.generating_series()[0:4]
[0, 0, 0, 0]
sage: Y.isotype_generating_series()[0:4]
[0, 0, 0, 0]
sage: Y.cycle_index_series()[0:4]                                               # needs sage.modules
[0, 0, 0, 0]
>>> from sage.all import *
>>> Y = Empt*S
>>> Y == Empt   # TODO: Not Implemented
True
>>> Y.generating_series()[Integer(0):Integer(4)]
[0, 0, 0, 0]
>>> Y.isotype_generating_series()[Integer(0):Integer(4)]
[0, 0, 0, 0]
>>> Y.cycle_index_series()[Integer(0):Integer(4)]                                               # needs sage.modules
[0, 0, 0, 0]
Y = Empt*S
Y == Empt   # TODO: Not Implemented
Y.generating_series()[0:4]
Y.isotype_generating_series()[0:4]
Y.cycle_index_series()[0:4]                                               # needs sage.modules
sage.combinat.species.empty_species.EmptySpecies_class[source]

alias of EmptySpecies