Applied Matheatics E-Notes, (0), 9 c ISSN 0-0 Available free at irror sites of http://wwwathnthuedutw/aen/ Polynoial Division By Convolution Feng Cheng Chang y Received 9 March 0 Abstract The division of a pair of given polynoials to nd its quotient reainder is derived by utilizing their convolution atrices This process is siple, e - cient direct, when copared to the failiar classical longh division synthetic division Introduction Before explaining our ethod, a polynoial ultiplication ethod is to be brie y reviewed Let p(x) = b(x)a(x) = a(x)b(x); where the polynoial p(x) of degree n+ is the product of a pair of given polynoials a(x) b(x) of degrees n, respectively, a(x) = X a`x `; a 0 = 0; nx b(x) = b`x n `; b 0 = 0; p(x) = n+ X n+ p`x `: If we let C(d) be the convolution atrix [ ] associated with the colun vector Matheatics Subject Classi cations: 0F0, 0F0, 0F, 8Q y Allwave Corporation, Torrance, CA 900, USA 9
0 Polynoial Division by Convolution d = (d 0 ; d ; :::; d t ) y ; that is, C(d) = d 0 0 d 0 d0 d d t 0 0 d t ; then it is easily veri ed that the coe cient vectors p = (p 0 ; p ; :::; p n+ ) y ; a = (a 0 ; a ; :::; a ) y b = (b 0 ; b ; :::; b n ) y of the polynoials p(x); a(x) b(x) respectively satisfy the relation that p k = in(0; ) X `=ax(0; k n) C(b) a = C(a) b = p; b k `a` = in(0; n) X `=ax(0; k ) a k `b`; k = 0; ; :::; n + : Using a siilar technique, the division of a pair of polynoials will be developed Let b(x) r(x) = q(x) + a(x) a(x) or b(x) = a(x) q(x) + r(x) where b(x) a(x) are the given dividend divisor of degrees n, n, q(x) r(x) are the resulting quotient reainder respectively, nx q(x) = q`x n `; r(x) = X r`x `:
F C Chang Likewise with a little ore anipulation, the polynoial division ay be expressed in a atrix for with entries of q = (q 0 ; q ; :::; q n ) y r = (r 0 ; r ; :::; r ) y being respectively the coe cient vectors of the polynoials q(x) r(x); C(a) 0 I q r = b: The process involves a convolution atrix, so we shall nae it convolution polynoial division or polynoial division by convolution This linear algebraic equation in atrix for ay explicitly be written as a 0 0 a 0 0 a a q 0 q n r 0 r = b 0 b n : Since a 0 = 0; the square atrix of the linear equation is non-singular; the desired solutions can thus be uniquely solved We ay also separate it into two parts for coputing q r: a 0 a 0 b 0 0 a b n a n a 0 c cq 0 cq n = c cq 0 cq n b n + a n + a a b n a c cq 0 cq n = cr 0 cr where c is a non-zero arbitrary constant, which ay be set to c = : The vector q ust be calculated consecutively in the eleent entry order, the vector r ay
Polynoial Division by Convolution then be directly coputed by siple atrix ultiplication When both a b are integer vectors, we ay set c = a n 0 + so that the coputed atrix entries are all integers Then the entire process becoes pure integer arithetic operations, such that the round o errors ay be copletely eliinated The corresponding coputer schee ay also be coded in the MATLAB environent The inputs b a, the outputs q r are the coe cient vectors of the given dividend b(x) divisor a(x), the resulting quotient q(x) reainder r(x) respectively The input c is an optional paraeter generally we set c = However, if the given b a are integer vectors, we ay set c = 0: Then cq cr are all in integer for, such that the coputational round o errors ay be eliinated Algorith: function [q,r,qc,rc] = polydiv_conv(b,a,c) % Polynoial division by convolution n = length(b); = length(a); if > n, q = 0; r = b; qc = 0; rc = b; c = ; return; end; if nargin <, c == ; end; w() = ; if c == 0, w() = a()^(n-+); end; for k = :n-+, w(k) = [b(k-),-a(in(k-,):-:)]*[w(),w(ax(,k+-):k-)] /a(); end for k = n-+:n+, w(k) = [b(k-),-a(in(,k-):-:k-+-n)]*[w(),w(ax(k+-,):n-+)] ; end; c = w(); qc = w(:n-+); rc = w(n-+:n+); q = qc/c; r = rc(in( nd(abs(rc)>0)):end)/c; Illustrations with Rearks For given in we shall nd b(x) = x 8 + x x + x x + x + x x + a(x) = x +x x + x x + b(x) r(x) = q(x) + a(x) a(x) q(x) = x + 9 x + x + r(x) = 9 x + 8 x x + x +
F C Chang by applying either one of the following approaches: (i) Longh polynoial division: + + + + + 9 + + ) + + + + + + + + 8 + 0 + 8 + + + + + + + + + 9 + 9 + 80 + 9 + + 9 + + + + + 8 + 0 + 9 + + 8 + 09 + + 880 0 + 8 + + (ii) Synthetic polynoial division: + + + + + + 9 + + 8 + 9 + 8 0 + 0 9 + + + 9 + + + + 9 + + 9 + (iii) Convolution polynoial division: + 0 + 0 + 0 + + 0 + + + + + + + + + 8 += +=9 += += += +=9 += += 880 + 0 9 = 8 8 + + = which ay also be coverted scheatically into the sipler for += +=9 += += +9= += 8= += += + + + + + + 0 + + 0 + + 0 + + 0 + + + + 9 + + + 9 + 8 + +
Polynoial Division by Convolution or + + + + + + 0 + + 0 + + 0 + + 0 + + +08 +99 +9 + +9 + 8 + + In view of the three approaches in this exaple, the convolution polynoial division sees to be siple e ective The desired quotient reinder are readily deterined without coputing any interediate values as in the failiar classical longh polynoial division synthetic polynoial division References [] B Dayton, Polynoial GCDs by Linear Algebra, Theory of Equations, Northeastern Illinois University, 00 [] Z Zeng, Coputing ultiple roots of inexact polynoials, Math Coput, (00), 89 90 [] F C Chang, Solving ultiple-roots polynoials, IEEE Antennas Propagation Magazine, (009),