Computing multiple roots of polynomials with improved accuracy.

Algorithm to improve the accuracy of the MATLAB 'roots' function with multiple roots.

You are now following this Submission

Polynomials with multiple roots are a challenge for traditional root finding algorithms, as their accuracy and numerical stability can be severely affected.
This problem can be reduced by dividing the polynomial of interest, by the greatest common divisor or itself and its derivative. One can easily show that this results in a polynomial with non-multiple roots.
The proposed algorithm works as follows:

1. Divide the input polynomial by the greatest common factor of itself and its first derivative.
2. Find roots of resulting polynomial.
3. Finally, determine multiplicity of each root.

Cite As

Mauricio Martinez-Garcia (2026). Computing multiple roots of polynomials with improved accuracy. (https://se.mathworks.com/matlabcentral/fileexchange/56818-computing-multiple-roots-of-polynomials-with-improved-accuracy), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0