pub fn character_table(
degree: usize,
gens: &[Perm],
cap: usize,
) -> Option<CharacterTable>Expand description
Compute the full character table via the Burnside–Dixon algorithm: build the commuting class-algebra
matrices M_i from the structure constants, choose a Dixon prime p, simultaneously diagonalise the
M_i over GF(p) by iterated eigenspace refinement (one common eigenvector per irreducible), then
read off each degree d_s (exact integer, via d² = |G|/Σ_r ω_r ω_{r̄}/|C_r|) and the character
values χ_s(C_r) = d_s ω_r/|C_r|. Returns None when |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.