Expand description
Schreier–Sims: a base and strong generating set (BSGS) for a permutation group — the non-abelian generalization of Gaussian elimination, and the last rung of the algebra ladder (GF(2)→GF(p)→ℤ/m linear; this is the group level).
Gaussian elimination decides membership/dimension of a vector subspace by a basis under a stabilizer
chain of coordinate projections. Schreier–Sims does the same for a permutation group: a base
B = (β₁,…,β_k) is a sequence of points whose pointwise stabilizer is trivial, giving the
stabilizer chain G = G⁽¹⁾ ≥ G⁽²⁾ ≥ … ≥ G⁽ᵏ⁺¹⁾ = {id} with G⁽ⁱ⁾ fixing β₁…β_{i−1}. A
strong generating set generates every stage. The stabilizer chain is the symmetry break — fix a
base point, descend to its stabilizer, repeat — and from it, in polynomial time:
- order
|G| = Π |Δᵢ|(the product of the basic orbit sizes), and - membership / coset decision by sifting (stripping
gthrough the chain; it lies inGiff it sifts to the identity), the decision procedure for coset problems over non-abelian groups — exactly the rung the linear engines (abelian only) could not reach.
Permutations act on the right: xᵍ = g[x], so (g·h)[x] = h[g[x]].
Structs§
- Bsgs
- A base and strong generating set, with the per-level basic transversals.
- Character
Table - The character table of
⟨gens⟩, computed exactly by Dixon’s method.
Functions§
- abelianization
- The abelianisation
G / [G, G]— the largest abelian quotient — as(order, exponent). The order is|G| / |[G, G]|; the exponent (lcm of coset orders) and whether it equals the order — i.e. whetherGᵃᵇis cyclic — are the new structural content.Nonewhen|G| > cap. - automorphism_
group_ order - The order of the automorphism group
Aut(G)ofG = ⟨gens⟩— the symmetries of the group itself (bijectionsG → Gpreserving multiplication,φ(xy) = φ(x)φ(y)). An automorphism is determined by the images of a generating set, so the search ranges over candidate images (each generator must map to an element of the same order, a necessary condition) and accepts those that extend to a consistent, bijective homomorphism.Nonewhen|G| > capor the candidate search would exceed its budget. Classic:|Aut(Cₙ)| = φ(n),|Aut(Sₙ)| = n!(n≠6),|Aut(V₄)| = 6,|Aut(D₄)| = 8,|Aut(Q₈)| = 24. - burnside_
ring_ product - The Burnside ring multiplication of
G = ⟨gens⟩— the structure constantsN[a][b][l]giving the decomposition of the product G-set(G/H_a) × (G/H_b) = ⊔_l N[a][b][l]·(G/H_l)into transitive G-sets, indexed by the conjugacy classes of subgroups (same order astable_of_marks). - center_
order - The order of the centre
Z(G)— the elements commuting with all ofG, which are exactly those in singleton conjugacy classes.Nonewhen|G| > cap. - character_
table - Compute the full character table via the Burnside–Dixon algorithm: build the commuting class-algebra
matrices
M_ifrom the structure constants, choose a Dixon primep, simultaneously diagonalise theM_ioverGF(p)by iterated eigenspace refinement (one common eigenvector per irreducible), then read off each degreed_s(exact integer, viad² = |G|/Σ_r ω_r ω_{r̄}/|C_r|) and the character valuesχ_s(C_r) = d_s ω_r/|C_r|. ReturnsNonewhen|G| > cap, the group is too large for the finite-field arithmetic, or — FAIL-CLOSED — the recovered table does not satisfy the row-orthogonality and degree relations (so a returned table is always a verified one). Rows are sorted by(degree, values)for determinism. - class_
multiplication_ coefficients - The class-algebra structure constants
a[i][j][k] = #{ x ∈ Cᵢ : x⁻¹·z ∈ Cⱼ }forza fixed representative of classCₖ(independent of the choice ofz). These are the multiplication coefficients of the centre of the group algebra —Cᵢ·Cⱼ = Σₖ a[i][j][k]·Cₖ— and the foundation of the Burnside–Dixon character-table algorithm. They satisfyΣₖ a[i][j][k]·|Cₖ| = |Cᵢ|·|Cⱼ|.Nonewhen|G| > cap. - composition_
factor_ orders - The composition factors of the group as the sorted multiset of their orders — the Jordan–Hölder
decomposition into simple groups (the “prime factorisation” of the group). Their product is
|G|; for a solvable group every factor is a prime (cyclicCₚ), and a non-abelian simple factor (e.g.A₅, order 60) marks unsolvability.Nonewhen the group is out of range. - conjugacy_
classes - The conjugacy classes of the group — the partition of its elements by
g ~ x⁻¹gx. The number of classes equals the number of irreducible representations (the bridge to character theory); the singleton classes are exactly the centreZ(G). Requires enumerating the group, so it returnsNonewhen|G| > cap. - cycle_
index - The cycle index data — the distribution of cycle types over the group, mapping each cycle type to
the number of elements with it. Dividing by
|G|gives the cycle index polynomial, the engine of Pólya enumeration.Nonewhen|G| > cap. - derived_
length - The derived length (solvability class): the number of steps the derived series
G ⊵ G' ⊵ G'' ⊵ …takes to reach the trivial group, orNoneif it never does (Gis unsolvable).0is the trivial group,1a non-trivial abelian group,2forS₃,3forS₄. - derived_
subgroup - Generators of the derived (commutator) subgroup
[G, G]— the normal closure of the commutators of the generators. Always normal;G / [G, G]is the abelianisation, and[G, G]is trivial iffGis abelian. - element_
orders - The order spectrum — the set of distinct orders of the group’s elements.
Nonewhen|G| > cap. - exponent
- The exponent of the group — the least common multiple of all element orders, i.e. the smallest
ewithgᵉ = idfor everyg.Nonewhen|G| > cap. - frobenius_
schur_ from_ table - The Frobenius–Schur indicators
ν(χ_s) = (1/|G|) Σ_{g∈G} χ_s(g²) ∈ {+1, 0, −1}read off a character table:+1if the irreducible is real (orthogonal),0if complex (χ ≠ χ̄),−1if quaternionic (symplectic). Computed exactly over the table’sGF(p):Σ_r |C_r|·χ_s(C_{r²}), scaled by1/|G|, decoded{0, 1, p−1} → {0, 1, −1}. FAIL-CLOSED: returnsNoneif any value decodes outside{−1,0,1}or the Frobenius–Schur sum ruleΣ_s ν(χ_s)·d_s = #{g : g²=1}fails. The indicators distinguish groups with identical character tables (e.g.D₄all+1vsQ₈with a−1). - frobenius_
schur_ indicators - The Frobenius–Schur indicators of
⟨gens⟩, one per irreducible character (aligned withcharacter_table’s rows). Seefrobenius_schur_from_table.Nonewhen the character table is out of range. - galois_
class_ orbits - The Galois orbits on conjugacy classes. The Galois group
Gal(ℚ(ζ_e)/ℚ) ≅ (ℤ/e)*(e= the group exponent) acts on classes byC ↦ C^t(the class ofg^t), for everytcoprime toe— this is the action dual to the Galois actionσ_t(χ)(g) = χ(g^t)on irreducible characters. Two classes share an orbit iff they are algebraically conjugate (g ~ g^tfor some coprimet).Nonewhen|G| > cap. - generating_
tuple_ count - The number of ordered
k-tuples of group elements that generateG— the Eulerian functione_k(G) = Σ_{H ≤ G} μ(H, G)·|H|ᵏ(Hall’s formula by Möbius inversion over the subgroup lattice, since|H|ᵏcounts thek-tuples landing inH). Dividing by|G|ᵏgives the probability thatkrandom elements generateG.Nonewhen|G| > cap. - irreducible_
degrees - The irreducible-representation degrees
χ_s(1)of⟨gens⟩, sorted ascending (Σ dᵢ² = |G|) — the cheap summary of thecharacter_table.Nonewhen the table cannot be computed (|G| > capor too large for the finite-field diagonalisation). - is_
abelian - Is the group abelian? (Its generators pairwise commute.)
- is_
nilpotent - Is the group nilpotent? (Its lower central series reaches the trivial group.) Strictly stronger than
solvability — every
p-group is nilpotent, butS₃(solvable) is not. - is_
primitive - Is the group primitive — transitive with no non-trivial block system? Primitive groups are the
indecomposable “atoms” of permutation-group structure; imprimitive ones split into blocks
(
minimal_block_system). - is_
primitive_ via_ orbitals - Primitivity via Higman’s theorem: a transitive group is primitive iff every non-diagonal orbital
graph is connected. An independent route to
is_primitive; when a non-diagonal orbital graph is disconnected, its connected components are a block system. (Returnsfalsefor an intransitive group.) - is_
simple - Is the group simple — non-trivial with no normal subgroup but
{id}and itself? Tested via conjugacy: every non-trivial normal subgroup contains the whole conjugacy class of any of its elements, hence the normal closure of that element. SoGis simple iff the normal closure of every non-identity element is all ofG. Simple non-abelian groups (e.g.A₅) are exactly the unsolvable building blocks.Nonewhen|G| > cap. - is_
solvable - Is the group solvable? (Its derived series reaches the trivial group.)
- isotypic_
from_ table - The isotypic decomposition of the permutation representation: the multiplicity
m_s = ⟨π, χ_s⟩of each irreducibleχ_sin the natural action’s characterπ, i.e.π = Σ_s m_s χ_s. Computed from a character table:m_s = (1/|G|) Σ_r |C_r|·π(C_r)·χ_s(C_{r̄})over the table’sGF(p). The representation-theoretic spectrum of the symmetry — it ties the linear theory back to the action:m_trivial = #orbits(Burnside),Σ_s m_s² = rank(#orbitals),Σ_s m_s·d_s = degree. FAIL-CLOSED:Noneifp ≤ degree(then the small non-negativem_s ≤ degreewould not decode uniquely) or if any of those three identities fails. Aligned with the table’s rows. - isotypic_
multiplicities - The isotypic multiplicities of
⟨gens⟩’s permutation representation, one per irreducible (aligned withcharacter_table’s rows). Seeisotypic_from_table.Nonewhen the character table is out of range or the multiplicities cannot be decoded/verified. - minimal_
block_ system - The minimal non-trivial block system of a TRANSITIVE permutation group — the finest
G-invariant partition into equal-size blocks bigger than a point and smaller than the whole set — orNoneif the group is primitive (only the trivial partitions are invariant) or not transitive. Imprimitivity is the symmetry’s internal structure: a grid symmetry decomposes into its rows, a cyclic group of composite order into cosets. (Atkinson’s algorithm over each pair{0, β}.) - mobius_
number - The Möbius number
μ(1, G)of the subgroup lattice ofG = ⟨gens⟩— the value of the lattice’s Möbius function from the trivial subgroup to the whole group. A classical invariant: for a cyclic groupμ(1, Cₙ)is the number-theoretic Möbius functionμ(n), and in general it drives the group’s Eulerian (probabilistic-zeta) function.Nonewhen|G| > cap. - nilpotency_
class - The nilpotency class: the number of steps the lower central series
γ₁ = G,γ_{k+1} = [G, γ_k]takes to reach the trivial group, orNoneif it never does (Gis not nilpotent).0is trivial,1abelian,2forD₄. - orbitals
- The orbitals — the orbits of the group on ORDERED PAIRS
(i, j)under the actiong·(i,j) = (g[i], g[j]). The diagonal{(i,i)}is always one orbital; for a transitive group the non-diagonal orbitals are its “relation classes” (its association scheme). The count is the group’srank. One level finer than the point-orbits (orbits). - orbits
- The orbits of
{0,…,degree−1}under⟨generators⟩, as a partition (each orbit sorted ascending, orbits ordered by least element). Needs only the generators — a BFS, independent of the BSGS. - orbits_
on_ tuples - The orbits of the group on ordered
k-tuples of distinct points (g·(t₁,…,t_k) = (g[t₁],…,g[t_k])).k = 1is the point-orbits (orbits);k = 2(on distinct pairs) refinesorbitals; in general the group isk-transitive iff this is a single orbit — the rungs of the transitivity ladder. - outer_
automorphism_ order - The order of the outer automorphism group
Out(G) = Aut(G)/Inn(G), where the inner automorphismsInn(G) ≅ G/Z(G)are those realised by conjugation.Out(G)counts the “exotic” symmetries of the group not coming from within it.Nonewhen out of range. - pattern_
inventory - The pattern inventory (weighted Pólya, two colours) —
coeff[w]is the number of distinct{0,1}assignments to the points with exactlywones, up to the group. Obtained by substitutingaₖ → (1 + zᵏ)into the cycle index: ak-cycle is either all-0 or all-1, contributing1 + zᵏ. The coefficients sum topolya_count(…, 2, …).Nonewhen|G| > cap. - permutation_
character - The permutation character
π(g) = #{points fixed by g}of the natural action of⟨gens⟩on itsdegreepoints, valued per conjugacy class (a class invariant, since conjugate permutations have the same cycle type). The character of the permutation representationℂ^degree. Aligned with the conjugacy classes (so withCharacterTable’s columns).Nonewhen|G| > cap. - permutation_
character_ decomposition - The permutation-character decomposition — the bridge between the table of marks and the character
table.
M[i][s]is the multiplicity of the irreducibleχ_sin the permutation representation ofGon the cosetsG/H_i, i.e.M[i][s] = ⟨Ind_{H_i}^G 1, χ_s⟩ = (1/|H_i|)·Σ_{h ∈ H_i} χ_s(h)(Frobenius reciprocity = the dimension of theH_i-fixed subspace ofχ_s). Rows are subgroup conjugacy classes (as intable_of_marks), columns are irreducibles (as incharacter_table). Returns(subgroup_orders, irreducible_degrees, M). - polya_
count - Pólya / Burnside count — the number of ways to colour the
degreepoints withmcolours up to the group action:(1/|G|) Σ_g m^{#cycles(g)}. Withm = 2this is the number of distinct{0,1}assignments to the points modulo symmetry — the symmetry-reduced size of the assignment space.Nonewhen|G| > cap. - rank
- The rank of the group: the number of orbitals (orbits on ordered pairs). A transitive group has
rank
2iff it is 2-transitive; a regular group has rank equal to its degree. - rational_
class_ count - The number of rational conjugacy classes — classes
Cfixed by the whole Galois group (g ~ g^tfor everytcoprime toord(g)), i.e. the singletongalois_class_orbits. By Burnside’s rationality theorem this equals the number of rational-valued irreducible characters. Strictly refinesreal_class_count(real = closed under the single elementt = −1): rational ⟹ real, and the counts differ exactly when a character is real but irrational (e.g.A₅’s golden-ratio degree-3 pair).Nonewhen|G| > cap. - real_
class_ count - The number of real conjugacy classes — those closed under inversion (
C = C⁻¹). By Burnside’s theorem this equals the number of real-valued irreducible characters.Nonewhen|G| > cap. - schreier_
sims - Schreier–Sims. Build a BSGS for the permutation group on
degreepoints generated bygenerators(each a permutation of{0,…,degree−1}). Deterministic incremental construction: seed the chain with the generators, then repeatedly sift every Schreier generator (u·sdivided by its transversal element, Schreier’s lemma) into the chain, adding any non-trivial residue as a new strong generator (extending the base as needed), until every Schreier generator sifts to the identity — the completeness condition. - subgroup_
count - sylow_
counts - The Sylow structure — for each prime
p ∣ |G|, the numbern_pof Sylowp-subgroups (the subgroups of maximalp-power orderpᵃ ∥ |G|; all such subgroups are conjugate, so counting them counts the Sylow subgroups). Returned as(p, n_p)pairs sorted byp. Sylow’s theorems guaranteen_p ≡ 1 (mod p)andn_p ∣ |G|/pᵃ.Nonewhen the subgroup lattice is out of range. - table_
of_ marks - The table of marks of
G = ⟨gens⟩— the Burnside-ring analogue of the character table. Rows and columns are the conjugacy classes of subgroups (ordered by increasing order); the(i,j)entry is the markm(H_i, H_j)= the number ofH_i-fixed points in the transitive action ofGon the cosetsG/H_j, computed as(1/|H_j|)·|{g ∈ G : g⁻¹ H_i g ⊆ H_j}|. Returns(subgroup_class_orders, marks). - tensor_
decomposition - The tensor (fusion) decomposition of
⟨gens⟩’s irreducibles. Seetensor_from_table.Nonewhen the character table is out of range or the fusion coefficients fail their structural checks. - tensor_
from_ table - The tensor (Clebsch–Gordan) decomposition of the irreducibles:
N[i][j][k] = ⟨χ_i·χ_j, χ_k⟩, the multiplicity ofχ_kin the tensor productχ_i ⊗ χ_j. These are the fusion coefficients — the structure constants of the representation ringR(G)(the multiplication dual to the character table’s addition). Computed from a character table:N[i][j][k] = (1/|G|) Σ_r |C_r|·χ_i(C_r)·χ_j(C_r)·χ_k(C_{r̄})over the table’sGF(p); each is a small non-negative integer≤ d_i·d_j ≤ |G| < p, so it decodes uniquely. FAIL-CLOSED: returnsNoneunless every fusion product has the right dimension (Σ_k N[i][j][k]·d_k = d_i·d_j), the trivial character is a unit (χ_triv ⊗ χ_j = χ_j), and the coefficients are symmetric (N[i][j][k] = N[j][i][k]). Indices align withcharacter_table’s rows. - transitivity_
degree - The transitivity degree: the largest
t ≤ max_tfor which the group is transitive on orderedt-tuples of distinct points (1= transitive,2= 2-transitive, …).0if intransitive. Capped atmax_tbecause thet-tuple space grows asdegree^t.Sₙisn-transitive; a regular group is only1-transitive. - upper_
central_ length - The length of the upper central series when it reaches
G(the nilpotency class) —Noneif it stalls belowG(the group is not nilpotent) or|G| > cap. Equalsnilpotency_classfor nilpotent groups, an independent route to the same number. - upper_
central_ series - The orders
[|Z₀|, |Z₁|, …]of the upper central series, up to the hypercentre.Z₀ = {id}andZ_{i+1} = { g : [g, x] ∈ Z_i for all x }(the preimage of the centre ofG/Z_i). The series ascends to|G|iffGis nilpotent.Nonewhen|G| > cap.
Type Aliases§
- Perm
- A permutation of
{0,…,n−1}:p[x]is the image of pointx.