Composition species¶

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

Returns the composition of two species.

EXAMPLES:

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


TESTS:

sage: E = species.SetSpecies(); C = species.CycleSpecies()
sage: L = E(C)
sage: c = L.generating_series().coefficients(3)
sage: L._check() #False due to isomorphism types not being implemented
False
True

weight_ring()

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

class sage.combinat.species.composition_species.CompositionSpeciesStructure(parent, labels, pi, f, gs)

TESTS:

sage: E = species.SetSpecies(); C = species.CycleSpecies()
sage: L = E(C)
sage: a = L.structures(['a','b','c']).random_element()
True

change_labels(labels)

EXAMPLES:

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

transport(perm)

EXAMPLES:

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

sage.combinat.species.composition_species.CompositionSpecies_class

alias of CompositionSpecies

Sum species

Next topic

Functorial composition species