Skip to main content

association_scheme_eigenmatrix

Function association_scheme_eigenmatrix 

Source
pub fn association_scheme_eigenmatrix(
    num_vars: usize,
    clauses: &[Vec<Lit>],
) -> Option<(u64, Vec<Vec<u64>>)>
Expand description

The eigenmatrix (P-matrix) of the association scheme of a formula’s variable symmetry — the scheme’s “character table”. The coherent configuration (coherent_configuration_constants) yields a commutative algebra spanned by the relation matrices A_i (A_i A_j = Σ_k a_{ijk} A_k); its intersection matrices B_i (B_i[k][j] = a_{ijk}) commute and are simultaneously diagonalizable, and P[m][i] is the eigenvalue of A_i on the m-th common eigenspace. Computed exactly over a GF(p) chosen (by search) so the algebra splits — Dixon’s method applied to the scheme. Returns (prime, P).

The rows of P are exactly the 1-dimensional representations of the coherent algebra, so P[m][i]·P[m][j] = Σ_k a_{ijk}·P[m][k]; one row is the valencies n_i (the all-ones eigenvector). None when the scheme is not commutative, is out of range, or no small prime splits it. Mirrors crate::permgroup::character_table for the group ↔ scheme analogy.