Date of this Version
Computers use algorithms to evaluate polynomials. This paper will study the efficiency of various algorithms for evaluating polynomials. We do this by counting the number of basic operations needed; since multiplication takes much more time to perform on a computer, we will count only multiplications. This paper addresses the following: a) How many multiplications does it take to evaluate the one-variable polynomial, Σ= + + + + = n i i i n n a a x a x a x a x 0 2 0 1 2 ... when the operations are performed as indicated? (Remember that powers are repeated multiplications and must be counted as such.) Write this number of multiplications as a function of n. b) Use mathematical induction to prove that your answer is correct. c) Find another way to evaluate this polynomial by doing the operations in a different order so that fewer multiplications are needed. Hint: Think of ways to intermix addition and multiplication and experiment with polynomials of lower degree. Write the number of multiplications as a new function of n. The best algorithm will use only n multiplications. Explain the algorithm you will use. d) How many multiplications does it take to evaluate the two-variable polynomial, ΣΣ = = n i n j i j ij a x y 0 0 when the operations are performed as indicated? Write this number of multiplications as another function of n. e) Use mathematical induction to prove that your answer is correct. f) Find another way to evaluate the two-variable polynomial by doing the operations in a different order so that fewer multiplications are required. Write down the associated function of n. Do you think that this is the most efficient algorithm? If not hunt for a better algorithm.