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
What kind of issue would you like to report? (Optional)