Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests for polynomial root finders #4

Open
ivan-pi opened this issue Sep 15, 2022 · 0 comments
Open

Tests for polynomial root finders #4

ivan-pi opened this issue Sep 15, 2022 · 0 comments
Labels
tests Test cases

Comments

@ivan-pi
Copy link
Contributor

ivan-pi commented Sep 15, 2022

I have extracted the polynomials from an early issue of ACM TOMS (in case anyone is interested in the Algol code, a copy is available here):

Grau, A. A. (1960). Solution of polynomial equation by Bairstow-Hitchcock method. Communications of the ACM, 3(2), 74-75. https://doi.org/10.1145/366959.366966

I've attached the polynomials in the MPSolve polynomial file format: polyBH.tar.gz. MPSolve can be used to find the roots with arbitrary precision. (Some of the polynomials have nice roots, which could be easily specified analytically.)

The ground work for testing polynomial root solvers are laid out in

Jenkins, M. A., & Traub, J. F. (1975). Principles for testing polynomial zero finding programs. ACM Transactions on Mathematical Software (TOMS), 1(1), 26-34. https://doi.org/10.1145/355626.355632

which also provides a collection of test polynomials.

The following resources also provide or refer to collections of test polynomials:

  • Lang, M., & Frenzel, B. C. (1994). Polynomial root finding. IEEE Signal Processing Letters, 1(10), 141-143. [PDF]
  • Malek, F. (1995). Polynomial zerofinding matrix algorithms. University of Ottawa (Canada). [PDF]; (I've done my best to transcribe these polynomials from the thesis in the file getpoly.f.txt, however a few support routines are missing and the code is in terrible shape)
  • Edelman, A., & Murakami, H. (1995). Polynomial roots from companion matrix eigenvalues. Mathematics of Computation, 64(210), 763-776. https://doi.org/10.1090/S0025-5718-1995-1262279-2
  • Zeng, Z. (2004). Algorithm 835: MultRoot---a Matlab package for computing polynomial roots and multiplicities. ACM Transactions on Mathematical Software (TOMS), 30(2), 218-236. https://doi.org/10.1145/980175.980189

That's about all I can do for one evening.

jacobwilliams added a commit that referenced this issue Sep 17, 2022
some cleanup of test program
@jacobwilliams jacobwilliams added the tests Test cases label Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Test cases
Projects
None yet
Development

No branches or pull requests

2 participants