19.07.2014 Views

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3. GREATEST COMMON DIVISORS 51<br />

# this is a g.c.d. computation in R[y].<br />

h p := algorithm 3 (pp x (f), pp x (g))<br />

# replacing R by R[y], which we know, by theorem 6, is a g.c.d. domain.<br />

return h c h p<br />

# which by theorem 5 is a g.c.d. <strong>of</strong> f and g.<br />

This process generalises.<br />

Theorem 7 If R is a g.c.d. domain, then R[x 1 , . . . , x n ] is also a g.c.d. domain.<br />

Pro<strong>of</strong>. Induction on n, with theorem 6 as the building block.<br />

What can we say about the complexity <strong>of</strong> this process? It is easier to analyse<br />

if we split up the division process which computes rem(a i−1 , a i ) into a series<br />

<strong>of</strong> repeated subtractions <strong>of</strong> shifted scaled copies <strong>of</strong> a i from a i−1 . Each such<br />

subtraction reduces deg(a i−1 ), in general by 1. For simplicity, we shall assume<br />

that the reduction is precisely by 1, and that 28 deg(a i+1 ) = deg(a i ) − 1. It also<br />

turns out that the polynomial manipulation in x is the major cost (this is not the<br />

case <strong>for</strong> the primitive p.r.s, where the recursive costs <strong>of</strong> the content computations<br />

dominates), so we will skip all the other operations (the pro<strong>of</strong> <strong>of</strong> this is more<br />

tedious than enlightening). Let us assume that deg x (f)+deg x (g) = k, and that<br />

the coefficients have maximum degree d. Then the first subtraction will reduce<br />

k by 1, and replace d by 2d, and involve k operations on the coefficients. The<br />

∑<br />

next step will involve k−1 operations on coefficients <strong>of</strong> size 2d, and so on, giving<br />

k<br />

i=0<br />

(k − i)F (id), where F (d) is the cost <strong>of</strong> operating on coefficients <strong>of</strong> degree<br />

d. Let us suppose that there are v variables in all: x itself and v − 1 variables<br />

in the coefficients with respect to x.<br />

v = 2 Here the coefficients are univariate polynomials. If we assume classic<br />

multiplication on dense polynomials, F (d) = cd 2 + O(d). We are then<br />

looking at<br />

k∑<br />

(k − i)F (id) ≤ c<br />

i=0<br />

≤<br />

ck<br />

k∑<br />

(k − i)i 2 d 2 +<br />

i=0<br />

k∑<br />

i 2 d 2 − c<br />

i=0<br />

k∑<br />

kO(id)<br />

i=0<br />

k∑<br />

i 3 d 2 + k 3 O(d)<br />

i=0<br />

( 1<br />

= c<br />

3 k4 + 1 2 k3 + 1 ) ( 1<br />

6 k2 d 2 − c<br />

4 k4 + 1 2 k3 + 1 )<br />

4 k2 d 2 + k 3 O(d)<br />

( 1<br />

= c<br />

12 k4 − 1 )<br />

12 k2 d 2 + k 3 O(d)<br />

which we can write as O(k 4 d 2 ). We should note the asymmetry here: this<br />

means that we should choose the principal variable (i.e. the x in algorithm<br />

28 This assumption is known as assuming that the remainder sequence is normal. Note that<br />

our example is distinctly non-normal, and that, in the case <strong>of</strong> a normal p.r.s., β i = ±lc(a i−2 ) 2 .<br />

In fact, the sub-resultant algorithm was first developed <strong>for</strong> normal p.r.s., where it can be seen<br />

as a consequence <strong>of</strong> the Dodgson–Bareiss Theorem (theorem 12).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!