Skip to main content

character_table

Function character_table 

Source
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.