PolyRoot - A companion application to RPN Calculator that finds roots of polynomials of degree 10 or less.
Version: 1.56PolyRoot is a companion to RPN Calculator, which is visually apparent when you launch it.
License: Free
Operating System: Mac OS X
Homepage: www.rpncalculator.net
Developed by:
PolyRoot is a useful tool if you want to find the roots of any polynomial of degree 10 or less.
The polynomial can have real or complex coefficients, and the roots (of course) can be real or complex. It is designed with flexibility and mathematical robustness in mind, much like RPNC.
PolyRoot uses the same text parsing code as RPNC, which means that it can read and write complex coefficients in several forms, and will interpret them accordingly, whether they are entered as rectangular or polar (degrees or radians). Just remember that they need to look like a + i b or m @ arg. Adding a º symbol or d or deg (etc.) will force the argument to be interpreted as degrees.
PolyRoot allows for near seamless integration with RPN Calculator and via copy & paste and drag & drop. From this point of view, it is essentially an extension of RPN Calculator. The reason for a separate applications is that the problem of finding roots is NOT trivial, and RPNC was already getting too big without adding this functionality! Not only that, but a fresh app allows for a few more elegant ideas to be used, such as the way PolyRoot resizes itself in height (automatic) and width (manual). These things would have been possible in RPNC, but it makes more sense this way.
PolyRoot uses several techniques for finding roots. With the exception of the Degree 1 case, the methods used are based on those given in Chapter 5 of Numerical Recipes, 2nd Edition. Here is a summary:
Degree 1 (lines) --> Simple real or complex division is used.
Degree 2 (parabolas) --> Quadratic formula (sort of) is used. The method used avoids roundoff errors when b^2 is close to 4*a*c in magnitude. See Numerical Recipes (www.nr.com) for more info.
Degree 3 (cubics) --> Cubic formulas are used. These are sort of complicated, but they are robust. Again, see NR for more details.
Degree 4 and higher --> Laguerre iterative routine with root polishing is used.
Limitations:
· RPN Calculator required.