Computing machine-efficient polynomial approximations
Nicolas Brisebarre,Jean-Michel Muller,Arnaud Tisserand
DOI: https://doi.org/10.1145/1141885.1141890
IF: 2.464
2006-06-01
ACM Transactions on Mathematical Software
Abstract:Polynomial approximations are almost always used when implementing functions on a computing system. In most cases, the polynomial that best approximates (for a given distance and in a given interval) a function has coefficients that are not exactly representable with a finite number of bits. And yet, the polynomial approximations that are actually implemented do have coefficients that are represented with a finite---and sometimes small---number of bits. This is due to the finiteness of the floating-point representations (for software implementations), and to the need to have small, hence fast and/or inexpensive, multipliers (for hardware implementations). We then have to consider polynomial approximations for which the degree- i coefficient has at most m i fractional bits; in other words, it is a rational number with denominator 2 m i . We provide a general and efficient method for finding the best polynomial approximation under this constraint. Moreover, our method also applies if some other constraints (such as requiring some coefficients to be equal to some predefined constants or minimizing relative error instead of absolute error) are required.
computer science, software engineering,mathematics, applied