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.46732507922508×10−11⁢x+1.34863064253940×10−9⁢y+0.552477517547611⁢x2+2.03989800976321×10−9⁢x⁢y+0.552477516001717⁢y2⁢−0.525550037745132−6.82222634889839×10−10⁢x−3.43514283815260×10−9⁢y−7.62609279982288×10−10⁢x2+6.10950431663182×10−10⁢x⁢y+6.99438216295762×10−10⁢y2−0.525550038461344⁢x3−3.70256764216089×10−10⁢y⁢x2−8.19581622671544×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.97108941066633×10−6⁢x+0.0000179791567478723⁢y+0.552898569944407⁢x2+8.98886932458016×10−6⁢x⁢y+0.552899121071376⁢y2⁢0.520834024267642−5.33436675047966×10−6⁢x+0.0000175929390278785⁢y+4.50859262542559×10−6⁢x2−0.0000210937198294713⁢x⁢y+9.51805868081277×10−6⁢y2+0.520828698460220⁢x3+2.48682307870096×10−6⁢y⁢x2−2.34026244956660×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.33619010335823+0.00138405371522788⁢I⁢−0.563243378346106+0.⁢I+3.15399383486919×10−10−0.0000272293890141111⁢I⁢x+−9.99721735744224×10−11+0.0000398337975347528⁢I⁢y+0.563243374464763+0.0000246224743767121⁢I⁢x2−8.65008148054685×10−9+0.0000388463671328584⁢I⁢x⁢y+0.563243379992084+0.0000319121754359758⁢I⁢y2⁢0.532173243933621−0.000251457665365619⁢I+−3.38789333275673×10−11+7.37229906536008×10−6⁢I⁢x−1.32709965941180×10−8+0.0000153645870134051⁢I⁢y−3.07395251093478×10−9+4.12354418671067×10−6⁢I⁢x2+7.05065898735183×10−9+0.0000239417006586643⁢I⁢x⁢y−8.60670859921420×10−10+0.0000123372268822169⁢I⁢y2+0.532173243133265−0.000244041924962185⁢I⁢x3−2.53074133071583×10−9+2.35423260814531×10−6⁢I⁢y⁢x2+−3.19409226541232×10−10+4.05319818908638×10−6⁢I⁢y2⁢x+−0.532173249298037+0.000239875827130997⁢I⁢y3
sort⁡fnormal⁡expand⁡aF_4I,6,x,y
1.⁢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