Composition species

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

Bases: sage.combinat.species.species.GenericCombinatorialSpecies, sage.structure.unique_representation.UniqueRepresentation

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
sage: L == loads(dumps(L))
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)

Bases: sage.combinat.species.structure.GenericSpeciesStructure

TESTS:

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

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: 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