Factoring a multiple-root polynomial

版本 1.0.0.0 (3.2 KB) 作者: Feng Cheng Chang
A multiple-root polynomial is factored into lower-degree distict-root polynomials, then solved.
1.9K 次下载
更新时间 2008/4/21

查看许可证

A given multiple-root polynomial is factored into lower-degree distict-root polynomials with natual-order-integer powers. All roots may thus be solved with easy.

The more multiplicities the polynomial roots possess, the more efficient the routine will be. This is contrary to the general public issue.

When coefficients of given polynomial are all integers, then this routine involves only simple arithmetric operations, such as pure integer addition and multiplication, and no floating point compuations in process. The round-off errors may thus be eliminated, if no numerical digital overflow occurs.

The crucial concern is polynomial GCD computation. The classical Euclidean GCD algorithm is employed here, even though it is numerically unstable.

Amazingly, this simple routine gives the exact results for test polynomials of fairly high degrees, such as

p(x) = (x + 1)^50
p(x) = (x^4 - 1)^25
p(x) = (x - 123456789)^4
p(x) = (123x + 456)^4
p(x) = (x^4 -2x^3 +3x^2 -4x +5)^12

Reference:
F C Chang, "Factorization of Multiple-Root Polynomials,"
via fcchang007@yahoo.com

引用格式

Feng Cheng Chang (2024). Factoring a multiple-root polynomial (https://www.mathworks.com/matlabcentral/fileexchange/19249-factoring-a-multiple-root-polynomial), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R13
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0

Revise a error 4/18/2008