import { type ExactValue } from '../coxeter/exact.js'; import { CellComplex } from '../geometry/cell-complex.js'; import { type DoubledE8Vector, type DoubledIcosian } from './e8.js'; import { ConvexWindow, ModelSet, type ExactHalfspace, type ModelPoint, type WindowBoundaryPolicy, type WindowLocation } from './model-set.js'; /** * Integer action of multiplication by phi on coefficients in the fixed * E8 root basis used by `createElserSloaneModelSet`. */ export declare const elserSloaneInflationMatrix: ReadonlyArray>; /** * The canonical 720 vertices of the Elser-Sloane acceptance window. * * Coordinates are scaled by `6/kappa`, where the common orthogonal-projection * normalizer cancels from every membership decision. With doubled icosian * input coordinates this means points are compared as `3 x*`. */ export declare function elserSloaneWindowVertices(): readonly (readonly ExactValue[])[]; /** * Exact H-description of the four-dimensional Elser-Sloane window. * * The ten seeds are the H4 orbits of the 1,200 supporting hyperplanes of * the 720-vertex hull. Every inequality is `normal dot x <= 12/phi` in * the same `6/kappa` coordinate convention as `elserSloaneWindowVertices`. */ export declare function elserSloaneWindowHalfspaces(): readonly ExactHalfspace[]; export declare function createElserSloaneWindow(): ConvexWindow; export type ElserSloanePhasonOffset = readonly [ ExactValue, ExactValue, ExactValue, ExactValue ]; export interface ElserSloaneModelSetOptions { boundaryPolicy?: WindowBoundaryPolicy; /** Exact internal translation in eleventh-coordinate units. */ phasonOffsetElevenths?: ElserSloanePhasonOffset; } /** Galois conjugation `a+b phi -> (a+b)-b phi`. */ export declare function phiConjugate(value: ExactValue): ExactValue; /** Fixed unimodular E8 root basis used for bounded coefficient enumeration. */ export declare function elserSloaneLatticeBasis(): readonly (readonly ExactValue[])[]; /** Coordinates of an icosian in the fixed E8 root basis. */ export declare function elserSloaneCoefficients(root: DoubledIcosian): readonly bigint[]; /** The canonical E8 -> R4 + R4 cut-and-project scheme in exact icosian coordinates. */ export declare function createElserSloaneModelSet(options?: WindowBoundaryPolicy | ElserSloaneModelSetOptions): ModelSet; /** Exact E8 lattice automorphism: phi in physical space, 1-phi internally. */ export declare function elserSloaneInflate(coefficients: readonly bigint[]): readonly bigint[]; /** Inverse inflation; the identity S^-1 = S-I follows from S^2 = S+I. */ export declare function elserSloaneDeflate(coefficients: readonly bigint[]): readonly bigint[]; export interface ElserSloanePatchOptions { /** Symmetric coefficient box `[-r,r]^8`. Default 1; radius 2 has 390,625 candidates. */ coefficientRadius?: number; /** Optional radial crop in physical R4 after exact window selection. */ physicalRadius?: number; /** Candidate safety cap passed to `ModelSet.sample`. */ maxCandidates?: number; boundaryPolicy?: WindowBoundaryPolicy; /** Exact internal translation in eleventh-coordinate units. */ phasonOffsetElevenths?: ElserSloanePhasonOffset; } export interface ElserSloaneNormPatchOptions { /** Complete E8 shells through this quadratic norm. Default 6. */ maxE8Norm?: number; /** Optional radial crop in physical R4 after exact window selection. */ physicalRadius?: number; boundaryPolicy?: WindowBoundaryPolicy; /** Exact internal translation in eleventh-coordinate units. */ phasonOffsetElevenths?: ElserSloanePhasonOffset; } export interface ElserSloanePatch { readonly points: readonly ModelPoint[]; readonly candidateCount: number; readonly acceptedBeforePhysicalCrop: number; readonly boundaryCount: number; } /** * A deterministic finite coefficient-box sample of the infinite model set. * * @param options - Coefficient bound, crop, safety cap, boundary policy, and phason. */ export declare function elserSloanePatch(options?: ElserSloanePatchOptions): ElserSloanePatch; /** * A symmetry-preserving finite sample built from complete ambient E8 shells. * This is the preferred bounded source for explanatory renders. * * @param options - Shell bound, crop, boundary policy, and exact phason. */ export declare function elserSloaneNormPatch(options?: ElserSloaneNormPatchOptions): ElserSloanePatch; /** Exact section by the fourth physical coordinate; zero is the icosahedral section. */ export declare function elserSloaneSection(points: readonly ModelPoint[], coordinate?: ExactValue): readonly ModelPoint[]; /** Exact metric-nearest graph within one fixed-coordinate 3D section. */ export declare function elserSloaneSectionEdges(points: readonly ModelPoint[]): Uint32Array; /** * Integer Galois product for a point difference in the unnormalized icosian * coordinates: |delta_parallel|^2 |delta_perp|^2. The orthonormal E8 * projection convention multiplies this integer by 1/20. */ export declare function elserSloaneGaloisProduct(left: ModelPoint, right: ModelPoint): bigint; /** Internal coordinate `6 x*` for a doubled icosian representing `2x`. */ export declare function elserSloaneInternalCoordinate(root: DoubledIcosian): readonly ExactValue[]; export declare function classifyElserSloaneIcosian(root: DoubledIcosian): WindowLocation; export type ElserSloaneSourceShell = 'root' | 'second-shell'; export interface ElserSloaneGermPoint { readonly sourceShell: ElserSloaneSourceShell; readonly standard: DoubledE8Vector; readonly icosian: DoubledIcosian; readonly windowLocation: 'inside' | 'boundary'; readonly parallel: Float64Array; readonly perpendicular: Float64Array; } export interface ElserSloaneGerm { readonly points: readonly ElserSloaneGermPoint[]; /** Exact metric skeletons of the accepted root and norm-4 600-cells. */ readonly edges: Uint32Array; readonly rootCount: number; readonly secondShellCount: number; readonly boundaryCount: number; } /** The exactly accepted norm-2 and norm-4 germ of the canonical model set. */ export declare function elserSloaneGerm(): ElserSloaneGerm; export interface ElserSloaneGermComplexOptions { /** Which Galois embedding supplies the R4 positions. Default `parallel`. */ embedding?: 'parallel' | 'perpendicular'; /** Uniform scale after embedding. Default 1. */ scale?: number; /** Accepted source shell whose exact metric edges are included. Default `both`. */ sourceShell?: ElserSloaneSourceShell | 'both'; } /** * A renderable 4D view of the two accepted 600-cell shells. * * @param options - Embedding, scale, and source shells to include. */ export declare function createElserSloaneGermComplex(options?: ElserSloaneGermComplexOptions): CellComplex; //# sourceMappingURL=elser-sloane.d.ts.map