• No results found

Complementary Experimental Results

In this section, we include our recent experimental results in [66] for computing sub- resultant chain cubes and resultants. We use a GPU card Nvidia Telsa C2050, which is different from the one used in other sections, namely the Nvidia Geforce GTX 285. The other improvement is that we interpolate resultants by means of GPU based inverse FFT, which avoid transfering subresultant chain cubes back to the main memory.

Figure 6.6 reports the timing for computing resultant res(F1, F2, y) with bivari-

ate random dense polynomials F1, F2 ∈ Zp[x, y] such that p = 469762049 and

d = deg(Fi, x) = deg(Fi, y) for i = 1,2. In the figure, the first column, labelled by d, shows the partial degree d. The second one, labelled by t0, is the timing for

GPU FFT-based scube method, which includes the time for moving result back to the main memory. The third column, labelled by t1, shows the CPU FFT based scube

d t0 t1 t1/t0 7 0.22 0.16 0.7 8 0.23 0.76 3.3 9 0.24 0.85 3.5 10 0.25 0.98 3.9 11 0.24 1.10 4.6 12 0.30 4.96 16.5 13 0.31 5.52 17.8 14 0.32 6.07 19.0 15 0.78 8.95 11.5 16 0.65 31.65 48.7 17 0.66 34.55 52.3 18 3.46 47.54 13.7 19 0.73 51.04 69.9 20 0.75 43.12 57.5

Figure 6.7: Computing resultants for trivariate dense polynomials in seconds the two implementations. Note that all the resultants in this experimentation are computed with the fine-grained method and that we interpolate the resultants inside the GPU inverse FFT, keeping the subresultant chain cube inside the GPU global memory. The maximal speedup we achieve is approximately 38.

Figure 6.7 lists our experimental results for computing resultants for trivariate random dense polynomials in k[x, y, z]. The first column shows the common partial degree d in x, y and z. The other three column have the same meaning as in the bivariate case. Note that all butd= 15 andd= 18 are based on fine-grained scube’s. When the coarse-grained method is forced to be used, the speedup it achieves drops significantly.

We observe that the GPU based implementation achieves a much larger speedup factor in the trivariate case (approximately 70 for the best cases) than in the bi- variate case (approximately 38). The underline reason may be that the GPU based implementation could take advantage of the assumption that the input are trivariate to avoid unnecessary data transpositions, in both FFT evaluations and the Brown’s algorithm.

Chapter 7

Conclusions and Future Work

The computation of polynomial GCDs is at the core of the theory of regular chains and its application to polynomial system solving by means of triangular decomposition. In this context, polynomials take their coefficients in rings which have less algebraic structure than in the classical setting of unique factorization domains (UFDs).

The formalization of polynomial GCDs modulo (saturated ideals of) regular chains started less than twenty years ago, with the PhD thesis of Michael Kalkbrener. Our work relies on the definition proposed by Marc Moreno Maza, which is more suitable for algorithm design.

In this thesis, we have presented the first algorithm, called RGSZR, which, for the purpose of computing the so-called regular GCDs, is both practically efficient and based on fast polynomial arithmetic and modular techniques. We have reported on two implementations: a serial one in C language and parallel one supported by graphics card (GPU) code.

The latter one currently performs the main computational step of our algorithm, namely the construction of the so-calledsubresultant cube. This already yields promis- ing experimental results. We are now working on completing this implementation such that the wholeRGSZRcan be supported by GPU code. From there, the natural ques- tion is how much a complete polynomial system solver (such as the Triangularize

command of the RegularChains library) can take advantage of GPU support. We have also estimated the algebraic complexity of the RGSZR algorithm, under standard genericity assumptions. In this setting and for the problem sizes that are of practical interest, our complexity estimate brings new favorable results. Relaxing these genericity assumptions (in particular the dimension zero assumption) is, of course, part of our future objectives.

Triangularize command. The design of the underlying Triade algorithm was mo- tivated by controlling intermediate expression swell, in particular, by avoiding re- dundant computational branches. By generalizing the classical notion of polynomial primitivity from UFDs to general commutative rings (with unity) we have obtained new criteria for detecting that the saturated ideal of a regular chain is contained in another such saturated ideal. Although these criteria do not cover all possible cases, they have provided significant improvements in practice. Deciding saturated ideal inclusion (without computing generator systems as this can be extremely expensive) remains an open and very exciting question.

Appendix A

A Review of Concepts on

Polynomial System Solving

In this chapter, we list some definitions and basic constructions appeared in the thesis.

A.1

Polynomials

A fieldkis an algebraic structure with notions of addition, subtraction, multiplication, and division, satisfying certain axioms. The multivariate polynomial ringk[x1, . . . , xn] is formed from the set of polynomials in x1, . . ., xn with coefficients in k. A field K is said to be algebraically closed if every polynomial of degree one in K[x] has a root in K. For example, the field of complex numbers C is algebraically closed, while the field of rational numbers Q is not.

A polynomial ideal I is a subset of k[x1, . . . , xn] satisfying f g ∈ I for any f ∈ k[x1, . . . , xn] and g ∈ I. For any subset G⊆k[x1, . . . , xn], the ideal generated by G, denoted by hGi, is the set

hGi={f k[x1, . . . ,xn]|f = k X

i=1

aigi, ai ∈k[x1, . . . , xn], gi ∈G, and k ≥1}. When G = {g1, . . . , gs} is a finite set, we also write hGi = hg1, . . . , gsi. The radical

I of an ideal I is defined as the set of polynomials

{f k[x1, . . . , xn]|fm ∈ I for some m≥1}, which is also an ideal in k[x1, . . . , xn].

Let K be algebraically closed and k ⊆K. The algebraic variety or algebraic set of G, denoted byV(G), is defined as

V(G) ={(a1, . . . , an)∈Kn|g(a1, . . . , an) = 0, for all g ∈G},

which is the common zeros over K of polynomials in G. It is not hard to show V(G) =V(hGi) =V(phGi).

We conclude this section by the celebrated Hilbert’s Basis Theorem and Hilbert’s Nullstellensatz.

Theorem 14(Hilbert’s Basis Theorem). Every ideal ink[x1, . . . , xn]can be generated

by a finite number of polynomials.

Theorem 15 (Hilbert’s Nullstellensatz). The ideal I ⊆ k[x1, . . . , xn] contains 1 if

and only if the polynomials inI do not have any common zeros in Kn, i.e. V(I) = . The Nullstellensatz is a generalization of the fundamental theorem of algebra. The Basis Theorem implies that every algebraic set over field can be described as the set of common roots of finitely many polynomial equations. Hilbert’s proof only shows the existence and does not give an algorithm to produce the finitely many basis polynomials. One can determine basis polynomials using the method of Gr¨obner bases.