In the mathematical subfield of numerical analysis, the Horner scheme or Horner algorithm, named after William George Horner, is an algorithm for the efficient evaluation of polynomials in monomial form.
Given the polynomial
To accomplish this, we define a new sequence of constants as follows:
To see why this works, note that the polynomial can be written in the form
Thus, by iteratively substituting the into the expression,
2 | 4 -6 0 3 | -5
The answer is
The Horner scheme is often used to convert between different positional numeral systems — in which case x is the base of the number system, and the ai coefficients are the digits of the base-x representation of a given number — and can also be used if x is a matrix, in which case the gain in computational efficiency is even greater.
The Horner scheme can also be viewed as a fast algorithm for dividing a polynomial by a linear polynomial (see Ruffini's rule).
Evaluation using the monomial form of a degree-n polynomial requires at most n additions and (n2+n)/2 multiplications, if powers are calculated by repeated multiplication. Horner's scheme requires only n additions and n multiplications. (Minimizing the number of multiplications is desirable because they are time consuming and numerically unstable compared to addition.) Alternatively, Horner's scheme can be computed with n fused multiply-adds.
It has been shown that the Horner scheme is optimal, in that any algorithm to evaluate an arbitrary polynomial must use at least as many steps. That the number of additions required is minimal was shown by Alexander Ostrowski in 1954, that the number of multiplications is minimal by Victor Pan 1966. When x is a matrix, the Horner scheme is not optimal.
This assumes that the polynomial is evaluated in monomial form and no preconditioning of the representation is allowed, which makes sense if the polynomial is evaluated only once. However, if preconditioning is allowed and the polynomial is to be evaluated many times, then faster algorithms are possible. They involve a transformation of the representation of the polynomial. In general, a degree-n polynomial can be evaluated using only multiplications and n additions D.E. Knuth: The Art of Computer Programming, Vol.2
Even though the algorithm is named after William George Horner, who described it in 1819, the method was already known to Isaac Newton in 1669, and even earlier to the Chinese mathematician Ch'in Chiu-Shao in the 13th century.
Horner-Schema | Algoritmo de Horner | Méthode de Hörner | Hornerschema | Schemat Hornera | Esquema de Horner | Horners algoritm
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Horner scheme".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world