Composition species#
- class sage.combinat.species.composition_species.CompositionSpecies(F, G, min=None, max=None, weight=None)[source]#
Bases:
GenericCombinatorialSpecies
,UniqueRepresentation
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]#
Bases:
GenericSpeciesStructure
- 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