General Complex Polynomial Root Solver and Its Further Optimization for Binary Microlenses
arXiv:1203.1034
Abstract
We present a new algorithm to solve polynomial equations, and publish its code, which is 1.6-3 times faster than the ZROOTS subroutine that is commercially available from Numerical Recipes, depending on application. The largest improvement, when compared to naive solvers, comes from a fail-safe procedure that permits us to skip the majority of the calculations in the great majority of cases, without risking catastrophic failure in the few cases that these are actually required. Second, we identify a discriminant that enables a rational choice between Laguerre's Method and Newton's Method (or a new intermediate method) on a case-by-case basis. We briefly review the history of root solving and demonstrate that "Newton's Method" was discovered neither by Newton (1671) nor by Raphson (1690), but only by Simpson (1740). Some of the arguments leading to this conclusion were first given by the British historian of science Nick Kollerstrom in 1992, but these do not appear to have penetrated the astronomical community. Finally, we argue that Numerical Recipes should voluntarily surrender its copyright protection for non-profit applications, despite the fact that, in this particular case, such protection was the major stimulant for developing our improved algorithm.
arXiv comment29 pages, 4 figures, 1 table, 3 appendices. Open-source codes described in this paper are available in the ancillary files directory (anc/) of this submission, and on the author's web page: http://www.astrouw.edu.pl/~jskowron/cmplx_roots_sg/
Cited by in corpus (13)
- Astrophysical Applications of Gravitational Microlensing
- VBBinaryLensing: a public package for microlensing light curve computation
- Microlensing Searches for Exoplanets
- OGLE-2011-BLG-0265Lb: a Jovian Microlensing Planet Orbiting an M Dwarf
- A companion on the planet/brown dwarf mass boundary on a wide orbit discovered by gravitational microlensing
- MOA 2011-BLG-028Lb: a Neptune-mass Microlensing Planet in the Galactic Bulge
- A public code for astrometric microlensing with contour integration
- Astrometric microlensing
- Starspot induced effects in microlensing events with rotating source star
- Multiple projection MCMC algorithms on submanifolds
- Fast computation of quadrupole and hexadecapole approximations in microlensing with a single point-source evaluation
- Kepler K2 Campaign 9: II. First space-based discovery of an exoplanet using microlensing
- NonlinearSchrodinger: Higher-Order Algorithms and Darboux Transformations for Nonlinear Schrödinger Equations