synthetic division

Let a,b,q,r be polynomials of the form

p=k=0σppkxk

such that σp is the degree of p.
We define that if k<0 or k>σp, then pk=0.

Specifically, let σa=n, and σb=m, and σq=(nm), and σr=(m1).

Then synthetic division of a by b can be expressed as a=bq+r, and calculated using the following algorithm:

  1. Arrange the n coefficients ai of a by decreasing order in the top row.
  2. Arrange the m coefficients bj of b by increasing order in the leftmost column.
  3. Separate the final coefficient bm with a horizontal line and a "spacer" row.
  4. Fill the empty spaces of the first column (the column corresponding to coefficient an) up to the horizontal line with 0's.
  5. Record the sum of the first column (simply an) in the first column of the col "spacer" row.
  6. Divide the sum by bm, and record that value as qnm in the first column of the ÷bm "quotient" row.
    1. qnm is notated such because by our definition of q, it is thus the coefficient of the highest degree term in q, since q has order (nm).
  7. Place the value of qnm in a diagonal, from the open bottom left position towards the top right, multiplying in each jth row the value of the coefficient bj to the value of qnm.
  8. Fill above this diagonal with 0's.
  9. Record the sum of the fully populated second column in the col "spacer" row (denoted here for convenience)
  10. Divide the sum by bm, and record that value as qnm1 in the second column of the ÷bm "quotient" row.
    1. This index indicates the coefficient of the second highest degree term.
  11. Place the value of qnm1 in a diagonal, from the open bottom left position towards the top right, multiplying in each jth row the value of the term bj to the value of qnm1.
  12. Sum the next column, and repeat until the value q0 is calculated and (b0)(q0) is placed below a0. Fill the rest of the table with 0's, and the sum of each remaining column is the remainder after division, as following the table below:
anan1an2an3am+2am+1amam1am2am3a2a1a0b00000(b0)(qm+2)(b0)(qm+1)(b0)(qm)(b0)(qm1)(b0)(qm2)(b0)(qm3)(b0)(q2)(b0)(q1)(b0)(q0)b10000(b1)(qm+1)(b1)(qm)(b1)(qm1)(b1)(qm2)(b1)(qm3)(b1)(qm4)(b1)(q1)(b1)(q0)0b20000(b2)(qm)(b2)(qm1)(b2)(qm2)(b2)(qm3)(b2)(qm4)(b2)(qm5)(b2)(q0)00bm3000(bm3)(qnm)(bm3)(q5)(bm3)(q4)(bm3)(q3)(bm3)(q2)(bm3)(q1)(bm3)(q0)000bm200(bm2)(qnm)(bm2)(qnm1)(bm2)(q4)(bm2)(q3)(bm2)(q2)(bm2)(q1)(bm2)(q0)0000bm10(bm1)(qnm)(bm1)(qnm1)(bm1)(qnm2)(bm1)(q3)(bm1)(q2)(bm1)(q1)(bm1)(q0)00000colanrm1rm2rm3r2r1r0÷bmqnmqnm1qnm2qnm3q2q1q0

The algorithm determines that the polynomial a can be written a=bq+r, where q=k=0nmqkxk is the quotient and r=k=0m1rkxk is the remainder after division of a by b.

Note we defined that for polynomial coefficient pk of p: if k<0 or k>σp, then pk=0. Depending on the actual values of n and m, some coefficients in q listed in the table may evaluate to 0.


Examples (Abstract)

Example 1

Let σa=7,σb=3.
Then σq=(73)=4

a7a6a5a4a3a2a1a0b0000(b0)(q4)(b0)(q3)(b0)(q2)(b0)(q1)(b0)(q0)b100(b1)(q4)(b1)(q3)(b1)(q2)(b1)(q1)(b1)(q0)0b20(b2)(q4)(b2)(q3)(b2)(q2)(b2)(q1)(b2)(q0)00cola7r2r1r0÷b3q4q3q2q1q0
k qk ak
k=7 a7=b3q4
k=6 a6=b2q4+b3q3
k=5 a5=b1q4+b2q3+b3q2
k=4 q4=1b3(a7) a4=b0q4+b1q3+b2q2+b3q1
k=3 q3=1b3(a6+(b2)(q4)) a3=b0q3+b1q2+b2q1+b3q0
k=2 q2=1b3(a5+(b2)(q3)+(b1)(q4)) a2=r2+b0q2+b1q1+b2q0
k=1 q1=1b3(a4+(b2)(q2)+(b1)(q3)+(b0)(q4)) a1=r1+b0q1+b1q0
k=0 q0=1b3(a3+(b2)(q1)+(b1)(q2)+(b0)(q3)) a0=r0+b0q0

Example 2

Let σa=8,σb=4.
Then σq=(84)=4

a8a7a6a5a4a3a2a1a0b00000(b0)(q4)(b0)(q3)(b0)(q2)(b0)(q1)(b0)(q0)b1000(b1)(q4)(b1)(q3)(b1)(q2)(b1)(q1)(b1)(q0)0b200(b2)(q4)(b2)(q3)(b2)(q2)(b2)(q1)(b2)(q0)00b30(b3)(q4)(b3)(q3)(b3)(q2)(b3)(q1)(b3)(q0)000cola8r3r2r1r0÷b4q4q3q2q1q0
k ak
k=8 a8=b4q4
k=7 a7=b3q4+b4q3
k=6 a6=b2q4+b3q3+b4q2
k=5 a5=b1q4+b2q3+b3q2+b4q1
k=4 a4=b0q4+b1q3+b2q2+b3q1+b4q0
k=3 a3=r3+b0q3+b1q2+b2q1+b3q0
k=2 a2=r2+b0q2+b1q1+b2q0
k=1 a1=r1+b0q1+b1q0
k=0 a0=r0+q0b0

Examples (Concrete)

#WIP


Proof

By definition, pk is the coefficient of xk in p.
Subject to the constraint "if k<0 or k>σp, then pk=0",
if a=bq+r, then

ak=rk+i=0mbiqki

since bi is the coefficient for xi, qki is the coefficient for xki, and their product biqki is the coefficient for xixki=xki+i=xk. It thus can be linearly combined with the coefficient rk of xk in r to construct a single monomial of order k.

Since σr=(m1),
since we defined that for polynomial coefficient pk of p: if k<0 or k>σp, then pk=0,
an equivalent expression for ak is

ak={i=0mbiqki,kmrk+i=0mbiqki,k<m

with the understanding that some coefficients of q will evaluate to 0.

It suffices to show that the synthetic division algorithm produces coefficients which satisfy this relation, with respect to a chosen a and b.

The synthetic division algorithm produces quotient coefficients

qk=1bm(am+k+i=0m1(bi)(qm+ki))

when 0k(nm), allowing that indices corresponding to non-existent coefficients will evaluate to 0.

Rewriting for a,

am+k=bmqk+i=0m1biqm+kiak=i=0mbiqki

for mkn.

Additionally, the synthetic division algorithm produces remainder coefficients

rk=ak+i=0k(bi)(qki)

for 0k(m1).

Rewriting for a,

ak=rk+i=0kbiqki

for 0k(m1).

Therefore, we have

ak={i=0mbiqki,kmrk+i=0mbiqki,k<m

and the algorithm is verified.

Powered by Forestry.md