Polynomials with multiple roots solved
A given polynomial having multiple roots is solved by the routine
Z = poly_roots(p)
where
Input p: polynomial coefficient vector
Output Z: root-multiplicity pairs
The MATLAB source code is very simple and compact (fewer then 50 lines) and amazingly gives the expected results for any test polynomials of very high degree and multiplicities.
In this simple routine 'poly_roots.m', except for a MATLAB built-in function 'roots.m', all the required computations involve only simple elementary arithematic operations (such
as additions, subtractions, multiplications, divisions, and integer exponations), without applying any high mathematics. The only routine 'roots.m' is used here mainly to solve a simple roots polynomial (not any multiple roots polynomials).
Most of the calculations in this routine involve elementary arithematic operations, therefore, it is fairly easy to improve the expected results from the existing double precision to vpi' multiple precision.
For detail description, please refer to
F.C. Chang, "Solving multple-root polynomials" IEEE Antennas and Propagation Magazine, Vol.51, No.6, pp. 151-155, Dec. 2009.
引用格式
Feng Cheng Chang (2024). Polynomials with multiple roots solved (https://www.mathworks.com/matlabcentral/fileexchange/25375-polynomials-with-multiple-roots-solved), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- MATLAB > Mathematics > Elementary Math > Polynomials >
标签
致谢
参考作品: poly_gcd(p,q), Multiple-root polynomial solved by partial fraction expansion, Polynomial coefficient vector derived from sub-polynomial factors
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.9.0.0 | Correct a tiny bug, pinpointed by a reader. |
||
1.8.0.0 | Minor correction to poly_roots.m |
||
1.7.0.0 | Update the original source code. It involves only simple elementary operations, except 'roots.m'. It may easily convert into multiple precision later. |
||
1.6.0.0 | add some examples |
||
1.5.0.0 | Update the m-file to speed up operations. Also present 17 typical examples for test polynomials in MATLAB script file. |
||
1.2.0.0 | Update m-file -- improve help description |
||
1.1.0.0 | Update the m-file, the very small roots can thus be solved. |
||
1.0.0.0 |