Conjugacy class sizes in the symmetric group #
The conjugacy classes of Equiv.Perm α are indexed by partitions of Fintype.card α through
Equiv.Perm.partition. This file computes the size of each class. The weight attached to a
partition μ is
zPart μ = ∏ i, i ^ mᵢ * mᵢ !,
where mᵢ = partMultiplicity μ i is the multiplicity of the part i in μ, that is, Mathlib's
μ.parts.count i. It is the order of the centralizer of any permutation with partition μ, so
the class of such a permutation has n ! / zPart μ elements.
The main results are nat_card_centralizer_eq_zPart, the multiplicative class-size formula
card_partition_mul_zPart with its transported form card_partition_parts_mul_zPart_fin, and the
normalisation sum_factorial_div_zPart, which says the class sizes add up to n !. These are the
weights in the orthogonality relations for the characters of the symmetric group, where the class
with partition μ is weighted by 1 / zPart μ. The last section reads the formula on a
conjugacy class itself rather than on a fibre of the partition map, as
ConjClasses.card_carrier_mul_zPart, and specializes it to the class attached to a partition,
card_carrier_partitionEquivConjClasses being the form those orthogonality relations consume.
Mathlib counts permutations of a given cycle type, a multiset recording only the cycles of length
at least two (Equiv.Perm.nat_card_centralizer, Equiv.Perm.card_isConj_mul_eq). The translation
to partitions, which record the fixed points as parts equal to one, is zPart_partition.
Partitions of Fintype.card α and of n are different types even when Fintype.card α = n, so
the statements about Equiv.Perm (Fin n) describe the permutations with partition μ by the
equality σ.partition.parts = μ.parts of the underlying multisets, which determines the partition.
References #
- Schur--Weyl roadmap, Layer 6, the class-sizes build item.
- Mathlib's
Mathlib.GroupTheory.Perm.Centralizer, for the cycle-type count.
The multiplicity mᵢ of the part i in the partition μ: the number of parts of μ equal
to i. This is the mᵢ of the weight zPart μ = ∏ᵢ i ^ mᵢ · mᵢ !.
It is Mathlib's Multiset.count on the parts; partMultiplicity_eq_count is a simp lemma, so
proofs about multiplicities are carried out with the Multiset.count API.
Equations
- TauCeti.partMultiplicity μ i = Multiset.count i μ.parts
Instances For
The multiplicity of a part is its count in the multiset of parts.
The weight z_μ = ∏ᵢ i ^ mᵢ · mᵢ ! of a partition μ, where mᵢ = partMultiplicity μ i is
the multiplicity of the part i.
It is the order of the centralizer of a permutation whose cycle lengths are the parts of μ, so
the conjugacy class of that permutation has n ! / zPart μ elements.
Equations
- TauCeti.zPart μ = ∏ i ∈ μ.parts.toFinset, i ^ TauCeti.partMultiplicity μ i * (TauCeti.partMultiplicity μ i).factorial
Instances For
The defining equation of zPart: the product of i ^ mᵢ * mᵢ ! over the parts i of μ,
with mᵢ = partMultiplicity μ i, the case s = μ.parts.toFinset of zPart_eq_prod_of_subset.
The weight of the one-part partition of n is n: for 2 ≤ n an n-cycle commutes exactly
with its own powers, and for n = 1 the centralizer is the trivial group.
The weight of the partition of a permutation, in terms of its cycle type.
Mathlib's cycle type omits the fixed points; they contribute the single extra factor 1 ^ k * k !,
where k is the number of fixed points.
The weight of the partition of the identity is the order of the group: the cycle type of
the identity is empty, so all Fintype.card α of its parts equal 1.
The centralizer of a permutation has order the weight of its partition.
The class-size formula in its conjugacy formulation: the conjugacy class of σ has
(Fintype.card α)! / zPart σ.partition elements.
The class-size formula: the permutations with partition μ number
(Fintype.card α)! / zPart μ.
Stated multiplicatively, so it carries no divisibility obligation; the quotient form is
card_partition_div_zPart.
The class-size formula transported along an equality Fintype.card α = n.
The class-size formula for Equiv.Perm (Fin n), the form the roadmap states: the permutations
with partition μ number n ! / zPart μ.
The quotient form of the class-size formula: the permutations with partition μ number
(Fintype.card α)! / zPart μ.
The quotient form of the class-size formula, transported along an equality
Fintype.card α = n.
The permutations of α whose partition is the one-part partition of n = Fintype.card α
number (n - 1)!.
For 2 ≤ n these are the n-cycles. For n ≤ 1 the fibre is the identity alone and both sides
are 1, but the identity is not a cycle in Mathlib's sense: the one-part partition of 0 has no
parts, and that of 1 has the single part 1, which is the partition of the identity of a
one-element type.
The count of the permutations with the one-part partition, transported along an equality
Fintype.card α = n.
There are (n - 1)! n-cycles in Equiv.Perm (Fin n) when 2 ≤ n; for n ≤ 1 the fibre is
the identity permutation of Fin n, which is not a cycle, and both sides are 1.
The permutations of a finite type are partitioned by their partitions.
The fibre decomposition transported along an equality Fintype.card α = n.
The class sizes add up to the order of the group. Every division here is exact, by
zPart_dvd_factorial.
This is the natural-number form of the normalisation of the orthogonality weights; the rational
identity ∑_μ 1 / z_μ = 1, which divides this one by n !, is not formalised here.
The class attached to a partition #
The weight of the partition indexing the class of σ is the weight of the partition of σ:
the transport TauCeti.parts_partitionEquivConjClasses_symm_mk leaves the parts, hence the
weight, alone.
For a general finite type the equivalence carries no transport, and
TauCeti.partitionEquivPermConjClasses_symm_mk already identifies the indexing partition with
σ.partition itself, so no separate statement is needed there.
The multiplicative class-size formula on a conjugacy class: the cardinality of a
conjugacy class C of permutations of α, multiplied by
zPart (permConjClassPartition C), is (Fintype.card α)!. This is
TauCeti.card_isConj_mul_zPart read on the class itself rather than on the permutations conjugate
to a representative.
The multiplicative class-size formula on the class attached to a partition: the cardinality
of TauCeti.partitionEquivPermConjClasses α p, multiplied by zPart p, is
(Fintype.card α)!.
The quotient form of TauCeti.card_carrier_partitionEquivPermConjClasses_mul_zPart.
The multiplicative class-size formula on the class attached to a partition, for
Equiv.Perm (Fin n): the cardinality of TauCeti.partitionEquivConjClasses n ν, multiplied by
zPart ν, is n !. This is ConjClasses.card_carrier_mul_zPart with the transport along
Fintype.card (Fin n) = n carried out; it is the form the orthogonality relations consume.
The quotient form of TauCeti.card_carrier_partitionEquivConjClasses_mul_zPart.