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
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
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
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)]
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')]
alias of CompositionSpecies