Characteristic Species#

class sage.combinat.species.characteristic_species.CharacteristicSpecies(n, min=None, max=None, weight=None)#

Bases: GenericCombinatorialSpecies, UniqueRepresentation

Return the characteristic species of order \(n\).

This species has exactly one structure on a set of size \(n\) and no structures on sets of any other size.

EXAMPLES:

sage: X = species.CharacteristicSpecies(1)
sage: X.structures([1]).list()
[1]
sage: X.structures([1,2]).list()
[]
sage: X.generating_series()[0:4]
[0, 1, 0, 0]
sage: X.isotype_generating_series()[0:4]
[0, 1, 0, 0]
sage: X.cycle_index_series()[0:4]                                           # needs sage.modules
[0, p[1], 0, 0]

sage: F = species.CharacteristicSpecies(3)
sage: c = F.generating_series()[0:4]
sage: F._check()
True
sage: F == loads(dumps(F))
True
class sage.combinat.species.characteristic_species.CharacteristicSpeciesStructure(parent, labels, list)#

Bases: GenericSpeciesStructure

automorphism_group()#

Returns the group of permutations whose action on this structure leave it fixed. For the characteristic species, there is only one structure, so every permutation is in its automorphism group.

EXAMPLES:

sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: a.automorphism_group()                                                # needs sage.groups
Symmetric group of order 3! as a permutation group
canonical_label()#

EXAMPLES:

sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: a.canonical_label()
{'a', 'b', 'c'}
transport(perm)#

Return the transport of this structure along the permutation perm.

EXAMPLES:

sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: p = PermutationGroupElement((1,2))                                    # needs sage.groups
sage: a.transport(p)                                                        # needs sage.groups
{'a', 'b', 'c'}
sage.combinat.species.characteristic_species.CharacteristicSpecies_class#

alias of CharacteristicSpecies

class sage.combinat.species.characteristic_species.EmptySetSpecies(min=None, max=None, weight=None)#

Bases: CharacteristicSpecies

Returns the empty set species.

This species has exactly one structure on the empty set. It is the same (and is implemented) as CharacteristicSpecies(0).

EXAMPLES:

sage: X = species.EmptySetSpecies()
sage: X.structures([]).list()
[{}]
sage: X.structures([1,2]).list()
[]
sage: X.generating_series()[0:4]
[1, 0, 0, 0]
sage: X.isotype_generating_series()[0:4]
[1, 0, 0, 0]
sage: X.cycle_index_series()[0:4]                                           # needs sage.modules
[p[], 0, 0, 0]
sage.combinat.species.characteristic_species.EmptySetSpecies_class#

alias of EmptySetSpecies

class sage.combinat.species.characteristic_species.SingletonSpecies(min=None, max=None, weight=None)#

Bases: CharacteristicSpecies

Returns the species of singletons.

This species has exactly one structure on a set of size \(1\). It is the same (and is implemented) as CharacteristicSpecies(1).

EXAMPLES:

sage: X = species.SingletonSpecies()
sage: X.structures([1]).list()
[1]
sage: X.structures([1,2]).list()
[]
sage: X.generating_series()[0:4]
[0, 1, 0, 0]
sage: X.isotype_generating_series()[0:4]
[0, 1, 0, 0]
sage: X.cycle_index_series()[0:4]                                           # needs sage.modules
[0, p[1], 0, 0]
sage.combinat.species.characteristic_species.SingletonSpecies_class#

alias of SingletonSpecies