Sunday, September 29, 2024

TI-30Xa Algorithm: Synthetic Division

TI-30Xa Algorithm:  Synthetic Division



Introduction


Synthetic division is a fairly simple division algorithm that divides a polynomial by the nominal (x-a):


p(x) / (x  - c) where


p(x) = a_n * x^n + a_n-1 * x^(n-1) + a_n-2 * x^(n - 2) + … + a_1 * x + a_0

c = a numerical constant


the result, q(x), is a polynomial of order n-1:


q(x) = b_n-1 * x^(n-1) + b_n-2 * x^(n - 2) + … + b_1 * x + b_0 + b_r / (x - c)

b_r = remainder term


where 


b_n-1 = a_n

b_i-1 = b_i  * c + a_i for i = n-2 down to r (“-1”, see the example below)  


For example, for the polynomial:


p(x) = a3 * x^3 + a2 * x^2 + a1 * x + a0


q(x) = p(x) / (x - c) 


p(x) has the order n = 3, so q(x) will have the order n = 3 - 1 = 2:


q(x) = b2 * x^2 + b1 * x + b0 + br / (x - c)


b2 = a3

b1 = b2 * c + a2

b0 = b1 * c + a1

br = b0 * c + a0  (the algorithm stops, this is the remainder term)


If br = 0, the x - c divides p(x) evenly, and x = c is a root of p(x).  


Note: for any “missing” terms, fill the term with 0.   

Example:  x^3 + 4 * x - 5 becomes x^3 + 0 * x^2 + 4 * x - 5.



Calculator Algorithm


  1. Store c in one of the memory registers 1, 2, or 3.   We’ll call this memory register m for the purpose of the blog.

  2. Note the first coefficient of q(x):  a_n

  3. Compute the rest of the coefficients as follows:  [ × ] [ RCL ] m [ + ] a_ni [ = ]



Examples


Remember:  m is memory register 1, 2, or 3, your choice.  


Example 1:  (21 * x^2 + 42 * x + 144) / (x - 12) 


c = 12

a2 = 21

a1 = 42

a0 = 144


b1 = a2 = 21


12 [ STO ] m

Enter 21


b0:

[ × ] [ RCL ] m [ + ] 42 [ = ]

Result:  294


br:

[ × ] [ RCL ] m [ + ] 144 [ = ]

Result:  3672

Stop.


q(x) = 21 * x + 294 + 3672 / (x - 12)



Example 2:  (2 * x^3 + x - 3) / (x - 3) = (2 * x^3 + 0 * x^2 + x - 3) / (x - 3)


c = 3

a3 = 2

a2 = 0

a1 = 1

a0 = -3


b2 = a3 = 2

3 [ STO ] m

Enter 2


b1:

[ × ] [ RCL ] m [ + ] 0 [ = ]

Result:  6


b0:

[ × ] [ RCL ] m [ + ] 1 [ = ]

Result:  19


br:

[ × ] [ RCL ] m [ + ] 3 [ +/- ]  [ = ]

Result:  54


q(x) = 2 * x^2 + 6 * x + 19 + 54 / (x - 3)


Example 3:  (4 * x^3 + 8 * x^2 - 5 * x + 3) / (x + 2)


c = -2

a3 = 4

a2 = 8

a1 = -5

a0 = 3


b2 = a3 = 4


2 [ +/- ] [ STO ] m 

Enter 4


b2:

[ × ] [ RCL ] m [ + ] 8 [ = ]

Result:  0


b3:

[ × ] [ RCL ] m [ + ] 5 [+/-] [ = ]

Result:  -5


br:

[ × ] [ RCL ] m [ + ] 3 [ = ]

Result:  13


q(x) = 4 * x^2 - 5 + 13 / (x + 2)


I think this is a fundamental algorithm for students and math enthusiasts to learn, and it’s fairly simple to get a hang of it. 


Until next time,


Eddie


Quick update: Starting October 5, 2024, my schedule will allow me to blog once a week. Regular posts will go live every Saturday. Thank you for your support and compliments. I wish you all well.


All original content copyright, © 2011-2024. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


  

Casio fx-CG 50: Centroid of a 2D spaces

Casio fx-CG 50: Centroid of a 2D spaces The program CENTROID calculates the center point for an area covered by: y(x) ≥ 0, x ≥ low...