[Numpy-discussion] Numpy Jenkin's Traub?

Ryan J. Kinnear ryan at kinnear.ca
Thu Jul 14 00:16:15 EDT 2016


Dear list,

I'm working on implementing an ARMA(p, q) modeling method in Python.  
The particular method is described in section 4.7.1 of Statistical 
Digital Signal Processing and Modeling by Hayes.

The upshot is that I need to calculate the roots of a polynomial.

I've learned that this is a numerically ill conditioned problem, and 
have found many cases where np.roots produces roots that are clearly 
spurious.  This is causing me a lot of issues.

I have done some further searching and learned of the "Jenkins-Traub" 
algorithm for root finding, which seems to be considered the most robust 
method.  I found a Python implementation of this method here 
(https://github.com/vrdabomb5717/jenkins_traub), and it is certainly 
much more robust than np.roots.

Are there reasons for Jenkins-Traub not being implemented as part of 
Numpy?  It is built into Scilab 
(https://help.scilab.org/docs/6.0.0/en_US/roots.html)  Is anyone working 
on getting it into Numpy?

-RJK



More information about the NumPy-Discussion mailing list