/** * Univariate polynomial factorization over ℤ — the top-level Zassenhaus * pipeline that ties together the factorization engine modules. * * Pipeline: * 1. Strip integer content and sign (constant prefix). * 2. Yun square-free decomposition (`squareFreeDecompose`). * 3. For each square-free primitive part `g` (possibly non-monic): * pick a prime `p` with `p ∤ lc(g)` and image square-free mod p (fewest * modular factors among the first candidates), factor `g` mod p, choose * `k` with `p^k` large enough (Landau–Mignotte, with the extra leading * coefficient factor), build the monic integer associate of `g` mod p^k, * Hensel-lift the mod-p factors, then recombine subsets by exact division * over ℤ (the leading-coefficient method for non-monic `g`). * 4. Emit each irreducible factor with the multiplicity of its square-free * level; sort deterministically. * * Part of the univariate factorization engine * (`functions/src/typed/factorization/`) — `bigint`-only by design. */ import { type IntPoly } from './integer-poly.js'; /** Result of factoring an integer polynomial: a constant times irreducibles. */ export type Factorization = { constant: bigint; factors: Array<{ poly: IntPoly; mult: number; }>; }; /** * Full univariate factorization of `f` over ℤ into a constant times * irreducible primitive factors with multiplicities. Trivial inputs (zero, * constant, degree ≤ 1) short-circuit. */ export declare function factorUnivariateZ(f: IntPoly): Factorization; //# sourceMappingURL=zassenhaus.d.ts.map