0

How can I calculate real roots as accurate as possible and find the multiplicity of each root for $$p(x)=10.0x^5+9.0x^4-16.2x^3-14.58x^2+6.561x+5.9049?$$

I know there are methods like bisection, secant, inverse-quadratic interpolation or Brent's method. Can anyone provide me a program that I can use to calculate the real roots and the multicplicity? Any suggestions will be greatly appreciated, thanks!

user60514
  • 323
  • Try WA if you just want to compare. – Amzoti Apr 28 '13 at 22:39
  • @Amzoti Thank you! If I was to attempt this by hand, which method would you prefer to use to find the roots of this polynomial? – user60514 Apr 28 '13 at 22:42
  • Try http://en.wikipedia.org/wiki/Root-finding_algorithm#Finding_multiple_roots_of_polynomials, but realize that the problems have all types of issues, rounding problems, division by small numbers, derivative requirements ... and it is always messy. Typically an array of methods is used to see if they converge using multiple methods. Regards – Amzoti Apr 28 '13 at 22:46
  • One thing to be wary of: the usual definition of multiplicity is not meaningful in this context, for exactly the same reason that checking if two numbers are equal is not meaningful. So just like the fact that equality testing has to be replaced with an approximate notion (test if the difference has magnitude less than some threshold), you'll have to devise a similar approximate notion for multiplicity... or don't even attempt to group them by multiplicity, and just report 0.123456781234 and 0.123456781276 (or 0.123456781234) as two different roots, rather than one with multiplicity 2. –  Apr 28 '13 at 23:01
  • @Amzoti Thanks ! – user60514 Apr 28 '13 at 23:12

1 Answers1

1

GNU Octave (http://www.gnu.org/software/octave/) is a free alternative to Matlab, and implements many numerical algorithms. It provides at least one algorithm to compute zeros of polynomials (http://www.gnu.org/software/octave/doc/interpreter/Finding-Roots.html), and probably provides at least the building blocks for many others.

fgp
  • 21,050