AngouriMath
KroneckerFactorization
Description
Summary
Factorisation of a polynomial in any number of variables, by reducing it to one variable
and putting the answer back.
and putting the answer back.
Remarks
most
of a numeral and is therefore injective on every monomial that can appear in the
polynomial or in any of its factors. A factorisation of the one-variable image can be read
back digit by digit, and each subset of its irreducible factors names a candidate.
than the polynomial does — the substitution is injective on monomials, not on
factorisations — so a subset whose product reads back as a polynomial need not divide the
original. Every one is tested with exact division before it is kept, which is why this
cannot answer wrongly: the worst it does is fail to find a factorisation that exists and
say so.
not a sum, and the one-variable factoriser stops at
MaxDegree — so the ceiling closes quickly as variables are
added. Two variables reach bidegrees like (2, 10), (3, 7) and (5, 4); three variables of
degree 2 fit (27 ≤ 32) and four do not (81); and a quadratic in eight variables is far
past it. The recombination is over subsets, so the number of irreducible factors of the
image is capped as well. Both limits are refusals, never wrong answers.
than assumed.MaxDegree is 32 while the machinery
underneath affords 64 (MaxDegree), which looks like
a free doubling of the exponent budget — a whole variable's worth of reach, since the
budget is a product. Doubled, nothing new factors:
inside the raised ceiling.
badly. A two-factor bivariate maps to a one-variable polynomial that splits into many
irreducibles —
cyclotomic — so the recombination is exponential in a factor count the substitution itself
inflates. That is exactly the cost MaxDegree is set to
bound, and moving it only moves where the refusal comes from. Lifting these limits means
not inflating the factor count in the first place, which is Hensel lifting with an
evaluation homomorphism — a different algorithm, not a larger number
(#746 item 43).
Members
BySubstitution(AngouriMath.Functions.MultivariatePolynomial,System.Int32)
MethodFactor(AngouriMath.Functions.MultivariatePolynomial,System.Int32)
MethodMaxImageFactors
FieldOnlyOther(AngouriMath.Functions.MultivariatePolynomial,System.Int32)
Method
Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online