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.44406483319975⁢0.552477515351686−9.46729745577350×10−11⁢x−1.34863065022021×10−9⁢y−0.552477517557262⁢x2−2.03989792764670×10−9⁢x⁢y−0.552477516011369⁢y2⁢−0.525550037636230−6.82222545322290×10−10⁢x−3.43514241338219×10−9⁢y−7.62609004008427×10−10⁢x2+6.10950533033342×10−10⁢x⁢y+6.99437727875974×10−10⁢y2−0.525550038352441⁢x3−3.70256462533906×10−10⁢y⁢x2−8.19581364011395×10−10⁢y2⁢x+0.525550036492460⁢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.47266293000094⁢−0.552885827441145−9.97108941000953×10−6⁢x+0.0000179791567479051⁢y+0.552898569944418⁢x2+8.98886932467533×10−6⁢x⁢y+0.552899121071388⁢y2⁢0.520834024267511−5.33436675006424×10−6⁢x+0.0000175929390281242⁢y+4.50859262542757×10−6⁢x2−0.0000210937198292382⁢x⁢y+9.51805868057149×10−6⁢y2+0.520828698460089⁢x3+2.48682307869211×10−6⁢y⁢x2−2.34026244961223×10−6⁢y2⁢x−0.520822689868150⁢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.33619010250857−0.00138612068811785⁢I⁢0.563243378342766−0.⁢I+−3.11854963158353×10−10+0.0000272294190559388⁢I⁢x+9.59484023866126×10−11−0.0000398338053388040⁢I⁢y−0.563243374460697+0.0000246224698940000⁢I⁢x2+8.66638205488023×10−9+0.0000388463737235990⁢I⁢x⁢y−0.563243379994912+0.0000319121868867062⁢I⁢y2⁢0.532173243785897−0.000251787385887176⁢I+−3.48434702385247×10−11+7.37230980399005×10−6⁢I⁢x−1.32880444269199×10−8+0.0000153645724041642⁢I⁢y−3.07790140400092×10−9+4.12354147889653×10−6⁢I⁢x2+7.05861311843272×10−9+0.0000239417140052928⁢I⁢x⁢y−8.60791491508778×10−10+0.0000123372414848047⁢I⁢y2+0.532173242984454−0.000244371634452508⁢I⁢x3−2.53274232099494×10−9+2.35423155822770×10−6⁢I⁢y⁢x2+−3.21682849408933×10−10+4.05320747808123×10−6⁢I⁢y2⁢x+−0.532173249157492+0.000240205547653828⁢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