import { type ExactRing, type ExactValue } from './exact.js'; /** * A finite Coxeter diagram: `matrix[i][j]` is the Coxeter number m(i,j) * (order of sᵢsⱼ) — 1 on the diagonal, 2 for commuting mirrors, ≥ 3 for * a diagram link. Marks up to 5 are supported exactly: the doubled-Gram * entry −2cos(π/m) is then 0, −1, −√2, or −φ, all elements of a single * quadratic ring per diagram (mixing marks 4 and 5 would need both √2 * and φ and is rejected). */ export interface CoxeterDiagram { readonly id: string; readonly rank: number; /** Expected group order; enumeration verifies against it. */ readonly order: number; readonly matrix: ReadonlyArray>; readonly ring: ExactRing; /** C = 2G in exact form: C[i][j] = −2cos(π/m(i,j)), C[i][i] = 2. */ readonly twoGram: ReadonlyArray>; } export declare function createCoxeterDiagram(id: string, matrix: ReadonlyArray>, order: number): CoxeterDiagram; /** Dihedral I₂(m): two mirrors at π/m. */ export declare const coxeterI2: (m: number) => CoxeterDiagram; export declare const coxeterA3: () => CoxeterDiagram; export declare const coxeterB3: () => CoxeterDiagram; export declare const coxeterH3: () => CoxeterDiagram; export declare const coxeterA4: () => CoxeterDiagram; export declare const coxeterB4: () => CoxeterDiagram; export declare const coxeterF4: () => CoxeterDiagram; export declare const coxeterH4: () => CoxeterDiagram; /** * E8: a seven-node chain with a one-node branch at the trivalent node. * * The full Weyl group is intentionally not meant to be enumerated into a * chamber table. Its root orbit has only 240 elements and is reached with * `orbitDistanceTuples`, whose work is proportional to the orbit rather * than the 696,729,600 group elements. */ export declare const coxeterE8: () => CoxeterDiagram; /** D₄: node 0 is the branch center, joined to 1, 2, 3 by marks of 3. */ export declare const coxeterD4: () => CoxeterDiagram; //# sourceMappingURL=diagram.d.ts.map