Toward accurate polynomial evaluation in rounded arithmetic (short report)

Given a multivariate real (or complex) polynomial p and a domain D, we would like to decide whether an algorithm exists to evaluate p(x) accurately for all x ∈ D using rounded real (or complex) arithmetic. Here "accurately" means with relative error less than 1, i.e., with some correct leading digits. The answer depends on the model of rounded arithmetic: We assume that for any arithmetic operator op(a, b), for example a+b or ab, its computed value is op(a, b)� (1+δ), where |δ| is bounded by some constant ǫ where 0 < ǫ ≪ 1, but δ is otherwise arbitrary. This model is the traditional one used to analyze the accuracy of floating point algorithms. Our ultimate goal is to establish a decision procedure that, for any p and D, either exhibits an accurate algorithm or proves that none exists. In contrast to the case where numbers are stored and manipulated as finite bit strings (e.g., as floating point numbers or rational numbers) we show that some polynomials p are impossible to evaluate accurately. The existence of an accurate algorithm will depend not just on p and D, but on which arithmetic operators and constants are available to the algorithm and whether branching is permitted in the algorithm. Toward this goal, we present necessary conditions on p for it to be accurately evaluable on open real or complex domains D. We also give sufficient conditions, and describe progress toward a complete decision procedure. We do present a complete decision procedure for homogeneous polynomials p with integer coefficients,D = C n , using only arithmetic operations +, − and � .