# Composition species#

class sage.combinat.species.composition_species.CompositionSpecies(F, G, min=None, max=None, weight=None)[source]#

Returns the composition of two species.

EXAMPLES:

sage: E = species.SetSpecies()
sage: C = species.CycleSpecies()
sage: S = E(C)
sage: S.generating_series()[:5]
[1, 1, 1, 1, 1]
sage: E(C) is S
True

>>> from sage.all import *
>>> E = species.SetSpecies()
>>> C = species.CycleSpecies()
>>> S = E(C)
>>> S.generating_series()[:Integer(5)]
[1, 1, 1, 1, 1]
>>> E(C) is S
True

weight_ring()[source]#

Returns the weight ring for this species. This is determined by asking Sage’s coercion model what the result is when you multiply (and add) elements of the weight rings for each of the operands.

EXAMPLES:

sage: E = species.SetSpecies(); C = species.CycleSpecies()
sage: L = E(C)
sage: L.weight_ring()
Rational Field

>>> from sage.all import *
>>> E = species.SetSpecies(); C = species.CycleSpecies()
>>> L = E(C)
>>> L.weight_ring()
Rational Field

class sage.combinat.species.composition_species.CompositionSpeciesStructure(parent, labels, pi, f, gs)[source]#
change_labels(labels)[source]#

Return a relabelled structure.

INPUT:

• labels, a list of labels.

OUTPUT:

A structure with the i-th label of self replaced with the i-th label of the list.

EXAMPLES:

sage: E = species.SetSpecies(); C = species.CycleSpecies()
sage: L = E(C)
sage: S = L.structures(['a','b','c']).list()                                # needs sage.libs.flint
sage: a = S[2]; a                                                           # needs sage.libs.flint
F-structure: {{'a', 'c'}, {'b'}}; G-structures: (('a', 'c'), ('b'))
sage: a.change_labels([1,2,3])                                              # needs sage.libs.flint
F-structure: {{1, 3}, {2}}; G-structures: [(1, 3), (2)]

>>> from sage.all import *
>>> E = species.SetSpecies(); C = species.CycleSpecies()
>>> L = E(C)
>>> S = L.structures(['a','b','c']).list()                                # needs sage.libs.flint
>>> a = S[Integer(2)]; a                                                           # needs sage.libs.flint
F-structure: {{'a', 'c'}, {'b'}}; G-structures: (('a', 'c'), ('b'))
>>> a.change_labels([Integer(1),Integer(2),Integer(3)])                                              # needs sage.libs.flint
F-structure: {{1, 3}, {2}}; G-structures: [(1, 3), (2)]

transport(perm)[source]#

EXAMPLES:

sage: p = PermutationGroupElement((2,3))                                    # needs sage.groups
sage: E = species.SetSpecies(); C = species.CycleSpecies()
sage: L = E(C)
sage: S = L.structures(['a','b','c']).list()                                # needs sage.libs.flint
sage: a = S[2]; a                                                           # needs sage.libs.flint
F-structure: {{'a', 'c'}, {'b'}}; G-structures: (('a', 'c'), ('b'))
sage: a.transport(p)                                                        # needs sage.groups sage.libs.flint
F-structure: {{'a', 'b'}, {'c'}}; G-structures: (('a', 'c'), ('b'))

>>> from sage.all import *
>>> p = PermutationGroupElement((Integer(2),Integer(3)))                                    # needs sage.groups
>>> E = species.SetSpecies(); C = species.CycleSpecies()
>>> L = E(C)
>>> S = L.structures(['a','b','c']).list()                                # needs sage.libs.flint
>>> a = S[Integer(2)]; a                                                           # needs sage.libs.flint
F-structure: {{'a', 'c'}, {'b'}}; G-structures: (('a', 'c'), ('b'))
>>> a.transport(p)                                                        # needs sage.groups sage.libs.flint
F-structure: {{'a', 'b'}, {'c'}}; G-structures: (('a', 'c'), ('b'))

sage.combinat.species.composition_species.CompositionSpecies_class[source]#

alias of CompositionSpecies