Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Calculating Polynomials We will use a generic polynomial form of: where the coefficient values are known constants The value of x will be the input and.

Similar presentations


Presentation on theme: "1 Calculating Polynomials We will use a generic polynomial form of: where the coefficient values are known constants The value of x will be the input and."— Presentation transcript:

1 1 Calculating Polynomials We will use a generic polynomial form of: where the coefficient values are known constants The value of x will be the input and the result is the value of the polynomial using this x value

2 2 Standard Evaluation Algorithm result = a[0] + a[1]*x xPower = x for i = 2 to n do xPower = xPower * x result = result + a[i]*xPower end for return result

3 3 Analysis Before the loop, there is –One multiplication –One addition The for loop is done N-1 times –There are two multiplications in the loop –There is one addition in the loop There are a total of –2N – 1 multiplications –N additions

4 4 Horner’s Method Based on the factorization of a polynomial The generic equation is factored as: For example, the equation: would be factored as:

5 5 Horner’s Method Algorithm result = a[n] for i = n - 1 down to 0 do result = result * x result = result + a[i] end for return result

6 6 Analysis The for loop is done N times –There is one multiplication in the loop –There is one addition in the loop There are a total of –N multiplications –N additions Saves N – 1 multiplications over the standard algorithm

7 7 Preprocessed Coefficients Uses a factorization of a polynomial based on polynomials of about half the original polynomial’s degree For example, where the standard algorithm would do 255 multiplications to calculate x 256, we could square x and then square the result seven more times to get the same result

8 8 Preprocessed Coefficients Used with polynomials that are monic (a n =1) and have a highest power that is one less than a power of 2 If the polynomial has highest power that is 2 k – 1, we can factor it as: where j = 2 k -1

9 9 Preprocessed Coefficients If we choose b so that it is a j-1 – 1, q(x) and r(x) will both be monic, and so the process can be recursively applied to them as well

10 10 Preprocessed Coefficients Example For the example equation of: because the highest degree is 3 = 2 2 –1, j would be 2 1 = 2, and b would have a value of a 1 – 1 = 6 This makes one factor x 2 + 6, and we divide p(x) by this polynomial to find q(x) and r(x)

11 11 Preprocessed Coefficients Example The division is: which gives

12 12 Analysis We analyze preprocessed coefficients by developing recurrence relations for the number of multiplications and additions In the factorization, we break the polynomial up into two smaller polynomials and do one additional multiplication and two additional additions

13 13 Analysis Because we required that N = 2 k – 1, we get: M(1) = 0A(1) = 0 M(k) = 2M(k–1) + 1A(k) = 2A(k–1) + 2 Solving these equations gives about N/2 multiplications and (3N – 1)/2 additions We need to include the k – 1 (or lg N) multiplications needed to calculate the series of values x 2, x 4, x 8, …

14 14 Polynomial Algorithm Comparison For the example polynomial: –Standard algorithm: 5 multiplications and 3 additions –Horner’s method 3 multiplications and 3 additions –Preprocessed coefficients 2 multiplications and 4 additions

15 15 Polynomial Algorithm Comparison In general, for a polynomial of degree N: –Standard algorithm: 2N – 1 multiplications and N additions –Horner’s method N multiplications and N additions –Preprocessed coefficients N/2 + lg N multiplications and (3N – 1)/2 additions

16 16 Linear Equations A system of linear equations is a set of N equations in N unknowns: a 11 x 1 + a 12 x 2 + a 13 x 3 + … + a 1N x N = b 1 a 21 x 1 + a 22 x 2 + a a3 x 3 + … + a 2N x N = b 2  a N x 1 + a N2 x 2 + a N3 x 3 + … + a NN x N = b N

17 17 Linear Equations When these equations are used, the coefficients (a values) are constants and the results (b values) are typically input values We want to determine the x values that satisfy these equations and produce the indicated results

18 18 Linear Equation Example An example set of linear equations with three unknowns is: 2x 1 – 4x 2 + 6x 3 = 14 6x 1 – 6x 2 + 6x 3 = 24 4x 1 + 2x 2 + 2x 3 = 18

19 19 Solving Linear Equations One method to determine a solution would be to substitute one equation into another For example, we solve the first equation for x 1 and then substitute this into the rest of the equations This substitution reduces the number of unknowns and equations

20 20 Solving Linear Equations If we repeat this, we get to one unknown and one equation and can then back up to get the values of the rest If there are many equations, this process can be time consuming, prone to error, and is not easily computerized

21 21 Gauss-Jordan Method This method is based on the previous idea We store the equation constants in a matrix with N rows and N+1 columns For the example, we would get: 2-4614 6-6624 42218

22 22 Gauss-Jordan Method We perform operations on the rows until we eventually have the identity matrix in the first N columns and then the unknown values will be in the final column: 100x1x1 010x2x2 001x3x3

23 23 Gauss-Jordan Method On each pass, we pick a new row and divide it by the first element that is not zero We then subtract multiples of this row from all of the others to create all zeros in a column except in this row When we have done this N times, each row will have one value of 1 and the last column will have the unknown values

24 24 Example Consider the example again: We begin by dividing the first row by 2, and then subtract 6 times it from the second row and 4 times it from the third row 2-4614 6-6624 42218

25 25 Example Now, we divide the second row by 6, and then subtract -2 times it from the first row and 10 times it from the third row 1-237 06-12-18 010-10

26 26 Example Now, we divide the third row by 10, and then subtract -1 times it from the first row and -2 times it from the second row 101 01-2-3 001020

27 27 Example This gives the result of: And we have that x 1 = 3, x 2 = 1, and x 3 = 2 1003 0101 0012


Download ppt "1 Calculating Polynomials We will use a generic polynomial form of: where the coefficient values are known constants The value of x will be the input and."

Similar presentations


Ads by Google