Finding Greatest Common Divisors

6.5.7 Finding Greatest Common Divisors

A problem that arises in many applications, including computer graphics, geometric mod- elling, and control theory, is the computation of the greatest common divisor (GCD) of two polynomials:

& m p(z)

=a n 0 (z −α

i ) =a 0 z +a 1 z −1 +···+a n , a 0

j =1

q(z) n =b 0 (z −β

j ) =b 0 z +b 1 z −1 +···+b m , b 0

j =1

The GCD can in principle be determined by the Euclidean algorithm; see Problem 1.2.6. Assume that n > m and perform the divisions

p(z) = q(z)s(z) + r 1 (z), q(z) =r 1 (z)s 1 (z) +r 2 (z),

6.5. Algebraic Equations 681

q(z) =r 1 (z)s 1 (z) +r 2 (z),

.. . r s −2 (z) =r s −1 (z)s s −1 (z) +r s (z).

The degrees of the polynomials r i , i = 1 : s, decrease at each step and we stop when r s is a constant. If p(z) and q(z) have a common factor, then that factor is a divisor of r i , i = 1 : s, as well. This means that if r s r s −1 is the greatest common divisor.

From the representation of r s (z) in (6.5.30) it follows that if p(z) and q(z) are two polynomials, then there always exist polynomials x(z) and y(z) such that xp − yq equals

a constant. If p(z) and q(z) have a common divisor, then xp(z) − yq(z) = 0. The Euclidean algorithm is suitable for symbolic computation, but not effective in

finite precision arithmetic because of roundoff. We now describe a suitable algorithm for determining the GCD when the coefficients of p(z) and q(z) are given as floating-point numbers. Note that in this case we can only hope to determine “almost common factors.”

Consider the product of the mn factors,

R(p, q) ¯ =

of all possible differences between the two sets of roots. This is a symmetric function of the α ’s and β’s and hence expressible as a polynomial in the quotients a i /a 0 and b j /b 0 . Clearly R(p, q) ¯ is zero if and only if p(z) and q(z) have a common zero, and no polynomial of lower m degree in the α’s and β’s can have this property. The polynomial R(p, q) = a n

0 b 0 R(p, q) ¯ is called the resultant of p(z) and q(z) and can also be expressed as

n & R(p, q) =a 0 b 0 R(p, q) ¯ ≡a 0 q(α i ) ≡b 0 p(β j ).

From the coefficients of p(z) and p(z) we form the Sylvester matrix 190

T m (p)

S(p, q)

= (m ∈R +n)×(m+n) ,

a 0 a 1 ···a n −1

 T m (p) = 

 m  ×(m+n) ..

a 0 a 1 ···a n −1 a n

b 0 b 1 ···b m −1

  ∈R ×(m+n) . 

b 0 b 1 ···b m −1 b m

190 The Sylvester matrix appeared in [346].

682 Chapter 6. Solving Scalar Nonlinear Equations Note the Toeplitz structure of the two blocks of rows. It can be shown that the resultant

R(p, q) equals the determinant of S(p, q) except for a possible multiplier −1. Thus p(z) and q(z) have a common zero if and only if the Sylvester matrix is singular.

If we form m+n polynomials of degree less than or equal to m+n−1 by multiplying p(z) with z k

, k = 1 : m, and multiplying q(z) with z k , k = 1 : n, this can be written in matrix notation as S(p, q) ( z m +n−1

f ···z1) p = ,

where

q = q(z) ( z −1 ···z1) . If γ is a common root to the two polynomials p(z) and q(z), then

= p(z) ( z T −1 ···z1) , f

S(p, q)(γ m +n−1 ,...,γ, 1) T = 0.

In other words this vector belongs to the nullspace of S(p, q). The degree of the GCD of p(z) and q(z) equals the dimension of the nullspace of the Sylvester matrix, i.e.,

deg (gcd (p, q)) = m + n − r, r = rank (S(p, q)).

The best way to estimate the rank is by computing the SVD of the Sylvester matrix; see Theorem 1.4.4. The coefficients of the GCD can also be obtained from the decomposition.

ReviewQuestions

