EXAMPLES:
sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures([1, 2, 3]).random_element(); a
{1, 2, 3}
sage: F = species.SingletonSpecies()
sage: F.structures([1]).list()
[1]
sage: F = species.EmptySetSpecies()
sage: F.structures([]).list()
[{}]
Returns the group of permutations whose action on this structure leave it fixed. For the characteristic species, there is only one structure, so every permutation is in its automorphism group.
EXAMPLES:
sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: a.automorphism_group()
Symmetric group of order 3! as a permutation group
EXAMPLES:
sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: a.canonical_label()
{'a', 'b', 'c'}
Returns the transport of this structure along the permutation perm.
EXAMPLES:
sage: F = species.CharacteristicSpecies(3)
sage: a = F.structures(["a", "b", "c"]).random_element(); a
{'a', 'b', 'c'}
sage: p = PermutationGroupElement((1,2))
sage: a.transport(p)
{'a', 'b', 'c'}
EXAMPLES:
sage: F = species.CharacteristicSpecies(3)
sage: c = F.generating_series().coefficients(4)
sage: F._check()
True
sage: F == loads(dumps(F))
True
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: g = F.cycle_index_series()
sage: g.coefficients(5)
[0, 0, 1/2*p[1, 1] + 1/2*p[2], 0, 0]
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: C = species.CharacteristicSpecies(2)
sage: Qz = QQ['z']
sage: R.<node0> = Qz[]
sage: var_mapping = {'z':Qz.gen(), 'node0':R.gen()}
sage: C._equation(var_mapping)
z^2
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: F.generating_series().coefficients(5)
[0, 0, 1/2, 0, 0]
sage: F.generating_series().count(2)
1
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: l = [1, 2, 3]
sage: F.structures(l).list()
[]
sage: F = species.CharacteristicSpecies(3)
sage: F.structures(l).list()
[{1, 2, 3}]
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: F.isotype_generating_series().coefficients(5)
[0, 0, 1, 0, 0]
Here we test out weighting each structure by q.
sage: R.<q> = ZZ[]
sage: Fq = species.CharacteristicSpecies(2, weight=q)
sage: Fq.isotype_generating_series().coefficients(5)
[0, 0, q, 0, 0]
Returns the order of the generating series.
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: F._order()
2
EXAMPLES:
sage: F = species.CharacteristicSpecies(2)
sage: l = [1, 2, 3]
sage: F.structures(l).list()
[]
sage: F = species.CharacteristicSpecies(3)
sage: F.structures(l).list()
[{1, 2, 3}]