EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F._check()
True
sage: F == loads(dumps(F))
True
Returns the generating series of this species.
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F.cycle_index_series().coefficients(5)
[2*p[],
2*p[1],
2*p[1, 1] + 2*p[2],
2*p[1, 1, 1] + 2*p[2, 1] + 2*p[3],
2*p[1, 1, 1, 1] + 2*p[2, 1, 1] + 2*p[2, 2] + 2*p[3, 1] + 2*p[4]]
Returns the right hand side of an algebraic equation satisfied by this species. This is a utility function called by the algebraic_equation_system method.
EXAMPLES:
sage: X = species.SingletonSpecies()
sage: S = X + X
sage: S.algebraic_equation_system()
[node1 - 2*z]
Returns the cycle index series of this species.
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F.generating_series().coefficients(5)
[2, 2, 2, 2, 2]
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F.isotypes([1,2]).list()
[[2, 1], [1, 2], [2, 1], [1, 2]]
Returns the isomorphism type generating series of this species.
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F.isotype_generating_series().coefficients(5)
[2, 2, 4, 6, 10]
Note that we use a function to return the name of this species because we can’t do it in the __init__ method due to it requiring that self._F and self._G already be unpickled.
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F._name()
'Sum of (Permutation species) and (Permutation species)'
EXAMPLES:
sage: P = species.PermutationSpecies()
sage: F = P + P
sage: F.structures([1,2]).list()
[[1, 2], [2, 1], [1, 2], [2, 1]]
Returns the weight ring for this species. This is determined by asking Sage’s coercion model what the result is when you add elements of the weight rings for each of the operands.
EXAMPLES:
sage: S = species.SetSpecies()
sage: C = S+S
sage: C.weight_ring()
Rational Field
sage: S = species.SetSpecies(weight=QQ['t'].gen())
sage: C = S + S
sage: C.weight_ring()
Univariate Polynomial Ring in t over Rational Field