6.5.1 Describe the method of iterated successive synthetic division for computing function values and derivatives of a polynomial.

6.5.2 Consider the polynomial p(z) = z 4 − 2z 3 − 4z 2 + z + 1. Using Descartes’s rule of sign, what can you deduce about the number of real positive roots?

6.5.3 Suppose that all roots of a polynomial equation are to be determined. Describe two methods to avoid the problem of repeatedly converging to roots already found.

6.5.4 Discuss the ill-conditioning of roots of polynomial equations. What famous polyno- mial did Wilkinson use as an example?

(a) What is the companion matrix of a polynomial p(x) = x n +a 1 x n −1 +···+

a n −1 x +a n ? (b) One approach to computing the eigenvalues of a matrix A is to find the coefficients

of the characteristic polynomial p A (λ) = det(λI − A), and then solve the algebraic

equation p A (λ) = 0. Why should such a method usually be avoided?

6.5.6 What properties are satisfied by a Sturm sequence of real polynomials p 0 (x) ,p 1 (x), . . . , p m (x) ? Describe one way of generating a Sturm sequence using the Euclidean algo- rithm.

Problems and Computer Exercises 683

Problems and Computer Exercises

6.5.1 Apply Newton’s method to determine one of the complex roots of the equation z 2 +1 =

0. Start with z 0 = 1 + i.

6.5.2 Consider a polynomial with real coefficients p(z)

i = 0 : n. (a) Count the number of (real) additions and multiplications needed to compute a

=a n 0 z +a 1 z −1 +···+a

value p(z 0 ) by synthetic division of p(z) by (z − z 0 ) , when z 0 is a real and complex number, respectively.

(b) For a complex number z 0 =x 0 + iy 0 , p(z 0 ) can also be computed by performing the synthetic division of p(z) with the real quadratic factor

d(z)

2 2 = (z − z 2

0 )(z − ¯z 0 ) =z − 2x 0 z + (x 0 +y 0 ). Derive a recursion for computing the quotient polynomial q(z) and p(z 0 ) =b n −1 z 0 +

b n , where

q(z)

z =b n 0 −2 +b 1 z n −3 +···+b n −2 ,

p(z) = q(z)d(z) + b n −1 z +b n .

Count the number of real additions and multiplications needed to compute p(z 0 ) and

also show how to compute p ′ (z 0 ) .

6.5.3 (a) Using the Cardano–Tartaglia formula the real root α to the equation x 3 =x+4 can be written in the form

Use this expression to compute α. Discuss the loss of accuracy due to cancellation. (b) Compute α to the same accuracy by Newton’s method using the initial approxi-

mation x 0 = 2.

6.5.4 Let C be the companion matrix of p(x). Show that in Bernoulli’s method the vec- tor sequence m n = (y n +k ,...,y n +1 ,y n ) T can be generated by forming successive matrix-vector products m n = Cm n −1 . Conclude that m k

=C k m 0 .

6.5.5 (a)Assume that the zeros of a polynomial satisfy the stronger conditions |u 1 | > |u 2 |> |u 3 | ≥ · · · ≥ |u k |, where u 1 and u 2 are real and simple. Show that in Bernoulli’s

method

