Polynomial Root finder
(Hit count: 243686)This Polynomial solver finds the real or complex roots (or zeros) of a polynomial of any degree with either real or complex coefficients. The method was original based on a modified Newton iteration method developed by Kaj Madsen back in the seventies, see: [K.Madsen: "A root finding algorithm based on Newton Method" Bit 13 1973 page 71-75]. However I have recently added other methods: Ostrowski, Halley's, Householder 3rd order, Jenkins-Traub, Laguerre's, Eigenvalue, Durand-Kerner, Aberth-Ehrlich, Chebyshev, Ostrowski Square root method, Arithmetic Mean Newton & Steffensen method. See the Authors paper on the subject Read more ... Notice that all methods are so called modified method's, which maintain there convergence rate even for multiple roots.
Corrections:
5-Mar-2024 | Introduce Autoscaling, no autoscaling in plotting of graph and 2D contour |
20-Dec-2023 | Added 2D Contour plot |
23-Nov-2023 | Added 3D Surface plot |
30-Oct-2023 | Improve the termination criterion for the Durand-Kerner and the Anerth method |
22-Oct-2023 | Switched to the Plotly librariy for the graphic. The issue with the Plot function has been fixed |
12-Jul-2021 | Fixed a bug in parsing Polynomial involving non-integer number to the ^ operator |
24-Jun-2020 | Added Steffensen & Arithmetic Mean Newton root method |
6-Jun-2020 | Added Chebyshev & Ostrowski Square root method |
26-Apr-2020 | Added Durand-Kerner and Aberth-Ehrlich method |
22-Apr-2020 | Fix a bug in the Halley method for multiplicity greater than 1 |
17-Apr-2020 | Fix a bug in the Ostrowski method |
16-Mar-2020 | Added the Laguerre's and the Eigenvalue methods for finding zeros of Polynomials with either real or complex coefficients |
31-Jan-2020 | Added the fameous Jenkins-Traub methods for finding zeros of Polynomials with either real or complex coefficients |
29-Jan-2020 | Fixed an issue where the test for newton convergence produce a wrong result making Newton, Halley & Householder failed for large polynomials |
17-Jan-2020 | Added 3 extra methods, Halley, Householder 3rd and Ostrowski |
1-Nov-2019 | GUI redesigned |
25-Oct-2018 | Fix a bug where the wrong Complex arithmetic libraries was uploaded to the web site. |
24-Mar-2014 | Fixed several parsing issues involving cascade power e.g. i^2, i^3^2 and cascade power for x e.g. x^2^3 etc. Fixed also an overflow issue when dealing with polynominal with a degree exceeding 174. e.g. x^175+1. Thanks to Kaspii Kaspars & Wei Xu for reporting this. |
21-Apr-2011 | Email button added, for Emailing the result. |
17-Apr-2011 | Layout changes and switching to using canvas object for HTML graphic. Now Print also print the Graphic of the Roots, Function Values and Convergence Power |
16-Nov-2009 | A parsing error was corrected -x^2 was incorrectly parsed as x^2 while -1x^2 was handle correctly |
28-Oct-2009 | A parsing error was corrected involving proper treatment of the exponent E or e in the expression like1.31E-06 |
20-Jun-2009 | Works now with the Safari Browser |
14-Apr-2009 | Fixed a bug that allowed overflow in calculation caused by unreasonable step size for large polynomials greater than x^27 resulting in some incorrect roots. |
24-Feb-2009 | Parsing bug corrected that incorrectly did not recognized an implicit multiplication in complex expression. |
01-Jan-2009 | Parsing bug corrected that left out the constant term in some situations |
23-Oct-2008 | Detect a constant as a non polynomial and report an error |
05-Sep-2008 | Works with Google Chrome |
18-Jul-2008 | Works with IE7, Firefox 2 & 3 and add polynomial expression as input |
30-Oct-2007 | Complex coefficients with an implicit value e.g (i) was interpreted as i0 instead of i1 |
29-July-2007 | Now roots point in the graphic display will also be printable |
12-July-2007 | A bug has been fixed for polynomial with roots of zeros. |
07-Dec-2006: | A small FireFox 2.0 bug was corrected on Dec 8, 2006. The problem was that separation of sign and arguments was not done correctly due to a differences in the Regular expression split function. (Thanks to Brian Phelan for making me aware of the problem and providing the fix) |