PolynomialTools[Approximate]
Factor
compute approximate factorization
Calling Sequence
Parameters
Options
Description
Examples
References
Compatibility
Factor(F, vars)
Factor(F, vars, options)
F
-
polynom({numeric,complex(numeric)})
vars
set or list of variables
noexact
if provided, exact factorization of F will not be attempted
optimize
if given then a post-processing step is done on the output, using Optimization:-NLPSolve to return an approximate factorization with smaller backward error. Optionally, it can be given as optimize=list with a list of extra options to be passed to optimization.
After a series of initial preprocessing steps designed to handle exact and degenerate cases, numerical factors of F are found from the a low rank approximation of its RuppertMatrix.
This command works for univariate polynomials by calling factor which finds the real linear and quadratic factors from the roots.
with⁡PolynomialTools:-Approximate:
F ≔ sort⁡expand⁡x2+y2−1⁢x3−y3+1,x,y
F≔x5+x3⁢y2−x2⁢y3−y5−x3+y3+x2+y2−1
aF_8 ≔ Factor⁡expand⁡F+10−8⁢x⁢y,x,y
aF_8≔−3.44406483254625⁢−0.552477515342034+9.46731687426374×10−11⁢x+1.34863064328525×10−9⁢y+0.552477517547611⁢x2+2.03989803334921×10−9⁢x⁢y+0.552477516001717⁢y2⁢−0.525550037745132−6.82222843397422×10−10⁢x−3.43514285807329×10−9⁢y−7.62609217128201×10−10⁢x2+6.10950366484575×10−10⁢x⁢y+6.99438205675422×10−10⁢y2−0.525550038461344⁢x3−3.70256663288842×10−10⁢y⁢x2−8.19581626434466×10−10⁢y2⁢x+0.525550036601363⁢y3
sort⁡fnormal⁡expand⁡aF_8,x,y
1.⁢x5+0.9999999988⁢x3⁢y2−0.9999999958⁢x2⁢y3−0.9999999937⁢y5−0.9999999947⁢x3+0.9999999990⁢y3+0.9999999972⁢x2+0.9999999972⁢y2−0.9999999946
ilog10⁡norm⁡expand⁡F−aF_8,2norm⁡F,2
−9
aF_4 ≔ Factor⁡expand⁡F+10−4⁢x⁢y,x,y
aF_4≔3.47266293000014⁢−0.552885827441133−9.97108941071252×10−6⁢x+0.0000179791567479040⁢y+0.552898569944407⁢x2+8.98886932463720×10−6⁢x⁢y+0.552899121071376⁢y2⁢0.520834024267643−5.33436675036546×10−6⁢x+0.0000175929390281592⁢y+4.50859262549109×10−6⁢x2−0.0000210937198292715⁢x⁢y+9.51805868068816×10−6⁢y2+0.520828698460220⁢x3+2.48682307880352×10−6⁢y⁢x2−2.34026244957104×10−6⁢y2⁢x−0.520822689868282⁢y3
sort⁡fnormal⁡expand⁡aF_4,6,x,y
1.00001⁢x5+1.00000⁢x3⁢y2−0.999991⁢x2⁢y3−0.999996⁢y5−0.999994⁢x3+1.00001⁢y3+1.00001⁢x2+1.00000⁢y2−0.999994
ilog10⁡norm⁡expand⁡F−aF_4,2norm⁡F,2
−5
aF_4I ≔ Factor⁡expand⁡F+10−4⁢I⁢x⁢y,x,y
aF_4I≔3.33619010359970+0.00138346582082882⁢I⁢−0.563243378347060+0.⁢I+3.16408238493893×10−10−0.0000272293643435069⁢I⁢x+−1.01117917827161×10−10+0.0000398337911251992⁢I⁢y+0.563243374465927+0.0000246224780583257⁢I⁢x2−8.64543563279926×10−9+0.0000388463617204220⁢I⁢x⁢y+0.563243379991283+0.0000319121660331265⁢I⁢y2⁢0.532173243975585−0.000251363881658109⁢I+−3.36046554181828×10−11+7.37229024894790×10−6⁢I⁢x−1.32661446390877×10−8+0.0000153645990045513⁢I⁢y−3.07282917970803×10−9+4.12354640896998×10−6⁢I⁢x2+7.04839785801415×10−9+0.0000239416896984294⁢I⁢x⁢y−8.60637220725151×10−10+0.0000123372148927410⁢I⁢y2+0.532173243175538−0.000243948150310564⁢I⁢x3−2.53017116814042×10−9+2.35423346961460×10−6⁢I⁢y⁢x2+−3.18762218104142×10−10+4.05319056283696×10−6⁢I⁢y2⁢x+−0.532173249337958+0.000239782043422948⁢I⁢y3
sort⁡fnormal⁡expand⁡aF_4I,6,x,y
1.00000⁢x5+1.00000⁢x3⁢y2−1.00000⁢x2⁢y3−1.00000⁢y5+0.000115711⁢I⁢x3⁢y−1.00000⁢x3+1.00000⁢y3+1.00000⁢x2−0.000113958⁢I⁢x⁢y+1.00000⁢y2−1.00000+0.⁢I
ilog10⁡norm⁡expand⁡F−aF_4I,2norm⁡F,2
Gao, S.; Kaltofen, E.; May, J.; Yang, Z.; and Zhi, L. "Approximate factorization of multivariate polynomials via differential equations." Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation (ISSAC 2004), pp. 167-174. Ed. J. Guitierrez. ACM Press, 2004.
Kaltofen, E.; May, J.; Yang, Z.; and Zhi, L. "Approximate factorization of multivariate polynomials using singular value decomposition." Journal of Symbolic Computation Vol. 43(5), (2008): 359-376.
The PolynomialTools:-Approximate:-Factor command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
See Also
factor
RuppertMatrix
Download Help Document