y n →∞ n = ( +1 ( ( (6.5.34) 4y n 4y n +1 (.

n lim D n /D n −1 =u 1 u 2 , D y n

(b) The result in (a) can be combined with (6.5.18) to also compute u 2 . What is the rate of convergence in this process?

(c) Apply Bernoulli’s method to the polynomial p 4 in Example 6.5.2 to improve the approximations computed by Graeffe’s method.

684 Chapter 6. Solving Scalar Nonlinear Equations

6.5.6 (a) Use the MATLAB command x = roots(poly(1:20)) to compute the roots of the classical Wilkinson polynomial 2 20 k =1 (x − k). Use IEEE double precision. What is the maximum error in the roots?

(b) Using the command poly(x) to compute the coefficients of the polynomial with the erroneous roots from (a). What is the maximum error in these coefficients?

6.5.7 (a) Generate the coefficients of the Legendre polynomials P n (x) , n = 2 : 24, using

the three-term recursion P 0 (x) = 1, P 1 (x) = x,

P n (x), n ≥ 1,

where the recursion coefficients are exact rational numbers. Compute using IEEE double precision the roots of P 24 (x) as in Problem 6.5.6. Verify that the errors in some computed roots λ ∗ k close to 1 exceed 10 6 u , where u = 1.11 10 −16 is the unit roundoff.

=1 (x −λ ) . Show that the relative errors in the computed coefficients are all less than 16u.

(b) Compute the coefficients of the polynomial 24 k

6.5.8 Consider the iteration z n

2 +1 =z n + c, where c = p + iq is a fixed complex number. For a given z 0 the sequence of iterates z n =x n + iy n , n = 0, 1, 2, . . . , may either converge to one of the two roots of the quadratic equation z 2 − z + c = 0 or diverge

to infinity. Consider z 0 chosen, for example, in the unit square of the complex plane. The boundary separating the region of convergence from other points in the plane is a very complex fractal curve known as the Julia set. The Mandelbrot set is obtained

by fixing z 0 = 0 and sweeping over values of c in a region of the complex plane. (a) Picture the Julia set as follows. Set c = 0.27334 + 0.000742i. Sweep over points

of z 0 in the region −1 ≤ ℜz 0 ≤ 1, −1.3 ≤ ℑz 0 ≤ 1.3. If |z N | < R, for N = 100 and R = 10, color the point z 0 black; otherwise color the point from hot (red) to cool

(blue) according to how fast the iteration is diverging, i.e., according to how fast the inequality |z n | > R becomes satisfied. (b) Picture the Mandelbrot set in a similar way. Sweep over values of c in the region −2.25 ≤ ℜc ≤ 0.75, −1.5 ≤ ℑc ≤ 1.5.

6.5.9 The following MATLAB function, sylvester , generates the Sylvester matrix of two polynomials whose coefficients are given in the row vectors a and b:

function S = sylvest(a,b); % SYLVEST computes n = length(a) - 1; m = length(b) - 1; r = [a,zeros(1,m-1)];

c = [a(1),zeros(1,m-1)]; T1 = toeplitz(c,r); r = [b,zeros(1,n-1)];

c = [b(1),zeros(1,n-1)]; T2 = toeplitz(c,r); S = [T1; T2];

Notes and References 685 Generate S(p, q) for the two polynomials

The GCD of these polynomials is x +1. How is this revealed by the SVD of S(p, q)? (b) Try some more difficult examples with several common zeros.

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

ANTARA IDEALISME DAN KENYATAAN: KEBIJAKAN PENDIDIKAN TIONGHOA PERANAKAN DI SURABAYA PADA MASA PENDUDUKAN JEPANG TAHUN 1942-1945 Between Idealism and Reality: Education Policy of Chinese in Surabaya in the Japanese Era at 1942-1945)

1 29 9

Improving the Eighth Year Students' Tense Achievement and Active Participation by Giving Positive Reinforcement at SMPN 1 Silo in the 2013/2014 Academic Year

7 202 3

An Analysis of illocutionary acts in Sherlock Holmes movie

27 148 96

The Effectiveness of Computer-Assisted Language Learning in Teaching Past Tense to the Tenth Grade Students of SMAN 5 Tangerang Selatan

4 116 138

The correlation between listening skill and pronunciation accuracy : a case study in the firt year of smk vocation higt school pupita bangsa ciputat school year 2005-2006

9 128 37

Existentialism of Jack in David Fincher’s Fight Club Film

5 71 55

Phase response analysis during in vivo l 001

2 30 2

The Risk and Trust Factors in Relation to the Consumer Buying Decision Process Model

0 0 15

PENERAPAN ADING (AUTOMATIC FEEDING) PINTAR DALAM BUDIDAYA IKAN PADA KELOMPOK PETANI IKAN SEKITAR SUNGAI IRIGASI DI KELURAHAN KOMET RAYA, BANJARBARU Implementation of Ading (Automatic Feeding) Pintar in Fish Farming on Group of Farmer Close to River Irriga

0 0 5