Polynomial Root Calculator

Given a real or complex polynomial \[ p(x)=a_nx^n + a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x+a_0,\] this application calculates the roots $r$'s of the polynomial such that $p(r)=0$. The calculator find the polynomial roots using the Jenkins–Traub algorithm as implemented in Algorithm 419 and Algorithm 493 in the references below. Actually, this calculator use the codes translated from both algorithms. The original Fortran codes should be used if you require better performance.

Input Data

This calculator require that the coefficients and the exponents of the terms of $p(x)$ are entered in two-column matrix with the coefficients in the first column and the corresponding exponents in the second. For example the polynomial $a_nx^n + a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x+a_0$ can be entered as

a_n     n
.....
a_1     1
a_0     0
or entered as
a_1     1
.....
a_n     n
a_0     0
or in other orders if you want. You can ignore terms with zero coefficients, say $x^2 - 9$ can be entered as
 1     2
-9     0
ignoring the term $0\cdot x^1$. Note that the first column is for coefficients which can be real or complex numbers and the second column is for exponents which are nonnegative integers. For more detail of entering matrix data see Matrix Data Input.

Reference

  1. Jenkins, M. A. and Traub, J. F. (1972), Algorithm 419: Zeros of a Complex Polynomial, Comm. ACM, 15, 97–99.
  2. Jenkins, M. A. (1975), Algorithm 493: Zeros of a Real Polynomial, ACM TOMS, 1, 178–189.

Polynomial Root Calculator