PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Revision difference : Horner's rule
Version current Version 6
Horner's rule is a technique to reduce the work required for the computation of a polynomial at a particular value. Its simplest form makes use of the repeated factorizations Horner's rule makes use of the repeated factorizations
\begin{eqnarray*} \begin{eqnarray*}
y & = & a_0 + a_1 x + a_2 x^2 + \cdots + a_n x^n \\ y & = & a_0 + a_1 x + a_2 x^2 + \cdots + a_n x^n \\
& = & a_0 + x(a_1 + x(a_2 + x(a_3 + \cdots +xa_n)) \cdots ) & = & a_0 + x(a_1 + x(a_2 + x(a_3 + \cdots +xa_n)) \cdots )
\end{eqnarray*} \end{eqnarray*}
of the terms of the $n$th degree polynomial in $x$ in order to reduce the computation of the polynomial (at some value of $x$) to $n$ multiplications and $n$ additions.
of the terms of the $n$th degree polynomial in $x$ in order to reduce the computation of the polynomial $y(a)$ (at some value $x = a$) to $n$ multiplications and $n$ additions.
The rule can be generalized to a finite series The rule can be generalized to a finite series
$$ y = a_0 p_0 + a_1 p_1 + \cdots + a_n p_n $$ $$ y = a_0 p_0 + a_1 p_1 + \cdots + a_n p_n $$
of orthogonal polynomials $p_k = p_k(x)$. Using the recurrence relation of orthogonal polynomials $p_k = p_k(x)$. Using the recurrence relation
$$ p_k = (A_k + B_k x) p_{k-1} + C_k p_{k-2} $$ $$ p_k = (A_k + B_k x) p_{k-1} + C_k p_{k-2} $$
one obtains
for orthogonal polynomials, one obtains $$ y=(a_0 + C_2 b_2) p_0 + b_1 p_1 $$
$$ y(a) = (a_0 + C_2 b_2) p_0(a) + b_1 p_1(a) $$
with with
\begin{eqnarray*} \begin{eqnarray*}
b_{n+1} & = & b_{n+2} = 0 , \\ b_{n+1} & = & b_{n+2} = 0 , \\
b_{k-1} & = & (A_k + B_k\cdot a) b_k + C_{k+1} + b_{k+1} + a_{k-1} b_{k-1} & = & (A_k + B_k x) b_k + C_{k+1} + b_{k+1} + a_{k-1}
\end{eqnarray*} \end{eqnarray*}
for the evaluation of $y$ at some particular $a$. This is a simpler calculation than the straightforward approach, since $a_0$ and $C_2$ are known, $p_0(a)$ and $p_1(a)$ are easy to compute (possibly themselves by Horner's rule), and $b_1$ and $b_2$ are given by a backwards-recurrence which is linear in $n$.
{\bf References} {\bf References}
\begin{itemize} \begin{itemize}
\item Originally from The Data Analysis Briefbook \item Originally from The Data Analysis Briefbook
(\PMlinkexternal{http://rkb.home.cern.ch/rkb/titleA.html}{http://rkb.home.cern.ch/rkb/titleA.html}) (\PMlinkexternal{http://rkb.home.cern.ch/rkb/titleA.html}{http://rkb.home.cern.ch/rkb/titleA.html})
\end{itemize} \end{itemize}