06.05.2015 Views

Modifying Faugère's F5 Algorithm to ensure termination - SIGSAM

Modifying Faugère's F5 Algorithm to ensure termination - SIGSAM

Modifying Faugère's F5 Algorithm to ensure termination - SIGSAM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACM Communications in Computer Algebra, Issue 176, Vol. 45, No. 2, June 2011<br />

<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

Christian Eder 1 , Justin Gash 2 , and John Perry 3<br />

1 Department of Mathematics, TU Kaiserslautern, P.O. Box 3049<br />

67653 Kaiserslautern, Germany<br />

2 Department of Mathematics, Franklin College<br />

101 Branigin Blv., Franklin IN 46131 USA<br />

3 University of Southern Mississippi, Box 5045<br />

Hattiesburg MS 39406 USA<br />

Abstract<br />

The structure of the <strong>F5</strong> algorithm <strong>to</strong> compute Gröbner bases makes it very efficient. However, it is<br />

not clear whether it terminates for all inputs, not even for “regular sequences”.<br />

This paper has two major parts. In the first part, we describe in detail the difficulties related <strong>to</strong> a<br />

proof of <strong>termination</strong>. In the second part, we explore three variants that <strong>ensure</strong> <strong>termination</strong>. Two of<br />

these have appeared previously in dissertations, and <strong>ensure</strong> <strong>termination</strong> by checking for a Gröbner basis<br />

using traditional criteria. The third variant, <strong>F5</strong>+, identifies a degree bound using a distinction between<br />

“necessary” and “redundant” critical pairs that follows from the analysis in the first part. Experimental<br />

evidence suggests this third approach is the most efficient of the three.<br />

1 Introduction<br />

The computation of a Gröbner basis is a central step in the solution of many problems of computational<br />

algebra. First described in 1965 by Bruno Buchberger [7], researchers have proposed a number of important<br />

reformulations of his initial idea [5, 6, 8, 9, 15, 18, 23]. Faugère’s <strong>F5</strong> <strong>Algorithm</strong>, published in 2002 [16], is in<br />

many cases the fastest, most efficient of these reformulations. Due <strong>to</strong> its powerful criteria, the algorithm<br />

computes very few zero-reductions, and if the input is a so-called “regular sequence”, it never reduces<br />

a polynomial <strong>to</strong> zero (see Section 2 for basic definitions). In general, reduction <strong>to</strong> zero is the primary<br />

bottleneck in the computation of a Gröbner basis; moreover, many of the most interesting polynomial<br />

ideals are regular sequences. It is thus no surprise that <strong>F5</strong> has succeeded at computing many Gröbner bases<br />

that were previously intractable [14, 16].<br />

An open question surrounding the <strong>F5</strong> algorithm regards <strong>termination</strong>. In a traditional algorithm <strong>to</strong><br />

compute a Gröbner basis, the proof of <strong>termination</strong> follows from the algorithm’s ability <strong>to</strong> exploit the<br />

Noetherian property of polynomial rings: each polynomial added <strong>to</strong> the basis G expands the ideal generated<br />

by the leading monomials of G, and this can happen only a finite number of times. In <strong>F5</strong>, however, the<br />

same criteria that detect reduction <strong>to</strong> zero also lead the algorithm <strong>to</strong> add <strong>to</strong> G polynomials which do not<br />

expand the ideal of leading terms. We call these polynomials redundant. Thus, although the general belief<br />

is that <strong>F5</strong> terminates at least for regular sequences, no proof of <strong>termination</strong> has yet appeared, not even if<br />

the inputs are a regular sequence (see Remark 22). On the other hand, at least one system of polynomials<br />

has been proposed as examples of non-<strong>termination</strong> (one in the source code accompanying [24]),but this<br />

system fails only on an incorrect implementation of <strong>F5</strong>.<br />

Is it possible <strong>to</strong> modify <strong>F5</strong> so as <strong>to</strong> <strong>ensure</strong> <strong>termination</strong>? Since the problem of an infinite loop is due <strong>to</strong><br />

the appearance of redundant polynomials, one might be tempted simply <strong>to</strong> discard them. Unfortunately, as<br />

we show in Section 3, this breaks the algorithm’s correctness. Another approach is <strong>to</strong> supply, or compute, a<br />

70


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

degree bound, and <strong>to</strong> terminate once this degree is reached. Tight degree bounds are known for regular and<br />

“semi-regular” sequences [2,20], but not in general, so for an arbitrary input it is more prudent <strong>to</strong> calculate<br />

a bound based on the data. To that end,<br />

• [17] tests for zero-reductions of these redundant polynomials (Section 4.1); whereas<br />

• [1] applies Buchberger’s lcm criterion (or “chain” criterion) on critical pairs (Section 4.2).<br />

These approaches rely exclusively on traditional criteria that are extrinsic <strong>to</strong> the <strong>F5</strong> algorithm, so they<br />

must interrupt the flow of the basic algorithm <strong>to</strong> perform a non-trivial computation, incurring an observable<br />

penalty <strong>to</strong> both time and memory.<br />

This paper shows that it is possible <strong>to</strong> guarantee <strong>termination</strong> by relying primarily on the criteria that<br />

are intrinsic <strong>to</strong> the <strong>F5</strong> algorithm. After a review of the ideas and the terminology in Section 2, we show<br />

precisely in Theorem 25 of Section 3 why one cannot merely discard the redundant polynomials in medio<br />

res: many of these redundant polynomials are “necessary” for the algorithm’s correctness. Section 4.3 uses<br />

this analysis <strong>to</strong> describe a new approach that distinguishes between two types of critical pairs: those that<br />

generate polynomials necessary for the Gröbner basis, and those that generate polynomials “only” needed<br />

for the correctness of <strong>F5</strong>. This distinction allows one <strong>to</strong> detect the point where all necessary data for the<br />

Gröbner basis has been computed. We then show how <strong>to</strong> implement this approach in a manner that incurs<br />

virtually no penalty <strong>to</strong> performance (Section 4.4). Section 4.5 shows that this new variant, which we call<br />

<strong>F5</strong>+,<br />

• computes a reasonably accurate degree bound for a general input,<br />

• relies primarily (and, in most observed cases, only) on criteria intrinsic <strong>to</strong> <strong>F5</strong>, and<br />

• minimizes the penalty of computing a degree bound.<br />

Section 5 leaves the reader with a conjecture that, if true, could compute the degree bound even more<br />

precisely.<br />

We assume the reader <strong>to</strong> be familiar with [16], as the modifications are described using the pseudo code<br />

and the notations stated there.<br />

2 Basics<br />

Sections 2.1–2.2 give a short review of notations and basics of polynomials and Gröbner bases; Section 2.3<br />

reviews the basic ideas of <strong>F5</strong>.<br />

For a more detailed introduction on non-<strong>F5</strong> basics we refer the reader <strong>to</strong> [19]. Readers familiar with<br />

these <strong>to</strong>pics may want <strong>to</strong> skim this section for notation and terminology.<br />

2.1 Polynomial basics<br />

Let K be a field, P := K[x] the polynomial ring over K in the variables x := (x 1 , . . . , x n ). Let T denote the<br />

set of terms {x α } ⊂ P, where x α := ∏ n<br />

i=1 xα i<br />

i<br />

and α i ∈ N.<br />

A polynomial p over K is a finite K-linear combination of terms, i.e. p = ∑ α a αx α ∈ P, a α ∈ K. The<br />

degree of p is the integer deg(p) = max{α 1 + · · · + α n | a α ≠ 0} for p ≠ 0 and deg(p) = −1 for p = 0.<br />

In this paper > denotes a fixed admissible ordering on the terms T . W.r.t. > we can write any nonzero<br />

p in a unique way as<br />

p = a α x α + a β x β + . . . + a γ x γ , x α > x β > · · · > x γ<br />

where a α , a β , . . . , a γ ∈ K\{0}. We define the head term of p HT(p) = x α and the head coefficient of p<br />

HC(p) = a α .<br />

71


Eder, Gash, Perry<br />

2.2 Gröbner basics<br />

We work with homogeneous ideals I in P. For any S ⊂ P let HT (S) := 〈HT(p) | p ∈ S\{0}〉. A finite<br />

set G is called a Gröbner basis of an ideal I if G ⊂ I and HT (I) = HT (G). Let p ∈ P. If p = 0 or there<br />

exist λ i ∈ P, q i ∈ G such that p = ∑ k<br />

i=1 λ iq i and HT(p) ≥ HT(λ i q i ) for all nonzero q i , then we say that<br />

there exists a standard representation of p w.r.t. G, or that p has a standard representation w.r.t G. We<br />

generally omit the phrase “w.r.t. G” when it is clear from the context.<br />

Let p i , p j ∈ P. We define the s-polynomial of the critical pair (p i , p j ) <strong>to</strong> be<br />

where γ ij := lcm (HT(p i ), HT(p j )).<br />

γ ij<br />

γ ij<br />

p ij := HC(p j )<br />

HT(p i ) p i − HC(p i )<br />

HT(p j ) p j<br />

Theorem 1. Let I be an ideal in P and G ⊂ I finite. G is a Gröbner basis of I iff for all p i , p j ∈ G p ij<br />

has a standard representation.<br />

Proof. See Theorem 5.64 and Corollary 5.65 in [3, pp. 219–221].<br />

In addition <strong>to</strong> inventing the first algorithm <strong>to</strong> compute Gröbner bases, Buchberger discovered two<br />

relatively efficient criteria that imply when one can skip an s-polynomial reduction [7, 9]. We will refer<br />

occasionally <strong>to</strong> the second of these criteria.<br />

Theorem 2 (Buchberger’s lcm criterion). Let G ⊂ P be finite, and p i , p j , p k ∈ P. If<br />

(A) HT(p k ) | lcm(HT(p i ), HT(p j )), and<br />

(B) p ik and p jk have standard representations w.r.t. G,<br />

then p ij also has a standard representation w.r.t. G.<br />

In the homogeneous case one can define a d-Gröbner basis G d of an ideal I: This is a basis of I for<br />

which all s-polynomials up <strong>to</strong> degree d have standard representations (cf. Definition 10.40 in [3, p. 473]).<br />

The following definition is crucial for understanding the problem of <strong>termination</strong> of <strong>F5</strong>.<br />

Definition 3. Let G be a finite set of polynomials in P. We say that p ∈ G is redundant if there exists an<br />

element p ′ ∈ G such that p ′ ≠ p and HT(p ′ ) | HT(p).<br />

Remark 4. While computing a Gröbner basis, a Buchberger-style algorithm does not add polynomials that<br />

are redundant at the moment they are added <strong>to</strong> the basis, although the addition of other polynomials <strong>to</strong><br />

the basis later on may render them redundant. This <strong>ensure</strong>s <strong>termination</strong>, as it expands the ideal of leading<br />

monomials, and P is Noetherian. However, <strong>F5</strong> adds many elements that are redundant even when they are<br />

added <strong>to</strong> the basis; see Section 3.<br />

It is easy and effective <strong>to</strong> interreduce the elements of the initial ideal before <strong>F5</strong> starts, so that the input<br />

contains only non-redundant polynomials; in all that follows, we assume that this is the case. However,<br />

even this does not prevent <strong>F5</strong> from generating redundant polynomials.<br />

Finally, we denote by ϕ(p, G) the normal form of p with respect <strong>to</strong> the Gröbner basis G.<br />

72


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

2.3 <strong>F5</strong> basics<br />

It is beyond the scope of this paper <strong>to</strong> delve in<strong>to</strong> all the details of <strong>F5</strong>; for a more detailed discussion we<br />

refer the reader <strong>to</strong> [16], [12], and [13]. In particular, we do not consider the details of correctness for <strong>F5</strong>,<br />

which are addressed from two different perspectives in [16] and [13]. This paper is concerned with showing<br />

that the algorithm can be modified so that <strong>termination</strong> is guaranteed, and that the modification does not<br />

disrupt the correctness of the algorithm.<br />

In order <strong>to</strong> make the explanations more focused and concise, we now adapt some basic definitions and<br />

notation of [16]. Let F i be the i-th canonical genera<strong>to</strong>r of P m . Denote T = ∪ m i=1 T i where T i = {tF i | t ∈ T }<br />

and R = T × P. Define ≺, the extension of < <strong>to</strong> T, by tF i ≺ uF j iff<br />

1. i > j, or<br />

2. i = j and t < u.<br />

It is easy <strong>to</strong> show that ≺ is a well-ordering of T, which implies that there exists a minimal representation<br />

in terms of the genera<strong>to</strong>rs.<br />

Definition 5. Let p ∈ P and t ∈ T . We say that tF i is the signature of p if there exist h i , . . . , h m ∈ P<br />

such that each of the following holds:<br />

• p = ∑ m<br />

k=i h kf k and HT(h i ) = t, and<br />

• for any H j , . . . , H m ∈ P such that p = ∑ m<br />

k=j H kf k and H j ≠ 0, we have tF i ≼ HT(H j )F j .<br />

Definition 6. Borrowing from [24], we call the element<br />

r = (tF i , p) ∈ R<br />

of [16] a labeled polynomial. (It is referred <strong>to</strong> as the representation of a polynomial in [16].) We also denote<br />

1. the polynomial part of r poly(r) = p,<br />

2. the signature of r S(r) = tF i , and<br />

3. the signature term of r ST(r) = t, and<br />

4. the index of r index(r) = i.<br />

Following [16], we extend the following opera<strong>to</strong>rs <strong>to</strong> R:<br />

1. HT(r) = HT(p).<br />

2. HC(r) = HC(p).<br />

3. deg(r) = deg(p).<br />

Let 0 ≠ c ∈ K, λ ∈ T , r = (tF i , p) ∈ R. Then we define the following operations on R resp. T:<br />

1. cr = (tF i , cp),<br />

2. λr = (λtF i , λp),<br />

3. λ(tF i ) = (λt)F i .<br />

73


Eder, Gash, Perry<br />

Caveat lec<strong>to</strong>r: Although we call S(r) the signature of r in Definition 6, it might not be the signature<br />

of poly(r) as defined in Definition 5. If the input is non-regular, it can happen (and does) that <strong>F5</strong> reduces<br />

an s-polynomial r ij <strong>to</strong> zero. The reductions are all with respect <strong>to</strong> lower signatures, so we have<br />

#G<br />

∑<br />

poly(r ij ) = h k poly(r k )<br />

k=1<br />

where h k ≠ 0 implies S(HT(h k )·r k ) ≺ S(r ij ). The signature of r ij is thus no larger than max hk ≠0{S(HT(h k )·<br />

r k )}; that is, the signature of r ij is strictly smaller than S(r ij ).<br />

On the other hand, Propositions 7 and 10 show that the algorithm does try <strong>to</strong> <strong>ensure</strong> that S(r) is the<br />

signature of poly(r). The proof of Proposition 7 is evident from inspection of the algorithm.<br />

Proposition 7. Let the list F = (f 1 , . . . , f m ) ∈ P m be the input of <strong>F5</strong>. For any labeled polynomial<br />

r = (tF i , p), t ∈ T , 1 ≤ i ≤ m, computed by the algorithm, there exist h 1 , . . . , h m ∈ P such that<br />

1. p = h 1 f 1 + . . . + h m f m ,<br />

2. h 1 = . . . = h i−1 = 0, and<br />

3. ST(r) = HT(h i ) = t.<br />

Let G = {r 1 , . . . , r nG } ⊂ P. We denote poly(G) = {poly(r 1 ), . . . , poly(r nG )}.<br />

Definition 8. Let r, r 1 , . . . , r nG ∈ R, G = {r 1 , . . . , r nG }. Assume poly(r) ≠ 0. We say that r has a<br />

standard representation w.r.t. G if there exist λ 1 , . . . , λ nG ∈ P such that<br />

poly(r) =<br />

n G ∑<br />

i=1<br />

λ i poly(r i ),<br />

HT(r) ≥ HT(λ i )HT(r i ) for all i, and S(r) ≻ HT(λ i )S(r i ) for all i except possibly one, say i 0 , where<br />

S(r) = S(r i0 ) and λ i0 = 1. We generally omit the phrase “w.r.t. G” when it is clear from the context.<br />

Remark 9. The standard representation of a labeled polynomial r has two properties:<br />

1. The polynomial part of r has a standard representation as defined in Section 2.2, and<br />

2. the signatures of the multiples of the r i are not greater than the signature of r.<br />

This second property makes the standard representation of a labeled polynomial more restrictive than that<br />

of a polynomial.<br />

Proposition 10. Let the list F = (f 1 , . . . , f m ) ∈ P m be the input of <strong>F5</strong>. For any labeled polynomial r<br />

that is computed by the algorithm, if r does not have a standard representation w.r.t. G, then S(r) is the<br />

signature of poly(r).<br />

In other words, even if S(r) is not the signature of poly(r), the only time this can happen is when r<br />

already has a standard representation, so it need not be computed. On the other hand, the converse is<br />

false: once the algorithm ceases <strong>to</strong> reduce poly(r), r does have a standard representation, and S(r) remains<br />

the signature of poly(r).<br />

74


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

Proof. We show the contrapositive. Suppose that there exists some r ∈ G such that S(r) is not the<br />

signature of p = poly(r). Of all the r satisfying this property, choose one such that S(r) is minimal.<br />

Suppose S(r) = tF i . By hypothesis, we can find h j , . . . , h m ∈ P such that<br />

p =<br />

m∑<br />

h k f k , h j ≠ 0, and i < j or [i = j and t > HT(h j )] .<br />

k=j<br />

Is ∑ h k f k a standard representation of r w.r.t. G? Probably not, but it is clear that for any k such that<br />

HT(h k )HT(f k ) > HT(p), there exists l such that HT(h k )HT(f k ) = HT(h l )HT(f l ). The signature of the<br />

corresponding s-polynomial p kl is obviously smaller than tF i , so the hypothesis that S(r) is minimal, along<br />

with inspection of the algorithm, implies that r kl has a standard representation w.r.t. G. Proceeding in<br />

this manner, we can rewrite ∑ h k f k repeatedly until we have a standard representation of r w.r.t. G.<br />

Definition 11. Let r i = (t i F k , p i ), r j = (t j F l , p j ) ∈ R. If<br />

s-polynomial of r i and r j by r ij := (m ′ , p ij ) where<br />

and γ ij = lcm (HT(r i ), HT(r j )).<br />

γ ij<br />

HT(r i ) t iF k ≠<br />

{ }<br />

m ′ γij<br />

= max<br />

≺ HT(r i ) t γ ij<br />

iF k ,<br />

HT(r j ) t jF l<br />

γ ij<br />

HT(r j ) t jF l , then we define the<br />

All polynomials are kept monic in <strong>F5</strong>; thus we always assume in the following that HC(p i ) = HC(p j ) = 1<br />

for p i ≠ 0 ≠ p j . Moreover we always assume γ ij <strong>to</strong> denote the least common multiple of the head terms of<br />

the two considered polynomial parts used <strong>to</strong> compute r ij .<br />

Next we review the two criteria used in <strong>F5</strong> <strong>to</strong> reject critical pairs which are not needed for further<br />

computations.<br />

Definition 12. Let G = {r 1 , . . . , r nG } be a set of labeled polynomials, and u k ∈ T . We say that u k r k is<br />

detected by Faugère’s Criterion if there exists r ∈ G such that<br />

1. index(r) > index(r k ) and<br />

2. HT(r) | u k ST(r k ).<br />

Definition 13. Let G = {r 1 , . . . , r nG } be a set of labeled polynomials, and u k ∈ T . We say that u k r k is<br />

detected by the Rewritten Criterion if there exists r a ∈ G such that<br />

1. index(r a ) = index(r k ),<br />

2. a > k, and<br />

3. ST(r a ) | u k ST(r k ).<br />

Next we can give the main theorem for the idea of <strong>F5</strong>. Recall that we consider only homogeneous ideals.<br />

Theorem 14. Let I = 〈f 1 , . . . , f m 〉 be an ideal in P, and G = {r 1 , . . . , r nG } a set of labeled polynomials<br />

generated by the <strong>F5</strong> algorithm (in that order) such that f i ∈ poly(G) for 1 ≤ i ≤ m. Let d ∈ N. Suppose<br />

that for any pair r i , r j such that deg r ij ≤ d and r ij = u i r i − u j r j , one of the following holds:<br />

1. u k r k is detected by Faugère’s Criterion for some k ∈ {i, j},<br />

2. u k r k is detected by the Rewritten Criterion for some k ∈ {i, j}, or<br />

75


Eder, Gash, Perry<br />

3. r ij has a standard representation.<br />

Then poly(G) is a d-Gröbner basis of I.<br />

Proof. See Theorem 1 in [16], Theorem 3.4.2 in [17] and Theorem 21 in [13].<br />

Remark 15.<br />

1. Requiring a standard representation of a labeled polynomial is stricter than the criterion of Theorem<br />

1, but when used carefully, any computational penalty imposed by this stronger condition is negligible<br />

when compared <strong>to</strong> the benefit from the two criteria it enables.<br />

2. It is possible that r ij does not have a standard representation (cf. Proposition 17 in [13]) at the time<br />

either Criterion rejects (r i , r j ). Since <strong>F5</strong> computes the elements degree-by-degree, computations of<br />

the current degree add new elements such that r ij has a standard representation w.r.t. the current<br />

Gröbner basis poly(G) before the next degree step is computed. Thus, at the end of each such step,<br />

we have computed a d-Gröbner basis of I.<br />

Next we give a small example which shows how the criteria work during the computation of a Gröbner<br />

basis in <strong>F5</strong>.<br />

Example 16. Let > be the degree reverse lexicographical ordering with x > y > z on Q[x, y, z]. Let I be<br />

the ideal generated by the following three polynomials:<br />

p 1 = xyz − y 2 z,<br />

p 2 = x 2 − yz,<br />

p 3 = y 2 − xz.<br />

Let the corresponding labeled polynomials be r i = (F i , p i ). For the input F = (p 1 , p 2 , p 3 ), <strong>F5</strong> computes<br />

a Gröbner basis of 〈p 2 , p 3 〉 as a first step: Since ST(r 2,3 ) = y 2 = HT(r 3 ), r 2,3 is discarded by Faugère’s<br />

Criterion. Thus {p 2 , p 3 } is already a Gröbner basis of 〈p 2 , p 3 〉.<br />

Next the Gröbner basis of I is computed, i.e. r 1 enters the algorithm: Computing r 1,3 we get a new<br />

element: r 4 = (yF 1 , xz 3 − yz 3 ). r 1,2 is not discarded by any criterion, but reduces <strong>to</strong> zero. Nevertheless<br />

its signature is recorded, 1 thus we still have S(r 1,2 ) = xF 1 s<strong>to</strong>red in the list of rules <strong>to</strong> check subsequent<br />

elements.<br />

Next check all s-polynomials with r 4 sorted by increasing signature:<br />

1. Since S(r 4,1 ) = y 2 F 1 , r 4,1 is discarded by Faugère’s Criterion using HT(r 3 ) = y 2 .<br />

2. Since S(r 4,2 ) = xyF 1 , r 4,2 is discarded by the Rewritten Criterion due <strong>to</strong> S(r 1,2 ) = xF 1 , r 1,2 being<br />

computed after r 4 .<br />

3. Since S(r 4,3 ) = y 3 F 1 , r 4,3 is discarded by Faugère’s Criterion using HT(r 3 ) = y 2 .<br />

The algorithm now concludes with G = {r 1 , r 2 , r 3 , r 4 } where poly(G) is a Gröbner basis of I.<br />

loop.<br />

1 Failing <strong>to</strong> record the signature of a polynomial reduced <strong>to</strong> zero is an implementation error that can lead <strong>to</strong> an infinite<br />

76


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

3 Analysis of the problem<br />

The root of the problem lies in the algorithm’s reduction subalgorithms, so Section 3.1 reviews these in<br />

detail. In Section 3.2, we show how the criteria force the reduction algorithms not only <strong>to</strong> add redundant<br />

polynomials <strong>to</strong> the basis, but <strong>to</strong> do so in a way that does not expand the ideal of leading monomials<br />

(Example 18)! One might try <strong>to</strong> modify the algorithm by simply discarding redundant polynomials, but<br />

Section 3.3 shows that this breaks the algorithm’s correctness. This analysis will subsequently provide<br />

insights on how <strong>to</strong> solve the problem.<br />

Throughout this section, let the set of labeled polynomials computed by <strong>F5</strong> at a given moment be<br />

denoted G = {r 1 , . . . , r nG }.<br />

3.1 <strong>F5</strong>’s reduction algorithm<br />

For convenience, let us summarize the reduction subalgorithms in some detail here. Let i be the current<br />

iteration index of <strong>F5</strong>. All newly computed labeled polynomials r satisfy index(r) = i. Let G i+1 denote the<br />

set of elements of G with index > i. We are interested in Reduction, TopReduction and IsReducible. <strong>F5</strong><br />

sorts s-polynomials by degree, and supplies <strong>to</strong> Reduction a set F of s-polynomials of minimal degree d. Let<br />

r ∈ F .<br />

1. First, Reduction replaces the polynomial part of r with its normal form with respect <strong>to</strong> G i+1 . This<br />

clearly does not affect the property S(r) = ST(r)F i . Reduction then invokes TopReduction on r.<br />

2. TopReduction reduces poly(r) w.r.t. G i , but invokes IsReducible <strong>to</strong> identify reducers. TopReduction<br />

terminates whenever poly(r) = 0 or IsReducible finds no suitable reducers.<br />

3. IsReducible checks all elements r red ∈ G such that index(r red ) = i.<br />

(a) If there exists u red ∈ T such that u red HT(r red ) = HT(r) then u red S(r red ) is checked by both<br />

Faugère’s Criterion and the Rewritten Criterion.<br />

(α) If neither criterion holds, the reduction takes place, but a further check is necessary <strong>to</strong><br />

preserve S(r) = ST(r)F i . If S(r) ≻ u red S(r red ), then it rewrites poly(r):<br />

r = ( S(r), poly(r) − u red poly(r red ) ) .<br />

If S(r) ≺ u red S(r red ), then r is not changed, but a new labeled polynomial is computed and<br />

added <strong>to</strong> F for further reductions,<br />

r ′ = ( u red S(r red ), u red poly(r red ) − poly(r) ) .<br />

The algorithm adds S(r ′ ) <strong>to</strong> the list of rules and continues with r.<br />

(β) If u red r red is detected by one of the criteria, then the reduction does not take place, and the<br />

search for a reducer continues.<br />

(b) If there is no possible reducer left <strong>to</strong> be checked then r is added <strong>to</strong> G if poly(r) ≠ 0.<br />

Note that if S(r) = u red S(r red ) then u red r red is rewritable by r, thus Case (3)(a)(β) avoids this situation.<br />

3.2 What is the problem with <strong>termination</strong>?<br />

The difficulty with <strong>termination</strong> arises from Case (3)(a)(β) above.<br />

Situation 17. Recall that R d is the set of labeled polynomials returned by Reduction and added <strong>to</strong> G.<br />

Suppose that R d ≠ ∅ and for every element r ∈ R d , HT(poly(r)) is in the ideal generated by HT(poly(G)).<br />

77


Eder, Gash, Perry<br />

Example 18. Situation 17 is not a mere hypothetical: as described in Section 3.5 of [17], an example<br />

appears in Section 8 of [16], which computes a Gröbner basis of (yz 3 − x 2 t 2 , xz 2 − y 2 t, x 2 y − z 2 t). Without<br />

repeating the details, at degree 7, <strong>F5</strong> adds r 8 <strong>to</strong> G, with HT(r 8 ) = y 5 t 2 . At degree 8, however, Reduction<br />

returns R 8 = {r 10 }, with HT(r 10 ) = y 6 t 2 . This is due <strong>to</strong> the fact that the reduction of r 10 by yr 8 is rejected<br />

by the algorithm’s criteria, and the reduction does not take place. In other words, r 10 is added <strong>to</strong> G even<br />

though poly(r 10 ) is redundant in poly(G).<br />

Definition 19. A labeled polynomial r computed in <strong>F5</strong> is called redundant if, when Reduction returns r,<br />

we have poly(r) redundant w.r.t. poly(G).<br />

Lemma 20. If R d satisfies Situation 17 and r ∈ R d , then we can find r k ∈ G such that r k is not redundant<br />

in G and HT(r k ) | HT(r).<br />

Proof. If a reducer r j of r is redundant, then there has <strong>to</strong> exist another element r k such that HT(r k ) | HT(r j )<br />

and thus HT(r k ) | HT(r). Follow this chain of divisibility down <strong>to</strong> the minimal degree; we need <strong>to</strong> show<br />

that there do not exist two polynomials r j , r k of minimal degree such that HT(r j ) = HT(r k ). Assume<br />

<strong>to</strong> the contrary that there exist r j , r k ∈ G of minimal degree such that HT(r j ) = HT(r k ). Clearly, the<br />

reduction of one by the other in IsReducible was forbidden; without loss of generality, we may assume<br />

that r k was computed before r j , so the reduction of r j by r k was forbidden. There are three possibilities:<br />

1. If index(r k ) > index(r j ), <strong>to</strong> the contrary, IsReducible cannot interfere with this reduction, because<br />

such reductions are always carried out by the normal form computation in Reduction.<br />

2. If S(r k ) is rejected by the Rewritten Criterion, then there exists r ′ such that ST(r ′ ) | ST(r k ), and<br />

r ′ was computed after r k . (That r ′ was computed after r k follows from Definition 13, where a > k.)<br />

As <strong>F5</strong> computes incrementally on the degree and ST(r ′ ) | ST(r k ), it follows that deg(r ′ ) = deg(r k ).<br />

Hence ST(r ′ ) = ST(r k ). Thus the Rewritten Criterion would have rejected the computation of r ′ ,<br />

again a contradiction.<br />

3. If S(r k ) is rejected by Faugère’s Criterion, <strong>to</strong> the contrary, r k should not have been computed in the<br />

first place.<br />

Thus HT(r j ) ≠ HT(r k ). It follows that we arrive at a non-redundant reducer after finitely many steps.<br />

Lemma 21. Denote by R d the result of Reduction at degree d. There exists m ∈ N and an input F =<br />

(f 1 , . . . , f m ) and a degree d such that if poly(G) is a (d − 1)-Gröbner basis of 〈f 1 , . . . , f m 〉, then<br />

(A) R d ≠ ∅, and<br />

(B) HT (poly(G ∪ R d )) = HT (poly(G)).<br />

Proof. Such an input F is given in Example 18: once reduction concludes for d = 8, HT(r 8 ) | HT(r 10 ), so<br />

HT(poly(G)) = HT(poly(G ∪ R 8 )).<br />

Remark 22. In [16, Corollary 2], it is argued that <strong>termination</strong> of <strong>F5</strong> follows from the (unproved) assertion<br />

that for any d, if no polynomial is reduced <strong>to</strong> zero, then HT(poly(G)) ≠ HT(poly(G ∪ R d )). But in<br />

Example 18, HT(poly(G)) = HT(poly(G ∪ R 8 )), even though there was no reduction <strong>to</strong> zero! Thus,<br />

Theorem 2 (and, by extension, Corollary 2) of [16] is incorrect: <strong>termination</strong> of <strong>F5</strong> is unproved, even for<br />

regular sequences, as there could be infinitely many steps where new redundant polynomials are added <strong>to</strong><br />

G. By contrast, a Buchberger-style algorithm always expands the monomial ideal when a polynomial does<br />

not reduce <strong>to</strong> zero; this <strong>ensure</strong>s its <strong>termination</strong>.<br />

Having shown that there is a problem with the proof of <strong>termination</strong>, we can now turn our attention <strong>to</strong><br />

devising a solution.<br />

78


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

3.3 To sort the wheat from the chaff . . . isn’t that easy!<br />

The failure of <strong>F5</strong> <strong>to</strong> expand the ideal of leading monomials raises the possibility of an infinite loop of<br />

redundant labeled polynomials. However, we cannot ignore them.<br />

Example 23. Suppose we modify the algorithm <strong>to</strong> discard critical pairs with at least one redundant labeled<br />

polynomial. Consider a polynomial ring in a field of characteristic 7583.<br />

1. For Katsura-5, the algorithm no longer terminates, but computes an increasing list of polynomials<br />

with head terms x k 2 x 4 with signatures x 2 x k 3 x 5x 6 for k ≥ 1.<br />

2. For Cyclic-8, the algorithm terminates, but its output is not a Gröbner basis!<br />

How can critical pairs involving “redundant” polynomials can be necessary?<br />

Definition 24. A critical pair (r i , r j ) is a GB-critical pair if neither r i nor r j is redundant. If a critical<br />

pair is not a GB-critical pair, then we call it an <strong>F5</strong>-critical pair.<br />

We now come <strong>to</strong> the main theoretical result of this paper.<br />

Theorem 25. If (r i , r j ) is an <strong>F5</strong>-critical pair, then one of the following statements holds at the moment<br />

of creation of r ij :<br />

(A) poly(r ij ) already has a standard representation.<br />

(B) There exists a GB-critical pair (r k , r l ), a set W ⊂ {1, . . . , n G }, and terms λ w (for all w ∈ W ) such<br />

that<br />

poly(r ij ) = poly(r kl ) + ∑ w<br />

λ w poly(r w ), (3.1)<br />

γ ij = γ kl and γ kl > λ w HT(r w ) for all w.<br />

Theorem 25 implies that an <strong>F5</strong>-critical pair might not generate a redundant polynomial: it might rewrite<br />

a GB-critical pair which is not computed. Suppose, for example, that the algorithm adds r i <strong>to</strong> G, where r i is<br />

redundant with r k ∈ G, perhaps because for u ∈ T such that uHT(r k ) = HT(r i ), we have S(u · r k ) ≻ S(r i ).<br />

In this case, <strong>F5</strong> will generate a new, reduced polynomial with the larger signature; since the new polynomial<br />

has signature S(u · r k ), the Rewritten Criterion will subsequently reject u · r k . It is not uncommon that the<br />

algorithm later encounters some r l ∈ G where r kl is necessary for the Gröbner basis, but HT(r i ) divides<br />

γ kl . In this case, the Rewritten Criterion forbids the algorithm from computing r kl , yet we can compute<br />

γ il<br />

HT(r i ) r i<br />

r il . In terms of the Macaulay matrix [16, 20, 21], the algorithm selects the row corresponding <strong>to</strong><br />

γ<br />

instead of the row corresponding <strong>to</strong> kl<br />

HT(r k ) r k. Due <strong>to</strong> this choice, the notions of “redundant” and “necessary”<br />

critical pairs are somewhat ambiguous in <strong>F5</strong>: is r i necessary <strong>to</strong> satisfy the properties of a Gröbner basis,<br />

or <strong>to</strong> <strong>ensure</strong> correctness of the algorithm? On the other hand, the notions of <strong>F5</strong>- and GB-critical pairs are<br />

absolute.<br />

To prove Theorem 25, we need the following observation:<br />

Lemma 26. Let r i , r j ∈ G computed by <strong>F5</strong>, and assume that HT(r j ) | HT(r i ). Then Spol does not generate<br />

an s-polynomial for (r i , r j ).<br />

Proof. We have assumed that the input is interreduced, so poly(r i ) is not in the input. Since HT(r j ) | HT(r i )<br />

there exists u ∈ T such that uHT(r j ) = HT(r i ). Since the reduction of poly(r i ) by upoly(r j ) was rejected,<br />

uS(r j ) was detected by one of the criteria. It will be detected again in CritPair or Spol. Thus Spol will<br />

not generate r ij .<br />

79


Eder, Gash, Perry<br />

Proof of Theorem 25. Assume that r i and r j are both redundant; the case where only r i (resp. r j ) is<br />

redundant is similar. By Lemma 20 there exists for r i (resp. r j ) at least one non-redundant reducer r k<br />

(resp. r l ). By Lemma 26, we may assume that r i and r j are of degree smaller than r ij . Using the fact that<br />

poly(G) is a d-Gröbner basis for d = max(deg r i , deg r j ), we can write<br />

poly(r i ) = λ ik poly(r k ) + ∑ u∈U<br />

λ u poly(r u )<br />

poly(r j ) = λ jl poly(r l ) + ∑ v∈V<br />

λ v poly(r v ),<br />

such that<br />

HT(r i ) = λ ik HT(r k ) > λ u HT(r u ) and<br />

HT(r j ) = λ jl HT(r l ) > λ v HT(r v )<br />

where U, V ⊂ {1, . . . , n G }. As γ kl | γ ij , the representations of poly(r i ) and poly(r j ) above imply that there<br />

exists λ ∈ T such that<br />

poly(r ij ) =<br />

γ ij<br />

HT(r i ) poly(r i) −<br />

γ ij<br />

HT(r j ) poly(r j)<br />

= λpoly(r kl ) + ∑ w∈W<br />

λ w poly(r w ) (3.2)<br />

where W = U ∪ V and λ w =<br />

γ ij<br />

HT(r i ) λ u for w ∈ U\V , λ w =<br />

γ ij<br />

HT(r j ) λ v for w ∈ U ∩ V . In Equation (3.2) we have <strong>to</strong> distinguish two cases:<br />

γ ij<br />

HT(r j ) λ v for w ∈ V \U, and λ w =<br />

γ ij<br />

HT(r i ) λ u −<br />

1. If λ > 1 then deg(r kl ) < deg(r ij ), thus r kl is already computed (or rewritten) using a lower degree<br />

computation, which has already finished. It follows that there exists a standard representation of<br />

poly(r kl ) and thus a standard representation of poly(r ij ).<br />

2. If λ = 1 then (A) holds if poly(r kl ) is already computed by <strong>F5</strong>; otherwise (B) holds.<br />

We can now explain why discarding redundant polynomials wreaks havoc in the algorithm.<br />

Situation 27. Let (r i , r j ) be an <strong>F5</strong>-critical pair. Suppose that all GB-critical pairs (r k , r l ) corresponding<br />

<strong>to</strong> case (B) of Theorem 25 are rejected by one of <strong>F5</strong>’s criteria, but lack a standard representation.<br />

Situation 27 is possible if, for example, the Rewritten Criterion rejects all the (r k , r l ).<br />

Corollary 28. In Situation 27 it is necessary for the correctness of <strong>F5</strong> <strong>to</strong> compute a standard representation<br />

of r ij .<br />

Proof. Since poly(r kl ) lacks a standard representation, and the algorithm’s criteria have rejected the pair<br />

(r k , r l ), then it is necessary <strong>to</strong> compute a standard representation of r ij . Once the algorithm does so, we<br />

can rewrite (3.1) <strong>to</strong> obtain a standard representation of poly(r kl ).<br />

In other words, “redundant” polynomials are necessary in <strong>F5</strong>.<br />

80


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

4 Variants that <strong>ensure</strong> <strong>termination</strong><br />

Since we cannot rely on an expanding monomial ideal, a different approach <strong>to</strong> <strong>ensure</strong> <strong>termination</strong> could<br />

be <strong>to</strong> set or compute a degree bound. Since a Gröbner basis is finite, its elements have a maximal degree.<br />

Correspondingly, there exists a maximal possible degree d GB of a critical pair that generates a necessary<br />

polynomial. Once we complete degree d GB , no new, non-redundant data for the Gröbner basis would be<br />

computed from the remaining pairs, so we can terminate the algorithm. The problem lies with identifying<br />

d GB , which is rarely known beforehand, if ever. 2<br />

Before describing the new variant that follows from these ideas above, we should review two known<br />

approaches, along with some drawbacks of each.<br />

4.1 <strong>F5</strong>t: Reduction <strong>to</strong> zero<br />

In [17], Gash suggests the following approach, which re-introduces a limited amount of reduction <strong>to</strong> zero.<br />

Once the degree of the polynomials exceeds 2M, where M is the Macaulay bound for regular sequences [2,<br />

20], start s<strong>to</strong>ring redundant polynomials in a set D. Whenever subalgorithm Reduction returns a nonempty<br />

set R d that does not expand the ideal of leading monomials, reduce all elements of R d completely w.r.t.<br />

G ∪ D and s<strong>to</strong>re any non-zero results in D instead of adding them <strong>to</strong> G. Since complete reduction can<br />

destroy the relationship between a polynomial and its signature, the rewrite rules that correspond <strong>to</strong> them<br />

are also deleted. Subsequently, s-polynomials built using an element of D are reduced without regard <strong>to</strong><br />

criterion, and those that do not reduce <strong>to</strong> zero are also added <strong>to</strong> D, generating new critical pairs. Gash<br />

called the resulting variant <strong>F5</strong>t.<br />

One can identify four drawbacks of this approach:<br />

1. The re-introduction of zero-reductions incurs a performance penalty. In Gash’s experiments, this<br />

penalty was minimal, but these were performed on relatively small systems without many redundant<br />

polynomials. In some systems, such as Katsura-9, <strong>F5</strong> works with hundreds of redundant polynomials.<br />

2. It keeps track of two different lists for generating critical pairs and uses a completely new reduction<br />

process. An implementation must add a significant amount of complicated code beyond the original<br />

<strong>F5</strong> algorithm.<br />

3. It has <strong>to</strong> abandon some signatures due <strong>to</strong> the new, signature-corrupting reduction process. Thus, a<br />

large number of unnecessary critical pairs can be considered.<br />

4. The use of 2M <strong>to</strong> control the size of D is an imprecise, ad-hoc patch. In some experiments from [17],<br />

<strong>F5</strong>t terminated on its own before polynomials reached degree 2M; for other input systems, <strong>F5</strong>t yielded<br />

polynomials well beyond the 2M bound, and a higher bound would have been desirable.<br />

4.2 <strong>F5</strong>B: Use Buchberger’s lcm criterion<br />

In [1], Ars suggests using Buchberger’s lcm criterion <strong>to</strong> determine a degree bound.<br />

• Initialize a global variable d B = 0 s<strong>to</strong>ring a degree.<br />

• Keep a second list of critical pairs, P ∗ , used only <strong>to</strong> determine a degree bound.<br />

• When adding new elements <strong>to</strong> G, s<strong>to</strong>re a copy of each critical pair not detected by Buchberger’s lcm<br />

criterion in P ∗ . Remove any previously-s<strong>to</strong>red pairs that are detected by Buchberger’s lcm criterion,<br />

and s<strong>to</strong>re the highest degree of an element of P ∗ in d B .<br />

2 Another algorithm that computes a degree bound is MXL3 [22], but its mechanism is designed for zero-dimensional systems<br />

over a field of characteristic 2. It is not appropriate for the general case, whereas the approaches that we study here are.<br />

81


Eder, Gash, Perry<br />

If the degree of all critical pairs in P exceeds d B , then a straightforward application of Buchberger’s lcm<br />

criterion implies that the algorithm has computed a Gröbner basis, so it can terminate. We call this variant<br />

<strong>F5</strong>B.<br />

It is important <strong>to</strong> maintain the distinction between the two lists of critical pairs. Otherwise, the<br />

correctness of the algorithm is no longer assured: Buchberger’s criteria ignore the signatures, so P ∗ lacks<br />

elements needed on account of Situation 27.<br />

While elegant, this approach has one clear drawback. Every critical pair is computed and checked<br />

twice: once for Buchberger’s lcm criterion, and again for the <strong>F5</strong> criteria. Although Faugère’s Criterion also<br />

checks for divisibility, it checks only polynomials of smaller index, whereas Buchberger’s criterion checks all<br />

polynomials, and in most systems the number of polynomials of equal index is much larger than the <strong>to</strong>tal of<br />

all polynomials having lower index. Indeed, we will see in Section 4.5 that this seemingly innocuous check<br />

can accumulate a significant time penalty. This would be acceptable if the algorithm routinely used d B<br />

<strong>to</strong> terminate, but <strong>F5</strong> generally terminates from its own internal mechanisms before d = d B ! Thus, except<br />

for pathological cases, the penalty for this short-circuiting mechanism is not compensated by a discernible<br />

benefit.<br />

4.3 <strong>F5</strong>+: Use <strong>F5</strong>’s criteria on non-redundant critical pairs<br />

We now describe a variant that uses information from <strong>F5</strong> itself, along with the theory developed in Section 3,<br />

<strong>to</strong> reduce, if not eliminate, the penalty necessary <strong>to</strong> force <strong>termination</strong>. We restate only those algorithms<br />

of [16] that differ from the original (and the differences are in fact minor).<br />

The fundamental motivation of this approach stems from the fact that a polynomial is redundant if and<br />

only if TopReduction rejects a reduc<strong>to</strong>r on account of one of the <strong>F5</strong> criteria. Unders<strong>to</strong>od correctly, this<br />

means that <strong>F5</strong> “knows” at this point whether a polynomial is redundant. We would like <strong>to</strong> <strong>ensure</strong> that it<br />

does not “forget” this fact. As long as this information remains available <strong>to</strong> the algorithm, identifying GBand<br />

<strong>F5</strong>-critical pairs will be trivial. Thus, our tasks are:<br />

1. Modify the data structures <strong>to</strong> flag a labeled polynomial as redundant or non-redundant.<br />

2. Use this flag <strong>to</strong> distinguish <strong>F5</strong>- and GB-critical pairs.<br />

3. Use the GB-critical pairs <strong>to</strong> decide when <strong>to</strong> terminate.<br />

We address each of these in turn.<br />

To distinguish between redundant and non-redundant labeled polynomials, we add a third, boolean<br />

field <strong>to</strong> the structure of a labeled polynomial. We mark a redundant labeled polynomial with b = 1, and a<br />

non-redundant one with b = 0. Without loss of generality, the inputs are non-redundant, so the first line<br />

of subalgorithm <strong>F5</strong> can change <strong>to</strong><br />

r i := (F i , f i , 0) ∈ R × {0, 1}<br />

For all other labeled polynomials, the value of b is set <strong>to</strong> 0 in algorithm Spol, then defined by the behaviour<br />

of the Reduction subalgorithm; see below.<br />

The next step is <strong>to</strong> detect redundant polynomials; we do this in IsReducible. In an unmodified <strong>F5</strong>,<br />

the return value of IsReducible is either a labeled polynomial r ij (a polynomial that reduces r) or ∅. The<br />

return value ∅ can have two meanings:<br />

1. There exists no reducer of the input.<br />

2. There exist reducers of the input, but their reductions are rejected.<br />

<strong>Algorithm</strong> 1, which replaces the original IsReducible subalgorithm, distinguishes these two possibilities by<br />

adding a boolean <strong>to</strong> the output: b = 0 in case (1) and b = 1 otherwise. We also need <strong>to</strong> modify subalgorithm<br />

TopReduction <strong>to</strong> use this new data; see <strong>Algorithm</strong> 2.<br />

82


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

We now describe the main routine of the new variant, which fulfills the following conditions:<br />

1. Compute as low a degree bound as possible.<br />

2. Minimize any penalty <strong>to</strong> the algorithm’s performance.<br />

An easy way <strong>to</strong> estimate d 0 would be <strong>to</strong> compute the highest degree of a GB-critical pair. Although this<br />

would be correct, experience suggests that, in general, it is much higher than necessary (see Table 1 in<br />

Section 4.5). Instead, the new variant will use the criteria of the <strong>F5</strong> algorithm <strong>to</strong> identify GB-critical pairs<br />

that probably reduce <strong>to</strong> zero. How can we identify such pairs? The following method seems intuitively<br />

correct: when all GB-critical pairs are rejected by one of the <strong>F5</strong> criteria.<br />

However, Situation 27 implies that this intuition may be incorrect. Thus, once the algorithm reaches<br />

that degree (and not earlier), it uses Buchberger’s lcm criterion <strong>to</strong> decide whether the remaining GB-critical<br />

pairs reduce <strong>to</strong> zero. If it can verify this, then the algorithm can terminate.<br />

This differs from the approach of [1] in two important ways.<br />

1. Rather than checking all pairs against the lcm criterion, it checks only GB-critical pairs that <strong>F5</strong> also<br />

rejects as unnecessary. After all, it follows from Theorem 25 that <strong>F5</strong>-critical pairs can be necessary<br />

only if they substitute for a GB-critical pair.<br />

2. It checks the GB-critical pairs only once the <strong>F5</strong> criteria suggest that it should terminate.<br />

We call this variant <strong>F5</strong>+; see <strong>Algorithm</strong> 3.<br />

<strong>Algorithm</strong> 1 IsReducible<br />

⎧<br />

⎪⎨<br />

Input:<br />

⎪⎩<br />

r i0 , a labeled polynomial of R<br />

G = [r i1 , . . . , r ir ]<br />

k ∈ N<br />

ϕ, a normal form<br />

b := 0<br />

for j from 1 <strong>to</strong> r do<br />

if (u := HT(r i 0 )<br />

HT(r ij ) ∈ T ) then<br />

if (neither criterion detects (r i0 , r ij )) then<br />

return (r ij , 0)<br />

else<br />

b := 1<br />

return (∅, b)<br />

Remark 29. An implementation of <strong>F5</strong>+ has <strong>to</strong> take care when checking Buchberger’s lcm criterion, on<br />

account of the phenomenon of Buchberger triples [3, p. 229]. In [1], this is implemented similarly <strong>to</strong> the<br />

“Update” algorithm of [3, 18]. The current <strong>F5</strong>+ takes a more traditional route; it records all critical pairs<br />

that have generated s-polynomials. The burden on memory is minimal.<br />

4.4 Correctness and <strong>termination</strong> of <strong>F5</strong>+<br />

As a last step we have <strong>to</strong> show that <strong>F5</strong>+ terminates correctly.<br />

Theorem 30. If <strong>F5</strong>+ terminates, the result is a Gröbner basis of the input.<br />

Proof. This follows from Buchberger’s lcm criterion.<br />

Theorem 31. For a given homogeneous ideal I as input, <strong>F5</strong>+ terminates after finitely many steps.<br />

83


Eder, Gash, Perry<br />

<strong>Algorithm</strong> 2 TopReduction<br />

⎧<br />

⎪⎨<br />

Input:<br />

⎪⎩<br />

r k0 , a labeled polynomial of R<br />

G, a list of elements of R<br />

k ∈ N<br />

ϕ, a normal form<br />

if poly(r k0 ) = 0 then<br />

return (∅, ∅)<br />

(r ′ , b) :=IsReducible(r k0 , G, k, ϕ)<br />

if r ′ = ∅ then<br />

r k0 := ( 1<br />

S(r k0 ),<br />

HC(r k0 ) poly(r k 0<br />

), b )<br />

return (r k0 , ∅)<br />

else<br />

r k1 = r ′<br />

u := HT(r k 0<br />

)<br />

HT(r k1 )<br />

if uS(r k1 ) ≺ S(r k0 ) then<br />

r k0 := ( S(r k0 ), poly(r k0 ) − upoly(r k1 ), b )<br />

return (∅, {r k0 })<br />

else<br />

N := N + 1<br />

r N := ( uS(r k1 ), upoly(r k1 ) − poly(r k0 ), b )<br />

Add Rule (r N )<br />

return (∅, {r N , r k0 })<br />

Proof. We first claim that after generating new critical pairs for P in lines 22–29, <strong>F5</strong>+ satisfies #P < ∞<br />

at line 30, and thus satisfies #P < ∞ when the loop at line 14 iterates anew. To show this, we will show<br />

that at any given degree d, the algorithm generates only finitely many polynomials and critical pairs. We<br />

proceed by induction on d; certainly #P < ∞ after the loop in lines 7–12. Assume therefore that #P < ∞<br />

at line 14. By the assumption that #P < ∞, we have #P d < ∞, so Spol generates only finitely many new<br />

polynomials. We now consider Reduction; let r ∈ T oDo.<br />

1. If poly(r) = 0, then r is effectively discarded; the algorithm does not add it <strong>to</strong> G, nor use it <strong>to</strong><br />

generate new critical pairs.<br />

2. If poly(r) ≠ 0, then IsReducible checks for possible reducers:<br />

(a) If no reducer is returned, then r is returned and added <strong>to</strong> G. All newly computed critical pairs<br />

generated by r have degree > d; their number is finite because G is currently finite.<br />

(b) If IsReducible returns r red ∈ G such that there exists u red ∈ T satisfying u red HT(r red ) = HT(r)<br />

and S(r) ≻ u red S(r red ), then poly(r) − u red poly(r red ) replaces poly(r) in r, and r is checked for<br />

further reductions. Note that HT(poly(r)) has decreased.<br />

(c) If IsReducible returns r red ∈ G such that there exists u red ∈ T satisfying u red HT(r red ) = HT(r)<br />

but u red S(r red ) ≻ S(r), then r is not changed, but kept for further reduction checks. A new<br />

element r ′ = (u red S(r red ), poly(r) − u red poly(r red )) is generated, and its signature S(r ′ ) added<br />

<strong>to</strong> the list of rules. Note that deg r ′ = deg r and deg ST(r ′ ) = deg ST(r).<br />

Only finitely many distinct reducers could lead <strong>to</strong> new elements r ′ . Since S(r ′ ) was added <strong>to</strong> the<br />

list of rules, the Rewritten Criterion implies that r red will not be chosen again as a reducer of r.<br />

84


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

<strong>Algorithm</strong> 3 <strong>F5</strong>+<br />

⎧<br />

⎨<br />

Input:<br />

⎩<br />

i ∈ N<br />

f i ∈ K[x]<br />

G i+1 ⊂ R × K[x], such that poly(G i+1 ) is a Gröbner basis of Id(f i+1 , . . . , f m )<br />

1: r i := (F i , f i , 0)<br />

2: ϕ i+1 := NF(., poly(G i+1 ))<br />

3: G i := G i+1 ∪ {r i }<br />

4: {P is the usual set of pairs; P ∗ is the set of GB-pairs detected by the <strong>F5</strong> criterion}<br />

5: P := ∅<br />

6: P ∗ := ∅<br />

7: for r j ∈ G i+1 do<br />

8: p := CritPair(r i , r j , i, ϕ i+1 )<br />

9: if p = ∅ and r j non-redundant then<br />

10: Add (lcm(HT(poly(r i )), HT(poly(r j ))), r i , r j ) <strong>to</strong> P ∗<br />

11: else<br />

12: Add p <strong>to</strong> P<br />

13: Sort P by degree<br />

14: while P ≠ ∅ do<br />

15: d := deg(first(P ))<br />

16: Discard from P ∗ all pairs that are not of maximal degree<br />

17: if d ≤ max{deg(p) : p ∈ P ∗ } or ∃p ∈ P ∗ that does not satisfy Buchberger’s lcm criterion then<br />

18: P d := {p ∈ P : deg(p) = d}<br />

19: P := P \P d<br />

20: F := Spol(P d )<br />

21: R d := Reduction(F, G i , i, ϕ i+1 )<br />

22: for r ∈ R d do<br />

23: for r j ∈ G i do<br />

24: p := CritPair(r, r j , i, ϕ i+1 )<br />

25: if p = ∅ and r, r j both non-redundant then<br />

26: Add (lcm(HT(poly(r)), HT(poly(r j ))), r, r j ) <strong>to</strong> P ∗<br />

27: else<br />

28: Add p <strong>to</strong> P<br />

29: G i := G i ∪ {r}<br />

30: Sort P by degree<br />

31: else<br />

32: P := ∅<br />

33: return G i<br />

There are only finitely many signatures of degree d, so only finitely many new elements can be<br />

added in this way.<br />

It follows that in each degree step only finitely many new polynomials are computed, so only finitely many<br />

new critical pairs are generated. Hence #P < ∞ at line 30.<br />

To finish the proof we have <strong>to</strong> show that after finitely many steps, only <strong>F5</strong>-critical pairs are left in<br />

P . There can only be finitely many GB-critical pairs as their generating labeled polynomials have <strong>to</strong> be<br />

non-redundant. Since R is Noetherian, only finitely many non-redundant polynomials can be computed.<br />

Thus <strong>F5</strong>+ terminates after finitely many steps.<br />

85


Eder, Gash, Perry<br />

4.5 Experimental results<br />

We implemented these variants in the Singular kernel <strong>to</strong> compare performance. (The <strong>F5</strong> implementation<br />

in Singular is still under development.) In Table 1 we compare timings and degree bounds for some<br />

examples. All systems are homogeneous and computed over a field of characteristic 32003. The random<br />

systems are generated using the function sparseHomogIdeal from random.lib in Singular; generating<br />

polynomials have a sparsity of 85-90% and degrees ≤ 6. This data was recorded from a workstation running<br />

Gen<strong>to</strong>o Linux on an Intel R○ Xeon R○ X5460 CPU at 3.16GHz with 64 GB RAM.<br />

Table 1 shows that the tests for <strong>F5</strong>+ do not slow it down significantly. But this is expected, since<br />

the modifications add trivial overhead, and rely primarily on information that the algorithm already has<br />

available.<br />

The computed degrees in Table 1 bear some discussion. We have implemented <strong>F5</strong>+ in two different<br />

ways. Both are the same in that they estimate the maximum necessary degree by counting the maximal<br />

degree of a GB-critical pair not discarded by the CritPair subalgorithm. However, one can implement<br />

a slightly more efficient CritPair algorithm by discarding pairs that pass Faugère’s Criterion, but are<br />

rewritable. (The basic <strong>F5</strong> checks the Rewritten Criterion only in subalgorithm Spol.) Thus one might<br />

compute a different maximal degree of P ∗ in each case: when CritPair discards only those pairs detected<br />

by Faugère’s Criterion, we designate the maximal degree of P ∗ as d F ; when CritPair discards pairs detected<br />

by the Rewritten Criterion as well, we designate the maximal degree of P ∗ as d F R . We denote the degree<br />

where the original <strong>F5</strong> terminates by d <strong>F5</strong> , and the maximal degree of a polynomial generated by d maxGB .<br />

Recall also that the maximal degree estimated by <strong>F5</strong>B is d B (Section 4.2).<br />

It is always the case that d maxGB ≤ d <strong>F5</strong> ; indeed, we will have d maxGB ≤ d A for any algorithm A that<br />

computes a Gröbner basis of a homogeneous system incrementally by degree.<br />

On the other hand, it is always the case that d F , d F R ≤ d <strong>F5</strong> ; d <strong>F5</strong> counts <strong>F5</strong>-critical pairs as well as<br />

GB-critical pairs, whereas d F , d F R count only GB-critical pairs that are not rejected by one or both of the<br />

<strong>F5</strong> criteria. Thus <strong>F5</strong>+ always starts its manual check for <strong>termination</strong> no later than <strong>F5</strong> would terminate,<br />

and sometimes terminates before <strong>F5</strong>. For example, the <strong>termination</strong> mechanisms activate for F-855, Eco-10<br />

and -11, and Cyclic-8, so <strong>F5</strong>B and <strong>F5</strong>+ both terminate at lower degree than <strong>F5</strong>. With little <strong>to</strong> no penalty,<br />

<strong>F5</strong>+ terminates first, but <strong>F5</strong>B terminates well after <strong>F5</strong> in spite of the lower degree! Even in Katsura-n,<br />

where d maxGB = d B < d F = d F R = d <strong>F5</strong> , the <strong>termination</strong> mechanism of <strong>F5</strong>+ incurs almost no penalty, so<br />

its timings are equivalent <strong>to</strong> those of <strong>F5</strong>, whereas <strong>F5</strong>B is slower. In other examples, such as Cyclic-7 and<br />

(4,5,12), <strong>F5</strong> and (therefore) <strong>F5</strong>+ terminate at or a little after the degree(s) predicted by d F and d F R , but<br />

before reaching the maximal degree computed by d B .<br />

5 Concluding remarks, and a conjecture<br />

The new variant of <strong>F5</strong> presented here is a straightforward solution <strong>to</strong> the problem of <strong>termination</strong>: it<br />

distinguishes <strong>F5</strong>- and GB-critical pairs and tracks the highest degree of a necessary GB-critical pair. Thus<br />

<strong>F5</strong>+ provides a self-generating, correct, and efficient <strong>termination</strong> mechanism in case <strong>F5</strong> does not terminate<br />

for some systems. In practice, <strong>F5</strong>+ terminates before reaching the degree cu<strong>to</strong>ff, but it is not possible <strong>to</strong><br />

test all systems, nor practical <strong>to</strong> determine a priori the precise degree of each Gröbner basis. The question<br />

of whether <strong>F5</strong>, as presented in [16], terminates correctly on all systems, or even on all regular systems,<br />

remains an important open question.<br />

The following conjecture arises from an examination of Table 1.<br />

Conjecture 32. The <strong>F5</strong> algorithm can terminate once all GB-critical pairs are rejected by the <strong>F5</strong> criteria.<br />

That is, it can terminate once d = d FR .<br />

Conjecture 32 is not a Corollary of Theorem 14! There, correctness follows only if all critical pairs are<br />

86


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

Table 1: Timings (in seconds) & degrees of <strong>F5</strong>, <strong>F5</strong>B, and <strong>F5</strong>+<br />

Examples 1 regular? <strong>F5</strong> <strong>F5</strong>B <strong>F5</strong>+ <strong>F5</strong>/<strong>F5</strong>B <strong>F5</strong>/<strong>F5</strong>+ dmaxGB 2 d<strong>F5</strong> 3 dGB-pair 4 dB 5 dF 6 dF R 7<br />

Katsura-9 yes 39.95 53.97 40.23 0.74 0.99 13 16 21 13 16 16<br />

Katsura-10 yes 1,145.47 1,407.92 1,136.43 0.80 1.00 15 18 26 15 18 18<br />

F-855 no 9,831.81 11,364.47 9,793.17 0.86 1.00 14 18 20 17 17 16<br />

Eco-10 no 47.26 57.97 46.67 0.82 1.01 15 20 23 17 17 17<br />

Eco-11 no 1,117.13 1,368.44 1,072.47 0.82 1.04 17 23 26 19 19 19<br />

Cyclic-7 no 6.24 9.18 6.21 0.67 1.00 19 23 28 24 23 21<br />

Cyclic-8 no 3,791.54 4,897.61 3,772.66 0.77 1.00 29 34 41 33 32 30<br />

4,6,8 no 195.45 204.88 195.69 0.95 1.00 22 36 42 34 34 34<br />

5,4,8 yes 45.103 46.930 45.123 0.96 1.00 20 22 35 23 20 20<br />

6,4,8 no 46.180 46.880 46.247 0.99 1.00 20 20 34 22 20 20<br />

7,4,8 no 0.827 0.780 0.830 1.060 1.00 14 19 27 14 17 15<br />

8,3,8 no 122.972 126.816 123.000 0.97 1.00 22 37 35 26 31 29<br />

4,5,12 no 4.498 5.680 4.590 0.79 0.98 29 33 37 42 32 30<br />

6,5,12 yes 12.071 21.150 12.060 0.57 1.00 50 54 73 55 54 50<br />

8,4,12 no 46.122 47.613 47.750 0.97 0.97 27 35 44 30 34 29<br />

12,4,12 no 14.413 14.897 14.360 0.97 1.00 42 55 60 43 53 43<br />

4,3,16 yes 1.439 1.403 1.450 1.03 0.99 15 15 23 18 15 15<br />

6,3,16 yes 36.300 37.136 36.300 0.98 1.00 10 14 23 15 14 13<br />

8,3,16 yes 467.560 471.737 467.530 0.99 1.00 12 16 21 13 15 13<br />

12,3,16 yes 210.327 206.441 210.311 1.02 1.00 21 25 34 20 24 23<br />

4,3,20 yes 1.512 1.680 1.500 0.90 1.01 16 22 24 22 21 21<br />

6,4,20 no 1,142.433 1,327.540 1,144.370 0.86 1.00 27 37 39 29 35 31<br />

8,4,20 no 8.242 8.230 8.251 1.00 1.00 35 40 48 36 40 37<br />

12,3,20 yes 0.650 0.693 0.650 0.94 1.00 22 26 34 27 26 23<br />

16,3,20 no 2.054 2.060 2.050 1.00 1.00 26 26 41 27 26 26<br />

1 The notation (a, b, c) denotes a random system of a genera<strong>to</strong>rs with maximal degree b in a polynomial ring of c variables.<br />

2 maximal degree in GB<br />

3 observed degree of <strong>termination</strong> of <strong>F5</strong><br />

4 maximal degree of a GB-critical pair<br />

5 maximal degree estimated by Buchberger’s lcm criterion; see Section 4.2<br />

6 maximal degree of all GB-critical pairs not detected by Faugère’s Criterion<br />

7 maximal degree of all GB-critical pairs not detected by Faugère’s Criterion or the Rewritten Criterion<br />

87


Eder, Gash, Perry<br />

rejected by the algorithm: GB- and <strong>F5</strong>-critical pairs. Similarly, a proof of Conjecture 32 would imply that<br />

we could drop al<strong>to</strong>gether the check of Buchberger’s criteria.<br />

If one could show that d maxGB ≤ d F R , Conjecture 32 would follow immediately. However, such a proof<br />

is non-trivial, and lies beyond the scope of this paper. The conjecture may well be false even if we replace<br />

d F R by d F , although we have yet <strong>to</strong> encounter a counterexample. The difficulty lies in the possibility that<br />

Situation 27 applies.<br />

6 Acknowledgements<br />

The authors wish <strong>to</strong> thank Martin Albrecht, Daniel Cabarcas, Gerhard Pfister and Stefan Steidel for<br />

helpful discussions. Moreover, we would also like <strong>to</strong> thank the Singular team at TU Kaiserslautern for<br />

their technical support. We especially wish <strong>to</strong> thank the anonymous referees whose comments improved<br />

the paper.<br />

References<br />

[1] Gwénolé Ars. Applications des bases de Gröbner à la cryp<strong>to</strong>graphie. PhD thesis, Université de Rennes<br />

I, 2005.<br />

[2] Magali Bardet, Jean-Charles Faugère, and Bruno Salvy. Asympotic expansion of the degree<br />

of regularity for semi-regular systems of equations. Manuscript downloaded from<br />

www-calfor.lip6.fr/~jcf/Papers/BFS05.pdf.<br />

[3] Becker, T., Weispfenning, V., and Kredel, H. Gröbner Bases. Springer Verlag, 1993.<br />

[4] Bosma, W., Cannon, J., and Playoust, C. The Magma algebra system. I. The user language. Journal<br />

of Symbolic Computation, 24(3-4):235–265, 1997. http://magma.maths.usyd.edu.au/magma/.<br />

[5] Michael Brickenstein. Slimgb: Gröbner bases with slim polynomials. Revista Matemática Complutense,<br />

23, issue 2:453–466, 2010. the final publication is available at www.springerlink.com.<br />

[6] Brickenstein, M. and Dreyer, A. PolyBoRi: A framework for Gröbner basis computations with Boolean<br />

polynomials. Journal of Symbolic Computation, 44(9):1326–1345, September 2009.<br />

[7] Buchberger, B. Ein <strong>Algorithm</strong>us zum Auffinden der Basiselemente des Restklassenringes nach einem<br />

nulldimensionalen Polynomideal. PhD thesis, University of Innsbruck, 1965.<br />

[8] Buchberger, B. Ein algorithmisches Kriterium für die Lösbarkeit eines algebraischen Gleichungssystems.<br />

Aequ. Math., 4(3):374–383, 1970.<br />

[9] Buchberger, B. A criterion for detecting unnecessary reductions in the construction of Gröbner bases.<br />

In EUROSAM ’79, An International Symposium on Symbolic and Algebraic Manipulation, volume 72<br />

of Lecture Notes in Computer Science, pages 3–21. Springer, 1979.<br />

[10] Decker, W., Greuel, G.-M., Pfister, G., and Schönemann, H. Singular 3-1-1 — A computer algebra<br />

system for polynomial computations, 2010. http://www.singular.uni-kl.de.<br />

[11] Decker, W. and Lossen, C. Computing in Algebraic Geometry - A Quick Start in Singular. ACM<br />

16, Springer Verlag, 2006.<br />

[12] Eder, C. On the criteria of the <strong>F5</strong> <strong>Algorithm</strong>. preprint math.AC/0804.2033, 2008.<br />

88


<strong>Modifying</strong> Faugère’s <strong>F5</strong> <strong>Algorithm</strong> <strong>to</strong> <strong>ensure</strong> <strong>termination</strong><br />

[13] Eder, C. and Perry, J. <strong>F5</strong>C: A Variant of Faugère’s <strong>F5</strong> <strong>Algorithm</strong> with reduced Gröbner bases. Journal<br />

of Symbolic Computation, <strong>to</strong> appear. dx.doi.org/10.1016/j.jsc.2010.06.019.<br />

[14] Jean-Charles Faugère. Cryp<strong>to</strong>challenge 11 is broken or an efficient attack of the C* cryp<strong>to</strong>system.<br />

Technical report, LIP6/Universitè Paris, 2005.<br />

[15] Faugère, J.-C. A new efficient algorithm for computing Gröbner bases (F4). Journal of Pure and<br />

Applied Algebra (Elsevier Science), 139(1):61–88, June 1999.<br />

[16] Faugère, J.-C. A new efficient algorithm for computing Gröbner bases without reduction <strong>to</strong> zero<br />

<strong>F5</strong>. In ISSAC 2002, Villeneuve d’Ascq, France, pages 75–82, July 2002. Revised version from<br />

http://fgbrs.lip6.fr/ jcf/Publications/index.html.<br />

[17] Gash, J. M. On efficient computation of Grobner bases. PhD thesis, University of Indiana, 2008.<br />

[18] Gebauer, R. and Möller, H. M. On an installation of Buchberger’s algorithm. Journal of Symbolic<br />

Computation, 6(2-3):275–286, Oc<strong>to</strong>ber/December 1988.<br />

[19] Greuel, G.-M. and Pfister, G. A Singular Introduction <strong>to</strong> Commutative Algebra. Springer Verlag,<br />

2nd edition, 2007.<br />

[20] Daniel Lazard. Gröbner bases, Gaussian elimination and resolution of systems of algebraic equations.<br />

In J. A. van Hulzen, edi<strong>to</strong>r, EUROCAL’83, European Computer Algebra Conference, volume 162 of<br />

Springer LNCS, pages 146–156, 1983.<br />

[21] F. S. Macaulay. On some formulæ in elimination. Proceedings of the London Mathematical Society,<br />

33(1):3–27, 1902.<br />

[22] Mohamed Saied Emam Mohamed, Daniel Cabarcas, Jintai Ding, Johannes Buchmann, and Stanislav<br />

Bulygin. MXL3: An efficient algorithm for computing Gröbner bases of zero-dimensional ideals. In<br />

Information, Security and Cryp<strong>to</strong>logy — ICISC 2009, volume 5984 of Lecture Notes in Computer<br />

Science, pages 87–100. Springer, 2010.<br />

[23] Möller, H.M., Traverso, C., and Mora, T. Gröbner bases computation using syzygies. In ISSAC 92:<br />

Papers from the International Symposium on Symbolic and Algebraic Computation, pages 320–328,<br />

1992.<br />

[24] Stegers, T. Faugère’s <strong>F5</strong> <strong>Algorithm</strong> revisited. Master’s thesis, Technische Univerität Darmstadt,<br />

revised version 2007.<br />

89


ACM Communications in Computer Algebra, Issue 176, Vol. 45, No. 2, June 2011<br />

Philippe Flajolet, the Father of Analytic Combina<strong>to</strong>rics<br />

Communicted by<br />

Bruno Salvy, Bob Sedgewick, Michele Soria, Wojciech Szpankowski, Brigitte Vallee<br />

Philippe Flajolet, mathematician and computer scientist extraordinaire, suddenly passed away on<br />

March 22, 2011, at the prime of his career. He is celebrated for opening new lines of research in analysis of<br />

algorithms, developing powerful new methods, and solving difficult open problems. His research contributions<br />

will have impact for generations, and his approach <strong>to</strong> research, based on curiosity, a discriminating<br />

taste, broad knowledge and interest, intellectual integrity, and a genuine sense of camaraderie, will serve<br />

as an inspiration <strong>to</strong> those who knew him for years <strong>to</strong> come.<br />

The common theme of Flajolet’s extensive and far-reaching body of work is the scientific approach <strong>to</strong><br />

the study of algorithms, including the development of requisite mathematical and computational <strong>to</strong>ols.<br />

During his forty years of research, he contributed nearly 200 publications, with an important proportion of<br />

fundamental contributions and representing uncommon breadth and depth. He is best known for fundamental<br />

advances in mathematical methods for the analysis of algorithms, and his research also opened new<br />

avenues in various domains of applied computer science, including streaming algorithms, communication<br />

pro<strong>to</strong>cols, database access methods, data mining, symbolic manipulation, text-processing algorithms, and<br />

random generation. He exulted in sharing his passion: his papers had more than than a hundred different<br />

co-authors and he was a regular presence at scientific meetings all over the world.<br />

His research laid the foundation of a subfield of mathematics, now known as analytic combina<strong>to</strong>rics. His<br />

lifework Analytic Combina<strong>to</strong>rics (Cambridge University Press, 2009, co-authored with R. Sedgewick) is<br />

a prodigious achievement that now defines the field and is already recognized as an authoritative reference.<br />

Analytic combina<strong>to</strong>rics is a modern basis for the quantitative study of combina<strong>to</strong>rial structures (such<br />

as words, trees, mappings, and graphs), with applications <strong>to</strong> probabilistic study of algorithms that are<br />

based on these structures. It also strongly influences other scientific domains, such as statistical physics,<br />

computational biology, and information theory. With deep his<strong>to</strong>ric roots in classical analysis, the basis of<br />

the field lies in the work of Knuth, who put the study of algorithms on a firm scientific basis starting in the<br />

late 1960s with his classic series of books. Flajolet’s work takes the field forward by introducing original<br />

approaches in combina<strong>to</strong>rics based on two types of methods: symbolic and analytic. The symbolic side is<br />

90


Philippe Flajolet<br />

based on the au<strong>to</strong>mation of decision procedures in combina<strong>to</strong>rial enumeration <strong>to</strong> derive characterizations of<br />

generating functions. The analytic side treats those functions as functions in the complex plane and leads<br />

<strong>to</strong> precise characterization of limit distributions. In the last few years, Flajolet was further extending and<br />

generalizing this theory in<strong>to</strong> a meeting point between information theory, probability theory and dynamical<br />

systems.<br />

Philippe Flajolet was born in Lyon on December 1, 1948. He graduated from Ecole Polytechnique in<br />

Paris in 1970, and was immediately recruited as a junior researcher at the Institut National de Recherche<br />

en Informatique et en Au<strong>to</strong>matique (INRIA), where he spent his career. Attracted by linguistics and<br />

logic, he worked on formal languages and computability with Maurice Nivat, obtaining a PhD from the<br />

University of Paris 7 in 1973. Then, following Jean Vuillemin in the footsteps of Don Knuth, he turned<br />

<strong>to</strong> the emerging field of analysis of algorithms and got a Doc<strong>to</strong>rate in Sciences, both in mathematics and<br />

computer science, from the University of Paris at Orsay in 1979. At INRIA, he created and led the ALGO<br />

research group, which attracted visiting researchers from all over the world.<br />

He held numerous visiting positions, at Waterloo, Stanford, Prince<strong>to</strong>n, Wien, Barcelona, IBM and<br />

the Bell Labora<strong>to</strong>ries. He received several prizes, including the Grand Science Prize of UAP (1986), the<br />

Computer Science Prize of the French Academy of Sciences (1994), and the Silver Medal of CNRS (2004).<br />

He was elected a Corresponding Member (Junior Fellow) of the French Academy of Sciences in 1994, a<br />

Member of the Academia Europaea in 1995, and a Member (Fellow) of the French Academy of Sciences in<br />

2003.<br />

A brilliant, insightful “honnête homme” with broad scientific interests, Philippe pursued new discoveries<br />

in computer science and mathematics and shared them with students and colleagues for over 40 years with<br />

enthusiasm, joy, generosity, and warmth. In France, he was the major reference at the interface between<br />

mathematics and computer science and founded the “Alea” meetings that bring <strong>to</strong>gether combina<strong>to</strong>rialists,<br />

probabilists and physicists <strong>to</strong> share problems and methods involving discrete randomness. More broadly,<br />

he was the leading figure in the development of the international “AofA” community that is devoted<br />

<strong>to</strong> research on probabilistic, combina<strong>to</strong>rial, and asymp<strong>to</strong>tic methods in the analysis of algorithms. The<br />

colleagues and students who are devoted <strong>to</strong> carrying on his work form the core of his primary legacy.<br />

91


ACM Communications in Computer Algebra, Issue 176, Vol. 45, No. 2, June 2011<br />

Abstracts of WWCA 2011 in Honor of Herb Wilf’s 80th Birthday<br />

Communicated by Ilias Kotsireas and Eugene Zima<br />

Author: Gert Almkvist<br />

Affiliation: University of Lund, Sweden<br />

Title: Ramanujan-like formulas for 1 and String Theory<br />

π 2<br />

Abstract: This is joint work with Jesus Guillera, Zaragoza. Using the Gromov-Witten potential from String<br />

Theory we design a Maple programme <strong>to</strong> find formulas for 1 . One result is the new formula<br />

π2 1<br />

π 2 = 32<br />

3<br />

∞∑ (6n)!<br />

n! 6 (532n2 + 126n + 9)<br />

n=0<br />

which can be used <strong>to</strong> compute an arbitrary decimal digit of<br />

1<br />

1000 2n+1<br />

1<br />

without computing the earlier digits.<br />

π2 Author: George E. Andrews<br />

Affiliation: Pennsylvania State University, USA<br />

Title: Partition Function Differences, and Anti-Telescoping<br />

Abstract: For decades partition function differences have been studied. These include a famous problem<br />

of Henry Alder posed in the 1950’s and solved only recently by Yee, Oliver et al.. In 1978, Szekeres and<br />

Richmond partially solved a problem of this type concerning the Rogers-Ramanujan continued fraction.<br />

Unknown <strong>to</strong> them, the problem had essentially been solved by Ramanujan in the Lost Notebook. In this<br />

talk, I will begin with the his<strong>to</strong>ry of such problems. I will conclude with some observations on a method,<br />

Anti-Telescoping, for treating some such problems. Here is a typical example of the questions posed.<br />

The late Leon Ehrenpreis asked in 1987 if one could prove that the number of partitions of n in<strong>to</strong> parts<br />

congruent <strong>to</strong> 1 or 4 mod 5 is always at least as large as the number with parts congruent <strong>to</strong> 2 or 3 mod 5<br />

WITHOUT using the Rogers-Ramanujan identities. Subsequently Baxter and I gave a ”sort of” solution <strong>to</strong><br />

the problem, and Kevin Kadell gave a complete solution in 1999. We shall describe how Anti-Telescoping<br />

treats this problem.<br />

Author: Miklos Bona<br />

Affiliation: University of Florida, USA<br />

Title: Permutations as Genome Rearrangements<br />

Abstract: Given a permutation written in the one-line notation, such as 3147526, it is natural <strong>to</strong> ask how<br />

many block transpositions (interchanges of two adjacent substrings) are needed <strong>to</strong> turn this permutation<br />

in<strong>to</strong> the increasing one. This has turned out <strong>to</strong> be a surprisingly difficult problem, and a long-standing<br />

conjecture has recently been disproved in this area. If, on the other hand, we are allowed <strong>to</strong> interchange any<br />

two blocks, then the best sorting algorithm is known. The average number of necessary block interchanges<br />

has recently been computed, using some very unexpected <strong>to</strong>ols from remote-looking areas of mathematics.<br />

In this talk, we will review the results and open problems of these two families of questions, and suggest<br />

92


WWCA 2011 Abstracts<br />

another interesting open problem connected <strong>to</strong> them. We will say a few words about the biological motivation<br />

of these questions, and discuss some of their variations as well. No previous knowledge of sorting<br />

algorithms is necessary, and the talk will be accessible <strong>to</strong> students.<br />

Authors: Rodney Canfield<br />

Affiliation: University of Georgia, USA<br />

Title: The Asymp<strong>to</strong>tic Hadamard Conjecture<br />

Abstract: The Hadamard Conjecture states that for every integer n which is divisable by 4 there is an<br />

n × n matrix over {±1} whose rows are pairwise orthogonal. The first value of n in question is 668. Let<br />

H nt equal the number of n × t matrices over {±1} whose rows are pairwise orthogonal. The Asymp<strong>to</strong>tic<br />

Hadamard Conjecture gives an asymp<strong>to</strong>tic formula for H nt . The conjecture has been proven by de Launey<br />

and Levin (2010) for t > n 12+ɛ . We are attempting <strong>to</strong> extend the range of validity for the formula.<br />

Author: Sylvie Corteel<br />

Affiliation: Universite Paris 7, France<br />

Title: Enumeration of Staircase Tableaux<br />

Abstract: Staircase tableaux were recently introduced by Williams and the speaker <strong>to</strong> capture the combina<strong>to</strong>rics<br />

of the Partially Asymmetric Self Exclusion Process and the moments of the Askey Wilson<br />

polynomials. In this talk the speaker will focus on the enumeration of staircase tableaux at various specializations<br />

of the parameterizations; for example, we will see how <strong>to</strong> obtain the Catalan numbers, Fibonacci<br />

numbers, Eulerian numbers, the number of permutations, and the number of matchings.<br />

Author: Aviezri S. Fraenkel<br />

Affiliation: Weizmann Institute of Science, Israel<br />

Title: What’s a question <strong>to</strong> Herb Wilf’s answer?<br />

Abstract: An answer doesn’t determine the matching question uniquely. Recently, Herb Wilf and Warren<br />

Ewens wrote their revolutionary “There’s plenty of time for evolution”, in which they refuted the refutation<br />

of Darwin’s theory that exponential time is needed for evolution. They argue that evolution progresses in<br />

parallel, not in series, thereby reducing evolution time drastically. While reading this interesting treatise,<br />

I asked myself what other theories (population genetics, phylogenetics, evolutionary biology, geology, geosciences<br />

paleobiology, . . . ), could be consistent with their theory. I think that I was led <strong>to</strong> this question<br />

since I recently became interested in “inverse problems” in the area of combina<strong>to</strong>rial games. Roughly<br />

speaking, given a winning strategy, what’s a game that has the given winning strategy? I compounded<br />

this with another question. The winning strategy of Wythoff type games on two piles of <strong>to</strong>kens is usually<br />

given in the form of two complementary sequences of integers. What happens if the sequences are not<br />

complementary? We give some questions <strong>to</strong> these answers.<br />

Author: Ira Gessel<br />

Affiliation: Brandeis University, USA<br />

Title: On the WZ Method<br />

Abstract: It is well known that the WZ method of Wilf and Zeilberger gives an efficient way of proving<br />

hypergeometric series identities, but each example of the method is usually presented as an isolated application.<br />

I will explain how nearly all examples of the WZ method may be associated with special cases of<br />

the classical hypergeometric summation formulas of Gauss, Pfaff-Saalschutz, and Dougall.<br />

93


Kotsireas<br />

Author: Ian Goulden<br />

Affiliation: University of Waterloo, Canada<br />

Title: Combina<strong>to</strong>rics and the KP hierarchy<br />

Abstract: Maps in an orientable surface of arbitrary genus and branched covers of the sphere can both<br />

be represented by fac<strong>to</strong>rizations in the symmetric group, in which the subgroup generated by the fac<strong>to</strong>rs<br />

acts transitively on the underlying symbols (these are called ”transitive fac<strong>to</strong>rizations”). The generating<br />

series for a large class of transitive fac<strong>to</strong>rizations satisfies the KP hierarchy. We shall discuss the KP<br />

hierarchy and a new algebraic combina<strong>to</strong>rial proof of the fundamental result that relates Schur function<br />

expansions of a series and the Plucker relations. As an application, we give a recurrence for triangulations<br />

of a surface of arbitrary genus obtained from the simplest partial differential equation in the KP hierarchy.<br />

The recurrence is very simple, and we do not know a combina<strong>to</strong>rial interpretation of it, yet it leads <strong>to</strong><br />

precise asymp<strong>to</strong>tics for the number of triangulations with n edges, in a surface of genus g.<br />

Author: Ronald Graham<br />

Affiliation: UCSD, USA<br />

Title: Joint statistics for permutations in S n and Eulerian numbers<br />

Abstract: In this talk I will describe some recent results concerning the connection between the bubblesort<br />

sorting algorithm and certain integer sequences used <strong>to</strong> analyze patterns that arise in juggling. The analysis<br />

leads <strong>to</strong> new results on the joint distribution of the descent and maximum drop statistics of a permutation,<br />

as well as a new class of identities for the classical Eulerian numbers.<br />

Author: Andrew Granville<br />

Affiliation: Université de Montreal, Canada<br />

Title: More combina<strong>to</strong>rics and less analysis: A different approach <strong>to</strong> prime numbers<br />

Abstract: Since Riemann’s memoir 150 years ago, the main approach <strong>to</strong> studying the distribution of prime<br />

numbers has come from the study of the complex zeros of the analytic continuation of the Riemann zeta<br />

function. Indeed many regard the study of the seeming combina<strong>to</strong>rial problem of counting primes as<br />

tau<strong>to</strong>logically the same as the study of zeta(s), as seems <strong>to</strong> be indicated by Riemann’s brilliant explicit<br />

formula. In this talk we introduce the ”pretentious approach” of Soundararajan and the speaker <strong>to</strong> the<br />

distribution of prime numbers, which is quite analogous <strong>to</strong> key ideas in additive combina<strong>to</strong>rics/number<br />

theory and does not rest on the study of analytic continuations.<br />

Author: Curtis Greene<br />

Affiliation: Haverford College, USA<br />

Title: Some Posets Related <strong>to</strong> Muirhead’s, Maclaurin’s, and New<strong>to</strong>n’s Inequalities<br />

Abstract: Many classical inequalities such as those in title can be extended <strong>to</strong> familiar combina<strong>to</strong>rial<br />

symmetric function families such as the elementary, homogeneous, power sum, and Schur polynomials. All<br />

known instances of these extended inequalities hold in a strong form (”Y-positivity”), and these results<br />

are apparently new. Our analysis has involved certain posets which are of some interest in their own<br />

right, including the ”double-majorization order” on partitions and the lattice of 2-rowed standard Young<br />

tableaux. We will survey some of these techniques, and report on some recent results and open problems.<br />

This is joint work with Mark Skandera and Jonathan Lima.<br />

94


WWCA 2011 Abstracts<br />

Author: Joan Hutchison<br />

Affiliation: Macalester College, USA<br />

Title: Some Challenges in List-Colouring Planar Graphs<br />

Abstract: A graph G is said <strong>to</strong> be L-list-colorable when each vertex v is assigned a list L(v) of colors and<br />

G can be properly colored so that each v receives a color from L(v). Typically the lists L may vary from<br />

vertex <strong>to</strong> vertex. A graph is said <strong>to</strong> be k-list-colorable when it can be L-list-colored whenever every list<br />

L(v) contains at least k colors. A celebrated theorem of C. Thomassen proves that every planar graph can<br />

be 5-list-colored. An unresolved question of M.O. Albertson asks whether there is a distance d > 0 such<br />

that whenever a set P of vertices of a planar graph G are precolored and are mutually at distance at least<br />

d from one another, the precoloring extends <strong>to</strong> a 5-list-coloring of G. In this talk we give some partial<br />

affirmative answers <strong>to</strong> Albertson’s question and investigate the extent <strong>to</strong> which Thomassen’s theorem and<br />

Albertson’s question are best possible. This talk includes joint work with co-authors M.O. Albertson, M.<br />

Axenovich, and M.A. Lastrina.<br />

Author: David M.R. Jackson<br />

Affiliation: University of Waterloo, Canada<br />

Title: Enumerative Aspects of Cactus Graphs<br />

Abstract: I shall discuss enumerative aspects of cactus graphs in the context of a formal analogue of the<br />

Legendre transform. Extensions <strong>to</strong> the m-th order Legendre transform will be considered, as well as the<br />

impact of this work on other areas. Attention will be confined <strong>to</strong> the univariate case, although extension<br />

<strong>to</strong> the multivariate case seems feasible.<br />

Author: Christian Krattenthaler<br />

Affiliation: University of Vienna, Austria<br />

Title: Cyclic Sieving for Generalised Non-Crossing Partitions Associated <strong>to</strong> Complex Reflection Groups<br />

Abstract: Cyclic sieving is a(n enumerative) phenomenon formulated by Reiner, Stan<strong>to</strong>n and White. Bessis<br />

and Reiner proposed two conjectures on cyclic sieving phenomena for the generalised non-crossing partitions<br />

associated <strong>to</strong> complex reflection groups of Armstrong and Bessis. I shall first explain what cyclic sieving<br />

and these generalised non-crossing partitions are about, and then report the main ideas of a proof of the<br />

above two conjectures. Part of this work is in collaboration with Thomas Muller.<br />

Author: Vic<strong>to</strong>r H. Moll<br />

Affiliation: Tulane University, USA<br />

Title: p-adic Valuations of Sequences: Examples in Search of a Theory<br />

Abstract: In this lecture we present a variety of results and problems related <strong>to</strong> the p-adic valuation of<br />

classical sequences. Examples include Stirling numbers and the ASM-numbers that count the number of<br />

alternating sign matrices. An attempt <strong>to</strong> form a general theory will be discussed.<br />

Author: Andrew Odlyzko<br />

Affiliation: University of Minnesota, USA<br />

Title: Primes, Graphs and Generating Functions<br />

Abstract: Herb Wilf had extensive influence on the development of many fields of mathematics, both<br />

through his own research, and through asking penetrating questions. Some personal reminiscences of his<br />

influence and his collaborations will be presented.<br />

95


Kotsireas<br />

Author: Peter Paule<br />

Affiliation: Research Institute for Symbolic Computation, Johannes Kepler University Linz, Austria<br />

Title: Proving strategies of WZ-type for modular forms<br />

Abstract: In the context of WZ-theory Lily Yen and others have shown how hypergeometric identities can be<br />

proven by checking finitely many cases only. The talk, being joint work with Silviu Radu (RISC), discusses<br />

the algorithmic application of similar ideas, including the role of recurrences, <strong>to</strong> problems involving modular<br />

forms. One of the illustrating examples is a new proof of Ramanujan’s celebrated partition congruences<br />

for powers of 11.<br />

Author: Robin Pemantle<br />

Affiliation: University of Pennsylvania, USA<br />

Title: Zeros of Complex Polynomials and their Derivatives<br />

Abstract: The zeros of f ′ are known <strong>to</strong> lie in the convex hull of the zeros of f. Often one can say much<br />

more. When the zeros of f are independent random picks from a distribution, it turns out that the zeros<br />

of f ′ have the same distribution in the limit. Under further assumptions, nearly all of the zeros of f ′ are<br />

matched <strong>to</strong> corresponding zeros of f. This is joint work with I. Rivin.<br />

Author: Marko Petkovsek<br />

Affiliation: University of Ljubljana, Slovenia<br />

Title: On Enumeration of Structures with no Forbidden Substructures<br />

Abstract: Many interesting classes of combina<strong>to</strong>rial structures are defined by restricting some general class<br />

of structures <strong>to</strong> those structures that avoid certain “forbidden” substructures. Examples include words<br />

avoiding forbidden subwords or subsequences, permutations avoiding forbidden patterns, matrices avoiding<br />

forbidden submatrices, graphs avoiding forbidden subgraphs, induced subgraphs, minors, or <strong>to</strong>pological<br />

minors. We will try <strong>to</strong> look at the abundance of enumeration problems (solved and unsolved) presented<br />

by such classes.<br />

Authors: Bruce E. Sagan<br />

Affiliation: Michigan State University, USA<br />

Title: Mahonian Pairs<br />

Abstract: We introduce the notion of a Mahonian pair. Consider the set, P ∗ , of all words having the<br />

positive integers as alphabet. Given finite subsets S, T ⊂ P ∗ , we say that (S, T ) is a Mahonian pair if the<br />

distribution of the major index, maj, over S is the same as the distribution of the inversion number, inv,<br />

over T . So the well-known fact that maj and inv are equidistributed over the symmetric group, S n , can<br />

be expressed by saying that (S n , S n ) is a Mahonian pair. We investigate various Mahonian pairs (S, T )<br />

with S ≠ T . Our principal <strong>to</strong>ol is Foata’s fundamental bijection φ : P ∗ → P ∗ since it has the property<br />

that maj w = inv φ(w) for any word w. We consider various families of words associate with Catalan and<br />

Fibonacci numbers. Various other ideas come in<strong>to</strong> play such as the ranks and Durfee square size of integer<br />

partitions, the Catalan triangle, and various q-analogues.<br />

Author: Carla D. Savage<br />

Affiliation: NCSU, USA<br />

96


WWCA 2011 Abstracts<br />

Title: Generalized Lecture Hall Partitions and Eulerian Polynomials<br />

Abstract: Lecture hall partitions, introduced by Bousquet-Melou and Eriksson in 1997, are nonnegative<br />

integer sequences (x 1 , x 2 , ..., x n ) satisfying x i /i


Kotsireas<br />

groups W = S n for n ≤ 10 they are (modulo a few mild technical hypotheses) the only examples.<br />

Author: Volker Strehl<br />

Affiliation: Universitaet Erlangen, Germany<br />

Title: Aspects of a Combina<strong>to</strong>rial Annihilation Process<br />

Abstract: The asymmetric annihilation process has been introduced by A. Ayyer and K. Mallick (J Phys<br />

A, 2010) and has been further studied by A. Ayyer and the author (FPSAC 2010). It is similar in spirit <strong>to</strong><br />

the familiar TASEP model, but it also allows for the annihilation of neighbouring particles. In this talk I<br />

will describe an algebraic framework for a fully parametrized version of the annihilation process, including<br />

the derivation of its partition function.<br />

Author: Michelle Wachs<br />

Affiliation: University of Miami, USA<br />

Title: Unimodality of q-Eulerian Numbers and p, q-Eulerian Numbers<br />

Abstract: The Eulerian numbers enumerate permutations in the symmetric group S n by their number of<br />

excedances or by their number of descents. It is well known that they form a symmetric and unimodal<br />

sequence of integers. In this talk, which is based on work with John Shareshian and Anthony Henderson,<br />

we consider the q-analog of the Eulerian numbers obtained from the joint distribution of the major index<br />

and the excedance number, and the p, q-analog of the Eulerian numbers obtained by considering the joint<br />

distribution of the major index, descent number and excedance number. We show that the q-Eulerian<br />

numbers form a symmetric and unimodal sequence of polynomials in q and the p, q-Eulerian numbers<br />

refined by cycle type form a symmetric and unimodal sequence of polynomials in p and q. The proofs of<br />

these results rely on the Eulerian quasisymmetric functions introduced in joint work with Shareshian, on<br />

symmetric and quasisymmetric function theory, and on representation theory of the symmetric group.<br />

Author: Herbert S. Wilf<br />

Affiliation: University of Pennsylvania, USA<br />

Title: Two problems in combina<strong>to</strong>rial biology<br />

Abstract: The talk concerns two problems that were studied by Warren Ewens and myself and published in<br />

PNAS. The first concerns recognition of a disease epidemic as opposed <strong>to</strong> just a coincidental large number<br />

of cases in a small geographical area. The second is about evolution. One objection that has been raised<br />

<strong>to</strong> Darwinian evolution is that <strong>to</strong>o much time would be required for the necessary numbers of random<br />

mutations <strong>to</strong> happen, as needed <strong>to</strong> encode a complex organism. We show that if a simple model of the<br />

way natural selection and evolution work <strong>to</strong>gether is studied, it shows that in a very short time, a simple<br />

word can be transformed in<strong>to</strong> a complex one with random transformations of the letters. So in fact there<br />

is plenty of time for evolution.<br />

Author: Doron Zeilberger<br />

Affiliation: Rutgers University, USA<br />

Title: Au<strong>to</strong>matic Generation of Theorems and Proofs on Enumerating Consecutive WILF-classes<br />

Abstract: Shalosh B. Ekhad can ANSWER (in WILF’s sense of the word) the question “how many permutations<br />

avoid such and such (classical) pattern” for quite a few “such and such” (classical) patterns,<br />

but, so far, and most probably never, for ALL patterns. But it sure can ANSWER (in W’s sense) the<br />

analogous question for consecutive-WILF patterns, introduced by Sergi Elizalde and Marc Noy. Joint work<br />

with Andrew Baxter, Brian Nakamura, and of course, Shalosh B. Ekhad.<br />

98


WWCA 2011 Abstracts<br />

Author: Eugene Zima<br />

Affiliation: Wilfrid Laurier University, Canada<br />

Title: Synthetic division in the context of indefinite summation<br />

Abstract: A modification of an algorithm for indefinite rational summation is presented. It is based on direct<br />

divisibility test in the ring of linear difference opera<strong>to</strong>rs with polynomial coefficients. When the rational<br />

function is not summable it provides solution <strong>to</strong> the additive decomposition problem with minimal degree<br />

of the denomina<strong>to</strong>r of the rational part. The algorithm solves the problem in time which is polynomial in<br />

the size of the input and linear in the minimal possible size of the output. This removes all non-essential<br />

dependencies of the running time of the algorithm from the dispersion of the input. The result is extended<br />

<strong>to</strong> the case of quasi-rational indefinite summation. Pro<strong>to</strong>type implementation of the algorithm in Maple<br />

<strong>to</strong>gether with succinct representation of the intermediate results is discussed.<br />

99


ACM Communications in Computer Algebra, Issue 176, Vol. 45, No. 2, June 2011<br />

East Coast Computer Algebra Day 2011 Abstracts<br />

Communicated by John May<br />

Invited Talks<br />

Chris<strong>to</strong>pher Brown (US Naval Academy): Computing with semi-algebraic sets: from problem <strong>to</strong> solution<br />

Abstract: In symbolic computing, most of us are familiar with the basics of computing with polynomial<br />

systems over algebraically closed fields. We speak of systems of equations or, equivalently, the varieties they<br />

define; of elimination or projection. Most of the community is much less familiar with polynomial systems<br />

over the reals, where the fundamental questions and the kinds of solutions we get are very different. We<br />

speak of Tarski formulas and semi-algebraic sets, and problems from formal logic like quantifier elimination.<br />

This talk first looks at why the basic problem is different in the real case, and what solutions look like in<br />

the real case. It then looks at several algorithms, both recent and not so recent, that seem <strong>to</strong> be answering<br />

the same questions, and tries <strong>to</strong> understand them by their different perspectives of what the problem is<br />

and what constitutes a solution.<br />

Clément Pernet (Unversité Joseph Fourier): Eliminations and echelon forms in exact linear<br />

Abstract: Gaussian elimination and the computation of the numerous related matrix fac<strong>to</strong>rizations are a<br />

key component in the design of high performance mathematical computation software. This talk is about a<br />

collection of algorithmic and implementation techniques that we found of prime importance when dealing<br />

with these computations in computer algebra. After setting algorithmic relations between most common<br />

gaussian elimination based matrix fac<strong>to</strong>rizations and normal forms, we will propose a set of reductions of<br />

all these computations <strong>to</strong> a universal matrix fac<strong>to</strong>rization, justified by time and space complexity analysis.<br />

We will then approach some aspects of dedicated implementations over GF(2) and the parallelization of<br />

gaussian elimination, showing in particular advantages over numerical linear algebra.<br />

Vic<strong>to</strong>ria Powers (Emory University): Rational certificates of positivity<br />

Abstract: Let R[X] denote the real polynomial ring in n variables R[X 1 , . . . , X n ]. Given f in R[X] and<br />

suppose f > 0 or f ≥ 0 on a semialgebraic set K ⊆ R n , i.e., one defined by a finite number of polynomial<br />

inequalities. By a “certificate of positivity” for f on K, we mean an expression for f, usually involving<br />

sums of squares and the defining polynomials of K, from which one can observe the positivity condition<br />

immediately. In recent years, techniques from semidefinite programming have produced algorithms for<br />

finding certificates of positivity; these algorithms have many applications in optimization, control theory,<br />

and other areas. However, the output of these algorithms is, in general, numerical, while for many applications<br />

exact polynomial identities are needed. In this talk, we look at questions such as these: If f<br />

and K are defined over Q, does there exist a certificate of positivity for f on K for which the sums of<br />

squares are sums of squares of polynomials defined over Q? How can a numerical certificate of positivity<br />

be transformed in<strong>to</strong> an exact rational identity? We will discuss theoretical results as well as hybrid<br />

symbolic-numeric algorithms due <strong>to</strong> Peyrl-Parrilo, Kal<strong>to</strong>fen-Li-Yang-Zhi, and others.<br />

100


ECCAD 2011 Abstracts<br />

Software Demonstration<br />

Authors: Changbo Chen (University of Western Ontario), James H. Davenport (University of Bath),<br />

François Lemaire (Université de Lille 1), Marc Moreno Maza (University of Western Ontario), Bican<br />

Xia (Peking University), Rong Xiao (University of Western Ontario), Yuzhen Xie (University of Western<br />

Ontario)<br />

Title: Computing the real solutions of polynomial systems with the RegularChains library in Maple<br />

Abstract: Computing and manipulating the real solutions of polynomial systems is a requirement for many<br />

application areas such as biological modeling, robotics, program verification, <strong>to</strong> name a few.<br />

The RegularChains library in Maple provides a collection of <strong>to</strong>ols for dealing with systems of polynomial<br />

equations, inequations and inequalities. These <strong>to</strong>ols include isolating/counting the real solutions of zerodimensional<br />

systems, describing real solutions of positive dimensional systems, classifying the number of<br />

real roots of parametric systems, finding sample points (thus determining emptiness) of semi-algebraic<br />

sets, performing set theoretical operations on semi-algebraic sets as well as computing cylindrical algebraic<br />

decompositions.<br />

The software demonstration would be articulated around four problems taken respectively in the following<br />

application areas: branch cut computations, verification of real solvers, realization of matroids, equilibria<br />

of biological systems.<br />

Posters<br />

Authors: R.F. Burger (University of Waterloo), G. Labahn (University of Waterloo)<br />

Title: Closed form solutions of linear differential equations having elliptic function coefficients.<br />

Abstract: We consider the problem of finding closed form solutions of linear homogeneous ordinary differential<br />

equations having coefficients which are elliptic functions. A complete algorithm is presented, applicable<br />

<strong>to</strong> differential equations of any order, which finds all hyperexponential solutions of the form exp( ∫ x r(u)du),<br />

where r(x) ∈ C(℘(x), ℘ ′ (x)). For differential equations of order higher than two, the method has been<br />

found <strong>to</strong> be more practical than other known methods.<br />

Authors: Rob M. Corless (University of Western Ontario), Gema Díaz Toca (Universidad de Murcia), Mario<br />

Fioravanti (Universidad de Cantabria), Laureano Gonzalez-Vega (Universidad de Cantabria), Ignacio F.<br />

Rúa (Universidad de Oviedo), Azar Shakoori (Universidad de Cantabria)<br />

Title: Computing the <strong>to</strong>pology of an implicit or a parametric plane curve whose defining equations can<br />

only be evaluated.<br />

Abstract: The problem of computing the <strong>to</strong>pological graph of an implicitly defined algebraic plane curve<br />

has received special attention from the CAGD and Symbolic Computation communities, independently. In<br />

CAGD, having a robust, accurate and efficient algorithm <strong>to</strong> find the graph is a key <strong>to</strong>ol in solving many<br />

important problems. For the Symbolic Computation community, on the other hand, such a problem has<br />

been the motivation for many achievements in the study of subresultants, symbolic real root counting,<br />

infinitesimal computations, etc. In many practical problems, one is interested in computing the <strong>to</strong>pology<br />

of an algebraic curve whose parametric or implicit equations have rather high degrees, numerous terms<br />

and very large coefficients. Applying the currently available methods for computing the <strong>to</strong>pology of the<br />

curve, with such polynomial equations, requires a big amount of memory space and a significant amount<br />

of computing time. This is one of the main reasons why, in this work, we assume that neither the implicit<br />

equation nor the parametrization of the given curve is known. Instead, sufficient number of points in the<br />

curve and the corresponding values of the equations and derivatives are known, and the degree is also<br />

given or can be deduced. The method presented here allows the computation of the <strong>to</strong>pology of the curve<br />

101


May<br />

using only this data, and it is based on the “polynomial algebra by values” methodology which has been<br />

presented in our previous works.<br />

Author: Somit Gupta (University of Waterloo)<br />

Title: Division of Polynomial Matrices.<br />

Abstract: For any N ∈ K[x] n×n and a non singular D ∈ K[x] n×n , there are unique Q, R ∈ K[x] n×n , such<br />

that N = QD + R and RD −1 is strictly proper. We present an approach, that given N ∈ K[x] n×n and a<br />

non singular column reduced D ∈ K[x] n×n , we can reduce the problem of division of N by D <strong>to</strong> a single<br />

polynomial matrix inversion, multiplication and subtraction, over the ring K[x]/(x t ),where t is bounded by<br />

the degree of D + degree of N. Our approach can be considered as a generalization of the new<strong>to</strong>n iteration<br />

method for division of polynomials over K[x]. We also discuss some alternative approaches.<br />

Author: Tom Robinson (University of Waterloo)<br />

Title: Effective Support of Learning with a Computer Algebra System.<br />

Abstract: Computer Algebra Systems (CAS) have long been used in education. As with any educational<br />

software, the goals of using a CAS include improving how quickly and easily a student can learn, as well<br />

as increasing his or her depth of understanding.<br />

Instructional material that teaches a student <strong>to</strong> use a CAS while at the same time introducing the student <strong>to</strong><br />

new mathematical concepts can impose a high cognitive load and leave the student with little understanding<br />

of either the CAS or the mathematics.<br />

In this poster I will present a framework describing how students learn and how good instructional design<br />

can better support that learning through control of cognitive load. I will also present the results from a<br />

number of studies.<br />

Authors: Mark Giesbrecht and Daniel S. Roche (University of Waterloo)<br />

Title: Faster Sparse Interpolation over Finite Fields and Complex Numbers.<br />

Abstract: The problem of interpolating an unknown sparse polynomial from a black box for evaluations is<br />

considered, when the coefficients come from a large finite field or are approximations <strong>to</strong> complex numbers.<br />

We present a new randomization and prove that it makes all coefficients distinct, or in the approximate<br />

case, sufficiently far apart, with high probability. This allows us <strong>to</strong> improve on the recent algorithm of<br />

Garg and Schost (TCS 2009) by uniquely identifying terms in modular evaluations by the coefficients,<br />

thus avoiding the need for root finding over Z[x]. Over large, unchosen finite fields, our probabilistic<br />

algorithm improves the complexity by a fac<strong>to</strong>r of t, the number of terms in the unknown polynomial.<br />

Over approximate complex numbers, we prove that the algorithm is provably numerically stable, and the<br />

required precision is polynomially bounded by the number of terms and the logarithm of degree of the<br />

unknown polynomial. Other approximate sparse interpolation algorithms are not known <strong>to</strong> be numerically<br />

stable, although they require fewer black box evaluations than ours. We implemented these algorithms in<br />

C++ and demonstrate that their experimental performance confirms our theoretical results.<br />

Authors: Weidong Liao and Osman Guzide (Shepherd University)<br />

Title: High Performance GCD Computation with GPUs.<br />

Abstract: The Greatest Common Divisor (GCD) computation is one of the meta-services used by many<br />

mathematical computations. If a separate dedicated and efficient service can be provided, various research<br />

efforts which require GCD computation can have their focus elsewhere.<br />

In this poster we describe our result of comparative study of several approaches <strong>to</strong> utilizing GPU computing<br />

<strong>to</strong> accelerate GCD computation. Implementation of a variety of GCD algorithms (such as the Euclidean<br />

<strong>Algorithm</strong> and the Binary GCD <strong>Algorithm</strong>) has also been compared. Since CUDA is so far one of the<br />

most popular APIs for GPU computing, our experiments are mostly based on CUDA APIs, including the<br />

102


ECCAD 2011 Abstracts<br />

original CUDA API and one of its Java wrappers, JCUDA. The comparison is done on the aspects of<br />

simplicity and efficiency.<br />

Authors: David Augenblick, Mark Boady, Bruce Char, Jeremy Johnson, and LC Meng (all Drexel University)<br />

Title: Individualized Assignments and Assessment through Au<strong>to</strong>mated Grading.<br />

Abstract: We have used an on-line au<strong>to</strong>matic grading system, Maple TA, in a course on technical computing<br />

with over 900 freshman engineering students. Students spend ten hours per term in labs with face-<strong>to</strong>-face<br />

contact with instructional staff. On-line pre-lab quizzes guide student lab preparation. Post-lab on-line<br />

assignments provide further practice, solidifying skills. Symbolic computation generates a unique au<strong>to</strong>gradable<br />

version of the problem sets for each student. Allowing multiple attempts per quiz encourages<br />

students <strong>to</strong> continue work until they know they have solved the problem. Peer-led and staff tu<strong>to</strong>ring<br />

(face-<strong>to</strong>-face and on-line) provides “just in time” help for post-lab quizzes.<br />

On-line s<strong>to</strong>rage of all test results facilitates the collection of statistics on all regularly graded materials.<br />

These can be used <strong>to</strong> identify class-wide and individual strengths and weaknesses, as well as longitudinal<br />

information on learning patterns and retention.<br />

IT expertise is needed <strong>to</strong> keep services running with high availability and reliability. Software engineering<br />

discipline is needed <strong>to</strong> construct robust questions and grading procedures. Current limitations of au<strong>to</strong>grading<br />

technology present pedagogical challenges.<br />

What began as a necessity has become an essential learning <strong>to</strong>ol, providing students with a learning <strong>to</strong>ol<br />

that has 24/7 availability, gives immediate feedback, and is scalable.<br />

Authors: Oleg Golubitsky (Google, Inc.), Vadim Mazalov (University of Western Ontario), Stephen M.<br />

Watt (University of Western Ontario)<br />

Title: Integral Invariants in Recognition of Handwritten Symbols.<br />

Abstract: It was shown in previous work that truncated Legendre-Sobolev expansions of coordinate functions<br />

of stroke curves can be applied <strong>to</strong> recognition of handwritten mathematical symbols. Test results<br />

confirm that this technique is indeed effective and allows <strong>to</strong> achieve 97.5% recognition rate. In this work, we<br />

allow the symbols <strong>to</strong> be subject <strong>to</strong> a rotation which commonly occurs in practice. We ask <strong>to</strong> which extent<br />

these transformations affect the classification rates and present a new algorithm for classifying symbols in<br />

the presence of such transformations, based on the theory of integral invariants of parametric curves. The<br />

proposed algorithm is on-line, in the sense that most computation is done while the symbol is written, and<br />

therefore does not cause delays.<br />

Authors: Marc Moreno Maza and Paul Vrbik (University of Western Ontario)<br />

Title: Inverting Matrices Modulo Regular Chains<br />

Abstract: Given any set of polynomials (in several variables), F, it is natural <strong>to</strong> investigate the set of points<br />

for which the polynomials vanish simultaneously (the so-called variety of F). When F is composed of linear<br />

systems we do Gaussian elimination which, by producing an equivalent upper triangular system, allows<br />

one <strong>to</strong> solve for each unknown by back substitution. Gaussian elimination can be extended <strong>to</strong> non-linear<br />

systems (Buchberger’s algorithm) but the “triangular” objects obtained this way do not necessary allow<br />

for non-trivial back substitution.<br />

This is the motivation behind the theory (and technology) of “regular chains”. Here we can generate a<br />

regular chain that encodes each “component” of the solution set. These encodings <strong>ensure</strong> (among other<br />

things) the “well behaved” back substitution we require <strong>to</strong> obtain the zeros of the original system.<br />

In practice, regular chains that have an equal number of equations and unknowns (i.e. zero dimensional<br />

systems) are of great interest. In this study, we consider solving ”parametric” linear systems where the<br />

parameters are constrained by such regular chains.<br />

103


May<br />

Specifically, we adapt the Leverrier-Faddeev algorithm for matrix inversion (which requires only a single<br />

division) <strong>to</strong> avoid many costly regular chain inversions. Although this algorithm has worse computational<br />

complexity than the extended GCD approach, it can solve a wider range of problems than the current<br />

(naive) implementation.<br />

We present experimental and theoretical results, as well as some conjectures about positive dimensional<br />

cases.<br />

Authors: Scott MacLean, George Labahn, Edward Lank, Mirette Marzouk, and David Tausky (all University<br />

of Waterloo)<br />

Title: MathBrush: A pen-based interactive math system for Tablet PC and iPad.<br />

Abstract: Traditional methods of working with mathematics on computers, such as LaTeX, Maple, and<br />

Mathematica, can be error-prone and difficult <strong>to</strong> learn. We aim <strong>to</strong> provide via MathBrush a more intuitive<br />

environment for inputting and manipulating mathematical expressions. Using MathBrush, the user draws<br />

an expression as (s)he would using pen and paper. The system recognizes the mathematical semantics<br />

of the drawing and inserts the expression in<strong>to</strong> a worksheet, after which the user may manipulate it using<br />

computer algebra system commands invoked through a context-sensitive pen-based interface. We provide<br />

a general overview of the MathBrush system, including current status and future directions.<br />

Authors: Bryan Youse, B. David Saunders, and David Harlan Wood (all University of Delaware)<br />

Title: Numeric-Symbolic Exact Rational Linear System Solver.<br />

Abstract: An iterative refinement approach is taken <strong>to</strong> rational linear system solving. Such methods produce,<br />

for each entry of the solution vec<strong>to</strong>r, a rational approximation with denomina<strong>to</strong>r a power of 2. From<br />

this the correct rational entry can be reconstructed. Our iteration is a numeric-symbolic hybrid in that<br />

it uses an approximate numeric solver at each step <strong>to</strong>gether with a symbolic (exact arithmetic) residual<br />

computation and symbolic rational reconstruction. The rational solution may be checked symbolically (exactly).<br />

However, there is some possibility of failure of convergence, usually due <strong>to</strong> numeric ill-conditioning.<br />

We present our implementation details and show experimental data.<br />

Authors: G.A. Kalugin, R.M. Corless, and D.J. Jeffrey (all University of Western Ontario)<br />

Title: Padé approximants and a Stieltjes integral for the Lambert W function<br />

Abstract: The Lambert W function is defined <strong>to</strong> be the multivalued inverse of the function W ↦→ W e W , i.e.<br />

it satisfies the equation z = W (z)e W (z) . The function has many applications in various areas of science,<br />

engineering and education, particularly, in computer algebra systems. In this work it is established that<br />

W (z)/z is a Stieltjes function. This fact has many interesting consequences. One of them is applicability of<br />

a well-developed theory of Padé approximants <strong>to</strong> Stieltjes series, which proves the existence and convergence<br />

of Padé approximants for function W (z)/z. This is used <strong>to</strong> compute values of W in symbolic computations.<br />

In the work there are presented examples using Maple.<br />

Authors: Fatima K. Abu Salem (American University of Beirut)<br />

Title: Parallel and Cache-efficient Hensel Lifting.<br />

Abstract: We present work in progress <strong>to</strong>wards a high performance (HP) design for Hensel lifting in the case<br />

of bivariate polynomials over a finite field F q . We discuss techniques that improve on data locality, which<br />

in turn is becoming increasingly important in <strong>to</strong>day’s algorithm design. We also discuss how <strong>to</strong> re-organise<br />

the iterative computations involved in the process in<strong>to</strong> a sequence of rounds each of which can be executed<br />

in parallel. Let f ∈ F q [x, y], and write n = deg(f). We wish <strong>to</strong> obtain a polynomial fac<strong>to</strong>risation of f in<strong>to</strong><br />

two fac<strong>to</strong>rs g and h. Write f = ∑ n<br />

k=0 f ky k where f k ∈ F q [x] and deg(f k ) = n − k. Suppose we were given<br />

a (boundary) fac<strong>to</strong>risation of the form f 0 = g 0 h 0 , where g 0 and h 0 belong <strong>to</strong> F q [x]. We wish <strong>to</strong> ‘lift’ this<br />

boundary fac<strong>to</strong>risation in<strong>to</strong> a full polynomial fac<strong>to</strong>risation of f in F q [x, y]. Under certain conditions, the<br />

104


ECCAD 2011 Abstracts<br />

following lifting equation helps produce all monic fac<strong>to</strong>rs of f with <strong>to</strong>tal degree between 1 and ⌊n/2⌋:<br />

(<br />

) (<br />

)<br />

∑k−1<br />

∑k−1<br />

g k ≡ v f k − g i h k−i mod g 0 , h k ≡ u f k − g i h k−i mod h 0<br />

i=1<br />

At the level of concurrency, we show that the sequential order of computations which stipulates that in<br />

the kth iteration a polynomial g k (or h k ) can only be computed after g k−1 and h k−1 have been obtained,<br />

can be overcome by a sequence of parallel rounds such that in round k ′ all of the following polynomial<br />

products can be obtained: {g i h j } such that (i, j) ∈ {1, . . . , k ′ } 2 ∧ (i = k ′ ∨ j = k ′ ). As a consequence<br />

of this parallelisation one can start producing g k (or h k ) whenever g ⌈k/2⌉ and h ⌈k/2⌉ have been obtained,<br />

and it can be shown that the number of rounds grows asymp<strong>to</strong>tically alike <strong>to</strong> the <strong>to</strong>tal number of lifting<br />

steps required <strong>to</strong> terminate. To address data locality, we associate the order of polynomial computations<br />

g i h j occuring in a given parallel round k ′ with the address pair (i, j). We propose a traversal of the twodimensional<br />

grid in the following order: In a given parallel round k ′ we first produce g k ′h k ′ and then, after<br />

any g i h k ′ we enlist g i−1 h k ′ if i > 1; otherwise, we enlist g k ′h j−1 . Such a traversal improves on temporal<br />

locality as well as data locality, specifically so as this traversal incurs exactly one jump in the address space<br />

that is of stride asymp<strong>to</strong>tically greater than one. Last, we incorporate the heap data structure <strong>to</strong> merge<br />

(<br />

terms arising in polynomial products <strong>to</strong> compute g k = v<br />

f k − ∑ k−1<br />

i=1<br />

i=1<br />

∑ #gi<br />

s=1 g i,sh k−i<br />

)<br />

where #g i denotes the<br />

number of nonzero terms of g i and g i,s denotes the sth nonzero term of g i (similarly for h k ). As observed<br />

in the successful results of (Monagan and Pearce 2007-08-09-10), heap based computations defined as such<br />

reduce the auxiliary space wasted on intermediary results and in this context would have sizes that fit in<br />

cache, given reasonably sparse polynomials.<br />

Authors: Thomas Wolf (Brock University), Eberhard Schruefer (Frauenhofer Institute)<br />

Title: A solver for large sparse linear algebraic systems.<br />

Abstract: The study of integrability of non-abelian Laurent ODEs includes the computation of symmetries,<br />

first integrals and Lax-pairs. Using the method of undetermined coefficients the computational tasks include<br />

the solution of polynomial algebraic systems that are either non-linear and involve a few hundred variables<br />

or that are linear but very large. A specialized solver for large sparse and overdetermined linear systems<br />

has been developed that was able <strong>to</strong> determine the general solution of systems with over a billion equations<br />

for 170 million variables.<br />

Authors: Marc Moreno Maza (University of Western Ontario), Wei Pan (Intel Corporation)<br />

Title: Solving Bivariate Polynomial Systems on a GPU.<br />

Abstract: We present a CUDA implementation of dense multivariate polynomial arithmetic based on<br />

Fast Fourier Transforms (FFT) over finite fields. Our core routine computes on the device (GPU) the<br />

subresultant chain of two multivariate polynomials with respect <strong>to</strong> a given variable. This subresultant chain<br />

is encoded by values on a FFT grid and is manipulated from the host (CPU) in higher-level procedures,<br />

for instance for polynomial GCDs modulo regular chains.<br />

We have realized a bivariate polynomial system solver supported by our GPU code. Our experimental<br />

results (including detailed profiling information and benchmarks against a serial polynomial system solver<br />

implementing the same algorithm) demonstrate that our strategy is well suited for GPU implementation<br />

and provides large speedup fac<strong>to</strong>rs with respect <strong>to</strong> pure CPU code.<br />

Authors: George Labahn (University of Waterloo), Jason Peasgood (University of Waterloo), Bruno Salvy<br />

(INRIA Paris-Rocquencourt)<br />

Title: Some Integrals Involving Holonomic Functions.<br />

Abstract: We describe an algorithm that takes as input two holonomic functions, f and g given by differential<br />

equations with polynomial coefficients along with some extra information, and outputs a differential<br />

105


May<br />

equation that is satisfied by ∫ ∞<br />

0<br />

f(t)g(xt)dt. The resulting differential equation also has polynomial coefficients<br />

as well as possibly a non homogeous term that is computable.<br />

Authors: Somit Gupta, Soumojit Sarkar, Arne S<strong>to</strong>rjohann, and Johnny Valeriote (all University of Waterloo)<br />

Title: Triangular x-basis decompositions and derandomization of linear algebra algorithms over K[x]<br />

Abstract: Deterministic algorithms are proposed for some computational problems that take as input a<br />

nonsingular polynomial matrix A over K[x], K an abstract field, including solving a linear system involving<br />

A and computing a row reduced form of A. The fastest known algorithms for linear system solving based<br />

on high-order lifting, and for row reduction based on fast minimal approximant basis computation , use<br />

randomization <strong>to</strong> find either a linear or small degree polynomial that is relatively prime <strong>to</strong> det A. We<br />

derandomize these algorithms by first computing a fac<strong>to</strong>rization of A = UH, with x not dividing det U<br />

and x − 1 not dividing det H. A partial linearization technique, that is widely applicable also <strong>to</strong> other<br />

problems, is developed <strong>to</strong> transform a system involving H, which may have some columns of large degrees,<br />

<strong>to</strong> an equivalent system that has degrees reduced <strong>to</strong> that of the average column degree.<br />

Authors: Curtis Bright and Arne S<strong>to</strong>rjohann (University of Waterloo)<br />

Title: Vec<strong>to</strong>r Rational Number Reconstruction<br />

Abstract: The final step of some algebraic algorithms is <strong>to</strong> reconstruct the common denomina<strong>to</strong>r d of a<br />

collection of rational numbers (n i /d) 1≤i≤n from their images (a i ) 1≤i≤n mod M, subject <strong>to</strong> a condition such<br />

as 0 < d ≤ N and |n i | ≤ N for a given magnitude bound N. Applying elementwise rational number<br />

reconstruction requires that M ∈ Ω(N 2 ). Using the gradual sublattice reduction algorithm of van Hoeij<br />

and Novocin, we show how <strong>to</strong> perform the reconstruction efficiently even when the modulus satisfies a<br />

considerably smaller magnitude bound M ∈ Ω(N 1+1/c ) for c a small constant, for example 2 ≤ c ≤ 5.<br />

Assuming c ∈ O(1) the cost of the approach is O(n(log M) 3 ) bit operations using the original LLL lattice<br />

reduction algorithm, but is reduced <strong>to</strong> O(n(log M) 2 ) bit operations by incorporating the L 2 variant of<br />

Nguyen and Stehlé. As an application, we give a robust method for reconstructing the rational solution<br />

vec<strong>to</strong>r of a linear system from its image, such as obtained by a solver using p-adic lifting.<br />

106


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Poster Abstracts<br />

Communicated by Manuel Kauers<br />

Parallel and Cache-efficient Hensel Lifting<br />

Fatima K. Abu Salem<br />

Computer Science Department, American University of Beirut<br />

P. O. Box 11-0236, Riad El Solh, Beirut 1107 2020, Lebanon<br />

fatima.abusalem@aub.edu.lb<br />

We present work in progress <strong>to</strong>wards a high performance (HP) design for Hensel lifting bivariate polynomial<br />

fac<strong>to</strong>risation over a finite field F q . We discuss techniques that improve on data locality, which in<br />

turn is becoming increasingly important in <strong>to</strong>day’s algorithm design. We also discuss how <strong>to</strong> reorganise<br />

the iterative computations involved in the process in<strong>to</strong> a sequence of rounds each of which can be executed<br />

in parallel. We propose the use of heaps, as inspired by successful results <strong>to</strong> perform polynomial multiplication<br />

and division using the distributed polynomial representation (see Monagan and Pearce’s work<br />

as in [1, 3, 3, 4], <strong>to</strong> name a few). Additionally, we associate the order of polynomial computations with<br />

two-dimensional indices, and suggest a traversal of the two-dimensional grid in a manner that allows an<br />

evaluation order of the dependency graph which improves upon locality.<br />

Let f ∈ F q [x, y] where q is a prime power, and n = deg(f). We wish <strong>to</strong> obtain a polynomial fac<strong>to</strong>risation<br />

of f in<strong>to</strong> two fac<strong>to</strong>rs g and h such that f = gh. Write f = ∑ n<br />

k=0 f ky k where f k ∈ F q [x] and deg(f k ) = n−k.<br />

Suppose we were given a (boundary) fac<strong>to</strong>risation of the form f 0 = g 0 h 0 , where f 0 is squarefree, and g 0<br />

and h 0 belong <strong>to</strong> F q [x]. We wish <strong>to</strong> lift this boundary fac<strong>to</strong>risation in<strong>to</strong> a full polynomial fac<strong>to</strong>risation of<br />

f in F q [x, y]. Let d = gcd(g 0 , h 0 ) with u and v chosen such that ug 0 + vh 0 = d. When d = 1 and under<br />

certain restrictions governing the degrees of each g k and h k , there will be at most one way of defining g k<br />

and h k as follows: (<br />

) (<br />

)<br />

∑k−1<br />

∑k−1<br />

g k ≡ v f k − g i h k−i mod g 0 , h k ≡ u f k − g i h k−i mod h 0 (1)<br />

i=1<br />

If the degree restrictions are observed one continues lifting; else, one halts lifting from the given pair<br />

(g 0 , h 0 ). It can be shown that there exists a certain boundary fac<strong>to</strong>risation by which one can produce all<br />

monic fac<strong>to</strong>rs of f with <strong>to</strong>tal degree between 1 and ⌊n/2⌋.<br />

Computation in the order stipulated by Eq. 1 not only restricts parallelism <strong>to</strong> a very limited scale, it<br />

also can be shown <strong>to</strong> produce bad memory performance. We show that the sequential order of computations<br />

which stipulates that in the kth iteration a polynomial g k (or h k ) can only be computed after g k−1 and<br />

h k−1 have been obtained, can be overcome by a sequence of parallel rounds such that in round k ′ all of the<br />

following polynomial products can be obtained: {g i h j } such that (i, j) ∈ {1, . . . , k ′ } 2 ∧ (i = k ′ ∨ j = k ′ ).<br />

Consequently, one can start producing g k (or h k ) whenever g ⌈k/2⌉ and h ⌈k/2⌉ have been obtained, and it<br />

can be shown that the number of parallel rounds grows asymp<strong>to</strong>tically alike <strong>to</strong> the <strong>to</strong>tal number of lifting<br />

steps required <strong>to</strong> terminate. An extra component of concurrency can be further obtained, as partial terms<br />

appearing in g k can kick-start computations contributing <strong>to</strong> {g ′ k } k ′ >k – similarly for h k . Such concurrency<br />

reduces the number of synchronisation barriers needed as it allows processors <strong>to</strong> hop vertically across the<br />

i=1<br />

107


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

parallel rounds. We sketch a brief example here. Let f be given such that g 0 = x 8 + x 3 and h 0 = x 8 + 1.<br />

After producing u and v, we get g 1 h 1 = p 1 1 + p1 2 where p1 1 = 2x14 + 3x 13 + 4x 12 + 4x 11 denotes the first<br />

four terms of g 1 h 1 and p 1 2 = 3x8 + 2x 7 + x 6 + x 5 denotes the remaining four terms of g 1 h 1 . Each of<br />

p 1 1 and p1 2 can be used <strong>to</strong> compute partial terms of g 2 such that g 2 = v(f 2 − p 1 1 ) mod g 0 − v(p 1 2 ) mod g 0.<br />

This generates two batches of partial terms independently, denoted by p 2 1 = x5 + 4x 4 + x 3 + x and<br />

p 2 2 = 3x6 +4x 5 +2x 4 +4x 3 for the first and second batches respectively, such that p 2 1 can start computations<br />

on g 3 independently from p 2 2 . As such, we can start producing the first of the two parenthesised expressions<br />

in g 3 = v(f 3 − g 1 h 2 − p 2 1 h 1) mod g 0 − v(p 2 2 h 1) mod g 0 whilst g 2 is still being computed.<br />

To address data locality, we associate the order of polynomial computations g i h j occuring in a given<br />

parallel round k ′ with the address pair (i, j). We propose a traversal of the two-dimensional grid in the<br />

following order: In a given parallel round k ′ we first produce g k ′h k ′ and then, after any g i h k ′ we enlist<br />

g i−1 h k ′ if i > 1; otherwise, we enlist g k ′h j−1 . For example, suppose that the g (and h) polynomials are<br />

s<strong>to</strong>red consecutively in the order by which they are being produced, and trace for instance, the execution<br />

following the production of g 4 and h 4 . The parallel round ensuing proceeds as follows, where the right<br />

arrow traces the order of execution: g 4 h 4 → g 3 h 4 → g 2 h 4 → g 1 h 4 → g 4 h 1 → g 4 h 2 → g 4 h 3 . We show that<br />

this traversal improves on data locality, specifically that it incurs exactly one jump in the address space<br />

that is of stride asymp<strong>to</strong>tically greater than one (in this case, the jump from g 1 h 4 <strong>to</strong> g 4 h 1 ). This traversal<br />

can also be au<strong>to</strong>mated leading <strong>to</strong> a cache-oblivious performance.<br />

Consider the distributed polynomial representation, where a polynomial is represented as a sum of<br />

terms sorted in a monomial ordering. Using this representation, we incorporate the binary heap data<br />

structure <strong>to</strong> merge terms arising in the polynomial products. Let #g i denote the ( number of nonzero terms<br />

of g i and g i,s denote the sth nonzero term of g i (similarly for h k ). Let g<br />

k ′ = f k − ∑ k−1 ∑ )<br />

#gi<br />

i=1 s=1 g i,sh k−i<br />

and write g k = vg<br />

k ′ mod g 0. A heap can be used <strong>to</strong> compute terms of g<br />

k ′ in decreasing order of degrees as<br />

follows. Terms of f k are first inserted in<strong>to</strong> the heap. The next unmerged term for each partial product<br />

{{g i,s h k−i } #g i<br />

s=1 }k−1 i=1<br />

is also inserted in<strong>to</strong> the heap. Maximal terms (i.e. according <strong>to</strong> their degree) are<br />

extracted and then merged (added) <strong>to</strong>gether. We label this heap as horizontal, because it produces results<br />

that contribute <strong>to</strong> g k (or h k ). In a similar fashion, we incorporate another heap <strong>to</strong> support concurrent action<br />

that gets triggered by partial terms of g k (or h k ). We label this heap as vertical, because its merges are<br />

able <strong>to</strong> produce simultaneous computations on {g<br />

k ′ }, for all k′ > k. Both heaps and associated operations<br />

can be parallelised in a manner inspired from [3, 4]. The heaps used here grow as a linear function of the<br />

minimum number of non-zero terms taken over any two operands of a polynomial product. As a result,<br />

the heaps can fit in cache for reasonably sparse polynomnials, leading <strong>to</strong> very efficient heap operations.<br />

The proposed improvements need <strong>to</strong> be implemented and assessed with regards <strong>to</strong> parallel scalability<br />

as well as reductions in cache misses. The resulting software needs <strong>to</strong> be benchmarked against traditional<br />

computer algebra systems. Theoretical analysis of cache complexity and operational complexity also need<br />

<strong>to</strong> be done. Techniques <strong>to</strong> tailor the work for dense polynomials (e.g. heap chaining as in [2]) can also be<br />

investigated.<br />

References<br />

[1] Michael Monagan and Roman Pearce. Polynomial division using dynamic arrays, heaps, and packed<br />

exponent vec<strong>to</strong>rs. Proceedings of CASC 2007, Springer, pp. 295–315.<br />

[2] Michael Monagan and Roman Pearce. Sparse polynomial division using a heap. To appear in Miles<strong>to</strong>nes<br />

in Computer Algebra, a special issue of the J. Symb. Comp., 2009.<br />

[3] Michael Monagan and Roman Pearce. Parallel Sparse Polynomial Multiplication Using Heaps. Proceedings<br />

of ISSAC ’09, ACM Press, pp. 263–269, 2009.<br />

[4] M. Monagan and Roman Pearce. Parallel Sparse Polynomial Division using Heaps. Proceedings of<br />

PASCO 2010, ACM Press, pp. 105–111, 2010.<br />

108


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

A Symbolic Computation System for the Calculus of Moving Surfaces<br />

Mark Boady, Pavel Grinfeld, and Jeremy Johnson<br />

Department of Computer Science<br />

Department of Mathematics<br />

Drexel University<br />

Philadelphia, PA, USA, 19104<br />

mwb33@drexel.edu,pg77@drexel.edu,jjohnson@cs.drexel.edu<br />

The calculus of moving surfaces (CMS) provides analytic <strong>to</strong>ols for finding solutions <strong>to</strong> a wide range of<br />

problems with moving surfaces including fluid film dynamics, boundary variation problems, and shape optimization<br />

problems. The CMS is an extension of tensor calculus on stationary surfaces <strong>to</strong> moving surfaces.<br />

As with any analytic framework, the complexity of calculations grows rapidly with the order of approximation.<br />

This quickly causes problems <strong>to</strong> become complex enough that hand calculations become error<br />

prone or intractable. A symbolic computation system will alleviate these problems, allowing researchers<br />

<strong>to</strong> examine problems that have not been previously solvable. No symbolic calculus system is currently<br />

available that supports the CMS. We have developed a pro<strong>to</strong>type symbolic computation system that can<br />

solve boundary variation problems with the help of the CMS. Our system has been used <strong>to</strong> solve a series<br />

of model problems of interest <strong>to</strong> applied mathematicians.<br />

The motivation is a boundary problem proposed by Grinfeld and Strang [3] in 2004. What is the<br />

series in 1/N for the simple Laplace eigenvalues λ N on a regular polygon with N sides? In [3], the idea of<br />

expressing λ N,n as a series in 1/N was put forth and in [4] the first several terms were computed using the<br />

calculus of moving surfaces. The pro<strong>to</strong>type implementation was successfully used <strong>to</strong> find an error in the<br />

fourth term in the series expansion in [4] which was previously computed by hand. The CMS approach<br />

<strong>to</strong> this problem is essentially the same as for Poisson’s equation on polygons, which is used as the model<br />

problem in [1]. This problem involves Poisson’s equation ∇ i ∇ i u = 1 and is therefore simpler than the<br />

eigenvalue equation ∇ i ∇ i u = −λu that is at the heart of the model problem. ∇ i is the covariant derivative<br />

opera<strong>to</strong>r and ∇ i is the contravariant derivative. The fundamental simplification is unrelated <strong>to</strong> the CMS: it<br />

comes from the fact that all solution variations u n (where n is the order of the variation) satisfy Laplace’s<br />

equation in the interior. This makes it easy <strong>to</strong> solve for u n and use the result in the next order of variation.<br />

The expression for E 1 and the equation for u 1 are obtained analytically. The first variation u 1 of u<br />

induced by an arbitrary but sufficiently smooth surface velocity, C, and normal, N is determined by the<br />

system<br />

∇ i ∇ i u 1 = 0, u 1 | S<br />

= −CN i ∇ i u,<br />

and the first energy variation is obtained as a surface intergral<br />

E 1 = − 1 ∫<br />

C∇ i u∇ i u dS.<br />

2<br />

S<br />

Higher order variations follow by direct application of the rules of CMS. The δ δt-derivative opera<strong>to</strong>r is<br />

introduced <strong>to</strong> find higher orders. The second order variation u 2 is governed by the boundary value system<br />

∇ i ∇ i u 2 = 0, u 2 =| S<br />

− CN i ∇ i u 1 − δCN i∇ i u<br />

δt<br />

(1)<br />

109


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

The equation (1) can be simplified <strong>to</strong> (2) by applying the rules of the CMS.<br />

u 2 =| S<br />

− 2CN i ∇ i u 1 − δC<br />

δt N i ∇ i u + CZ i α∇ α C∇ i u − C 2 N i N j ∇ i ∇ j u (2)<br />

The second order energy variation E 2 is given by<br />

E 2 = − 1 ∫ (<br />

− δC<br />

)<br />

2 δτ ∇ iu∇ i u − 2C∇ i u 1 ∇ i u − 2C 2 N i ∇ i ∇ j u∇ j u + C 2 Bα∇ α i u∇ i u dS<br />

S<br />

New terms such as the shift tensor, Zα, i and mean curvature, Balpha α , are introduced in simplification. A<br />

full description of the terms and opera<strong>to</strong>rs can be found in [2].<br />

The third energy variation E 3 is given by<br />

E 3 = 1 2<br />

(<br />

− C 3 B α αB β β ∇ iu∇ i u + 3C δC<br />

δt Bβ β ∇ iu∇ i u + 2C 2 B α α∇ i u 1 ∇ i u − δ2 C<br />

δ 2 t ∇ iu∇ i u<br />

+ 2C 3 B α αN l ∇ i u∇ l ∇ i u − 2 δC<br />

δt ∇ iu 1 ∇ i u − 2C∇ i u 2 ∇ i u − C 2 N j ∇ i u∇ j ∇ i u 1<br />

− 2C∇ i u 1 ∇ i u 1 − C 2 N j ∇ i u 1 ∇ j ∇ i u − C 2 N j ∇ i u∇ j ∇ i u 1 − 2 δC<br />

δt ∇ iu 1 ∇ i u<br />

− C 2 N j ∇ i u 1 ∇ j ∇ i u + C 2 ∇ α ∇ α C∇ i u∇ i u + C 3 B α β Bβ α∇ i u∇ i u<br />

+ 2C 2 B α α∇ i u 1 ∇ i u + 2C 3 B α αN k ∇ i u∇ k ∇ i u − 3C δC<br />

δt N i ∇ j u∇ i ∇ j u<br />

+ C 2 ∇ α CZ j α∇ i u∇ i ∇ j u − C 2 N j ∇ j ∇ i u∇ i u 1 − C 3 N i N j ∇ i ∇ k u∇ j ∇ k u<br />

− C 2 N k ∇ i ∇ j u 1 ∇ i u − 2C 3 N j N k ∇ k ∇ i ∇ j u∇ i u − 2C δC<br />

δt N j ∇ i u∇ j ∇ i u<br />

+ C 2 ∇ i u∇ j ∇ i uZ j α∇ α C − C 2 N j ∇ i u 1 ∇ j ∇ i u − C 3 N j N k ∇ j ∇ i u∇ k ∇ i u<br />

− δC<br />

)<br />

δt CN m ∇ m ∇ i u∇ i u − C 2 N j ∇ j ∇ i u 1 ∇ i u . (3)<br />

Equation (3), like no other, makes the case for the symbolic calculus of moving surfaces. While each<br />

element can be evaluated in straightforward fashion, the sheer number of these elements is overwhelming.<br />

Our pro<strong>to</strong>type system has been able <strong>to</strong> calculate solutions up <strong>to</strong> the fifth order variation au<strong>to</strong>matically.<br />

These problems have already shown that the system can evaluate high order boundary variations for<br />

complex surface motions.<br />

References<br />

[1] M. Boady, P. Grinfeld, and J.Johnson. Boundary variation of Poisson’s equation: a model problem<br />

for symbolic calculus of moving surfaces. Submitted <strong>to</strong> Numer. Funct. Anal. Opt., 2010<br />

[2] A. Fiore and P. Grinfeld. The Calculus of Moving Surfaces And Laplace Eigenvalues on an Ellipse<br />

with Low Eccentricity. Numer. Func. Anal. Opt., 31(6), 679-690, 2010<br />

[3] P. Grinfeld and G. Strang. Laplace eigenvalues on polygons Computers and Mathematics with Applications,<br />

48:1121–1133, 2004.<br />

[4] P. Grinfeld and G. Strang. Laplace eigenvalues on regular polygons: a series in 1/N. Submitted <strong>to</strong><br />

Transactions AMS, 2010.<br />

110


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Fast computation of common left multiples<br />

of linear ordinary differential opera<strong>to</strong>rs<br />

Alin Bostan 1 , Frédéric Chyzak 1 , Ziming Li 2 , and Bruno Salvy 1<br />

1 <strong>Algorithm</strong>s project, INRIA Paris-Rocquencourt, France.<br />

2 Key Lab of Mathematics Mechanization, AMSS, Beijing, China.<br />

The design of efficient algorithms for basic operations on algebraic objects like integers, polynomials and<br />

matrices is a classical <strong>to</strong>pic in computer algebra, as testified by Knuth’s book [7]. This <strong>to</strong>pic recently gained<br />

a renewed interest [4], thanks <strong>to</strong> the spread of personal computers able <strong>to</strong> tackle computational problems of<br />

very big sizes. On the one hand, asymp<strong>to</strong>tic complexity analyses allow reliable predictions about timings<br />

of calculations, on the other hand, fast algorithms based on Fast Fourier Transform techniques become<br />

profitable in practice. The complexity of operations in the polynomial ring K[x] over a field K has been<br />

intensively studied in the computer-algebra literature. It is well established that polynomial multiplication<br />

is a commutative complexity yardstick, in the sense that the complexity of operations in K[x] can be<br />

expressed in terms of that of multiplication, and for most of them, in a quasi-linear way.<br />

Linear differential opera<strong>to</strong>rs in the derivation ∂ = and with coefficients in K(x) form a noncommutative<br />

ring, denoted K(x)〈∂〉, that shares many algebraic properties with the commutative ring K[x].<br />

The structural analogy between polynomials and linear differential equations was discovered long ago by<br />

Libri and Brassinne [3]. They introduced the bases of a non-commutative elimination theory, by defining<br />

the notions of greatest common right divisor (GCRD) and least common left multiple (LCLM) for differential<br />

opera<strong>to</strong>rs, and designing an Euclidean-type algorithm for computing GCRDs and LCLMs. This<br />

was formalized by Ore [9, 10], who set up a common algebraic framework for polynomials and differential<br />

opera<strong>to</strong>rs. Yet the algorithmic study of linear differential opera<strong>to</strong>rs is currently much less advanced than in<br />

the polynomial case. The complexity of the product in K(x)〈∂〉 has been addressed only recently in [6, 1].<br />

The aim of this work is <strong>to</strong> take a first step <strong>to</strong>wards a systematic study of the complexity of operations<br />

in K(x)〈∂〉. We promote the idea that (polynomial) matrix multiplication may well become the common<br />

yardstick for measuring complexities in this non-commutative setting. The goal of the present work is <strong>to</strong><br />

obtain fast algorithms and implementations for LCLMs. We focus on LCLMs since several higher level<br />

algorithms rely crucially on the efficiency of this basic computational primitive. Our approach is based<br />

on using complexity analysis as a <strong>to</strong>ol for algorithmic design, and on producing tight size bounds on the<br />

various objects involved in the algorithms.<br />

It is known that Ore’s non-commutative Euclidean algorithm is computationally expensive; various<br />

other algorithms for computing common left multiples of two opera<strong>to</strong>rs were proposed [11, 13, 12, 8]. As<br />

opposed <strong>to</strong> Ore’s approach, all these alternative algorithms reduce the problem of computing LCLMs <strong>to</strong><br />

linear algebra. However, very few complexity analyses and performance comparisons are available.<br />

As a first contribution in this poster, we present a new algorithm for computing LCLMs of several<br />

opera<strong>to</strong>rs. It reduces the LCLM computation <strong>to</strong> a linear algebra problem on a polynomial matrix. The<br />

new algorithm can be viewed as an adaptation of Poole’s algorithm [11, Chap. 3, §9] <strong>to</strong> several opera<strong>to</strong>rs. At<br />

the same time, we use modern linear-algebra algorithms [14, 15] <strong>to</strong> achieve a lower arithmetic complexity.<br />

Our algorithm is similar in spirit <strong>to</strong> Grigoriev’s algorithm [5, §5] for computing GCRDs of several opera<strong>to</strong>rs.<br />

In what follows, ω denotes the exponent of matrix multiplication over K, and the soft-O notation Õ( )<br />

indicates that polylogarithmic fac<strong>to</strong>rs are neglected.<br />

∂<br />

∂x<br />

111


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

Theorem 1. Let L 1 , . . . , L k be opera<strong>to</strong>rs in K[x]〈∂〉, of orders at most r, with polynomial coefficients of<br />

degree at most d. Let L denote the LCLM of L 1 , . . . , L k computed in K(x)〈∂〉 and normalized in K[x]〈∂〉<br />

with no content. Then L has order at most kr, degrees in x at most k 2 rd, and it can be computed using<br />

Õ(k 2ω r ω d) arithmetic operations in K.<br />

The bound k 2 rd on the coefficient degrees of the LCLM is tight and improves by one order of magnitude<br />

the previously known bound k 2 r 2 d. Moreover, for fixed k, the complexity of the new algorithm is almost<br />

optimal, in the sense that it nearly matches the arithmetic size of the output.<br />

As a second contribution, we prove an upper bound B ≈ 2k(d+r) on the <strong>to</strong>tal degree in (x, ∂) in which<br />

(non-minimal) common left multiples exist. This is a new instance of the philosophy, promoted in [2], of<br />

relaxing order minimality for linear differential opera<strong>to</strong>rs, in order <strong>to</strong> achieve better <strong>to</strong>tal arithmetic size.<br />

While the <strong>to</strong>tal arithmetic size of the LCLM is at most k 3 r 2 d, there exist common left multiples of <strong>to</strong>tal<br />

size 4k 2 (d + r) 2 only.<br />

As a third contribution, we analyze the worst-case arithmetic complexity of existing algorithms for<br />

computing LCLMs, as well as the size of their outputs. For instance, we show that the extension of<br />

the algorithm in [13, 12] <strong>to</strong> several opera<strong>to</strong>rs (which is implemented in Maple’s package DE<strong>to</strong>ols) has<br />

complexity Õ(kω+1 r ω+1 d). These estimates are in accordance with our experiments showing that the new<br />

algorithm performs faster for large r, while the other algorithm is well suited for large k.<br />

A fourth contribution is fast Maple and Magma implementations. Preliminary experimental results<br />

indicate that our implementations can outperform Maple’s and Magma’s library routines.<br />

References<br />

[1] A. Bostan, F. Chyzak, and N. Le Roux. Products of ordinary differential opera<strong>to</strong>rs by evaluation and interpolation.<br />

In Proc. ISSAC’08, pages 23–30. ACM, 2008.<br />

[2] A. Bostan, F. Chyzak, G. Lecerf, B. Salvy, and É. Schost. Differential equations for algebraic functions. In<br />

Proc. ISSAC’07, pages 25–32. ACM, 2007.<br />

[3] S. S. Demidov. On the his<strong>to</strong>ry of the theory of linear differential equations. Arch. Hist. Exact Sci., 28(4):369–387,<br />

1983.<br />

[4] J. von zur Gathen and J. Gerhard. Modern Computer Algebra. Cambridge University Press, 2nd edition, 2003.<br />

[5] D. Y. Grigoriev. Complexity of fac<strong>to</strong>ring and calculating the GCD of linear ordinary differential opera<strong>to</strong>rs.<br />

J. Symb. Comp., 10(1):7–37, 1990.<br />

[6] J. Van der Hoeven.FFT-like multiplication of linear differential opera<strong>to</strong>rs.J. Symb. Comp., 33(1):123–127, 2002.<br />

[7] D. E. Knuth. The art of computer programming. Vol. 2: Seminumerical algorithms. Addison-Wesley, 1969.<br />

[8] Z. Li. A subresultant theory for Ore polynomials with applications. In ISSAC’98, pages 132–139. ACM, 1998.<br />

[9] O. Ore. Formale Theorie der linearen Differentialgleichungen. J. Reine Angew. Math., 167:221–234, 1932.<br />

[10] O. Ore. Theory of non-commutative polynomials. Ann. of Math., 34(3):480–508, 1933.<br />

[11] E. G. C. Poole. Introduction <strong>to</strong> the theory of linear differential equations. Dover Publications Inc., NY, 1960.<br />

[12] B. Salvy and P. Zimmermann. Gfun: a Maple package for the manipulation of generating and holonomic<br />

functions in one variable. ACM Trans. Math. Software, 20(2):163–177, 1994.<br />

[13] R. P. Stanley. Differentiably finite power series. European J. Combin., 1(2):175–188, 1980.<br />

[14] A. S<strong>to</strong>rjohann. High-order lifting and integrality certification. J. Symb. Comp., 36(3-4):613–648, 2003.<br />

[15] A. S<strong>to</strong>rjohann and G. Villard. Computing the rank and a small nullspace basis of a polynomial matrix. In<br />

ISSAC’05, pages 309–316. ACM, New York, 2005.<br />

112


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Root lifting techniques and applications <strong>to</strong> list decoding<br />

Muhammad F. I. Chowdhury<br />

The University of Western Ontario<br />

London, Canada<br />

mchowdh3@csd.uwo.ca<br />

Romain Lebre<strong>to</strong>n<br />

École polytechnique<br />

France<br />

lebre<strong>to</strong>n@lix.polytechnique.fr<br />

Abstract<br />

Motivatived by Guruswami and Rudra’s construction of folded Reed-Solomon codes, we give algorithms<br />

<strong>to</strong> solve functional equations of the form Q(x, f(x), f(γx)) = 0, where Q is a trivariate polynomial.<br />

We compare two approaches, one based on New<strong>to</strong>n’s iteration and the second using relaxed series<br />

techniques.<br />

1 Introduction<br />

In a celebrated paper [6], Sudan introduced a list decoding algorithm for Reed-Solomon codes based on<br />

bivariate interpolation and root finding techniques. The techniques were then refined by Guruswami-<br />

Sudan [4], Parvaresh-Vardy [5]. In 2008, Guruswami and Rudra [3] achieved close <strong>to</strong> the informationtheoretic<br />

limit by means of folded Reed-Solomon codes. Let F be a finite field and let γ be a primitive<br />

element of F. The message polynomial f(x) will be transmitted as the sequence f(γ i ) for i ∈ {1, . . . , n}.<br />

Let y be the received set and let s ≥ 2 be a “folding” parameter; then, the decoding algorithm does the<br />

following<br />

1. (interpolation) Find a multivariate polynomial Q(x, z 1 , . . . , z s ) (with suitable degree properties) such<br />

that Q(γ si , y si+1 , . . . , y si+s ) = 0 holds for all i, with multiplicity m;<br />

2. (root-finding) Return the polynomials f(x) such that Q(x, f(x), f(γx), . . . , f(γ s−1 x)) = 0.<br />

2 Lifting techniques<br />

In this work we consider the second step, root-finding, by means of lifting techniques. For this first study,<br />

we consider only situations in three variables (that is, s = 2), and we also assume that the multiplicity m<br />

of each root is 1. The former assumption can be easily relaxed; the latter would require more work (since<br />

it requires some desingularization process).<br />

Let Q(x, z 1 , z 2 ) be the polynomial that we obtained during the interpolation step. Our goal here is <strong>to</strong><br />

construct a polynomial f(x) such that Q(x, f(x), f(γx)) = 0. We will assume that f(0) = 0; this is actually<br />

not a real restriction, since we can impose it on our message polynomials without loss of generality.<br />

We present two algorithms: one using a suitable version of New<strong>to</strong>n’s iteration (similar <strong>to</strong> Augot-Pequet’s<br />

approach for Sudan’s list decoding algorithm [1]), the other one using van der Hoeven’s relaxed techniques.<br />

New<strong>to</strong>n iteration. The idea behind this approach is classical: assuming that we know f 0 = f mod x l ,<br />

we want <strong>to</strong> compute f at a higher precision, about 2l, by solving a linearized equation. This is done by<br />

means of a Taylor expansion: writing f = f 0 + h, we obtain<br />

∂Q<br />

(x, f 0 (x), f 0 (γx))h(γx) + ∂Q (x, f 0 (x), f 0 (γx))h(x) = −Q(x, f 0 (x), f 0 (γx)) mod x 2l .<br />

∂z 2 ∂z 1<br />

113


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

If we define the γ-derivative<br />

f(γx) − f(x)<br />

E : f ↦→ ,<br />

x<br />

the former equation takes the form A(x)E(h) + B(x)h = C(x), for some suitable A, B, C. The similarity<br />

between this equation and first-order linear differential equations allows us <strong>to</strong> propose an algorithm very<br />

close <strong>to</strong> Brent and Kung’s algorithm for differential equations [2]. By construction, the equation is singular<br />

(that is, A(0) = 0), but it is possible <strong>to</strong> overcome this issue. The resulting algorithm compute f mod x n<br />

in time O(M(n)), where M denotes as usual a function such that degree-n polynomials can be multiplied<br />

in M(n) base field operations.<br />

The relaxed algorithm. In [7], van der Hoeven introduced the relaxed model of multiplication, that<br />

allows for “lazy” polynomial multiplication with an amortized quasi-linear complexity. This model allows<br />

one <strong>to</strong> solve fixed-point equations of the form of f(x) = φ(f(x)) where φ is an opera<strong>to</strong>r such that the first<br />

n coefficients of φ(f(x)) depend only on the first n − 1 coefficients of f(x).<br />

We show how <strong>to</strong> transform the equation Q(x, f(x), f(γx)) in<strong>to</strong> such a fixed-point equation. As a<br />

result, we are able <strong>to</strong> compute f mod x n in time O(R(n)), where R is the cost of relaxed multiplication.<br />

In general, we have R(n) = O(M(n) log(n)); for multiplication algorithms such as Karatsuba’s, we have<br />

R(n) = O(M(n)), so that this approach is competitive with the one based on New<strong>to</strong>n iteration.<br />

References<br />

[1] D. Augot and L. Pecquet. A Hensel lifting <strong>to</strong> replace fac<strong>to</strong>rization in list-decoding of algebraic-geometric<br />

and Reed-Solomon codes. IEEE Trans. Inf. Theory, 46(7):2605–2614, 2000.<br />

[2] R. P. Brent and H. T. Kung. Fast algorithms for manipulating formal power series. J. ACM, 25(4):581–<br />

595, 1978.<br />

[3] V. Guruswami and A. Rudra. Explicit codes achieving list decoding capacity: Error-correction with<br />

optimal redundancy. IEEE Trans. Inf. Theory, 54(1):135 –150, 2008.<br />

[4] V. Guruswami and M. Sudan. Improved decoding of Reed-Solomon and algebraic-geometric codes.<br />

IEEE Trans. Inf. Theory, 45(6):1757 – 1767, 1999.<br />

[5] F. Parvaresh and A. Vardy. Correcting errors beyond the Guruswami-Sudan radius in polynomial time.<br />

In FOCS’05, pages 285 – 294. IEEE Computer Society, 2005.<br />

[6] Madhu Sudan. Decoding of Reed-Solomon codes beyond the error-correction bound. J. Complexity,<br />

13:180–193, 1997.<br />

[7] J. van Der Hoeven. Relax, but don’t be <strong>to</strong>o lazy. J. Symbolic Computation, 34:479–542, 2002.<br />

114


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Computing Equilibria with Group Actions<br />

Samaresh Chatterji<br />

DA-IICT, Gandhinagar, India<br />

samaresh_chatterji@daiict.ac.in<br />

Ratnik Gandhi<br />

TIFR, Mumbai, India<br />

ratnik@tifr.res.in<br />

We present an application of Gröbner bases and Galois group actions <strong>to</strong> the computation of Nash<br />

equilibria of a subclass of finite normal form games. Games in the subclass that we consider have all their<br />

payoff values rational numbers while all their equilibria solutions are irrational numbers. 1<br />

Informally, a Nash equilibrium {x j i<br />

} of a finite normal form game is a probability distribution over the<br />

set of strategies S i of players i, that produce a better payoff for individual players. Nash equilibria can be<br />

characterized as solutions <strong>to</strong> a system of polynomial equations that we call a game system GS. 2 In this<br />

setting, coefficients A i j 1 j 2 ...j n<br />

∈ Q that define the game payoff table are known and our objective is <strong>to</strong> find<br />

subset of solution tuples {x j i<br />

} of GS.<br />

Method<br />

The method that we present in this section computes solutions of a system of polynomial equations without<br />

having <strong>to</strong> fac<strong>to</strong>rize the system every time. In the initial phase of our method Buchberger’s algorithm<br />

is called <strong>to</strong> derive a univariate polynomial in the Gröbner basis (GB) of the GS (known <strong>to</strong> have zerodimensional<br />

ideal I). Since the game is a rational payoff irrational equilibria(RPIE), Nash’s theorem<br />

[3] guarantees that the univariate polynomial has at least one irrational root. For computing a solution<br />

tuple with all irrational coordinates (sample solution) an irrational root of the univariate polynomial is<br />

substituted in the triangular form of the GB.<br />

We denote a Galois group of the irreducible part of a univariate polynomial f i in GB of GS by G i . We<br />

assume each G i is known. In the next phase we apply the transitive Galois group action corresponding <strong>to</strong><br />

each indeterminate variable and find Galois-orbits <strong>to</strong> determine all irrational solutions of the GS. The final<br />

phase consists of determining all non-equilibria solutions and rejecting them. For this we use a polynomial<br />

time Nash equilibrium verification condition in [3]. <strong>Algorithm</strong> 1 is an outline of the method <strong>to</strong> compute<br />

all equilibria of an RPIE game with Galois groups. Note that the group action is computed for each x i<br />

separately by each coordinate root in the tuple β. In Step 4 of <strong>Algorithm</strong> 2, for deciding α ∈ Q, we use a<br />

variant of LLL algorithm.<br />

For any 2 player game a system of linear equations are sufficient <strong>to</strong> compute all its Nash equilibria and<br />

so <strong>Algorithm</strong> 1 computes all equilibria of RPIE games with n ≥ 3 players. Following are corollaries <strong>to</strong> this<br />

fact.<br />

Corollary 1. The class of RPIE games is empty for n = 2 players.<br />

Remark 1. <strong>Algorithm</strong> 1 can not be used <strong>to</strong> compute equilibria of a 2- player game defined over an arbitrary<br />

field.<br />

We further show correctness of the <strong>Algorithm</strong> 1.<br />

Proposition 1. <strong>Algorithm</strong> 1 for computing all equilibria of RPIE games works. i.e., the output at <strong>termination</strong><br />

consists of all irrational equilibria of the game, and no other solutions of the GS.<br />

1 These properties of the subclass of games can be verified by the membership algorithm presented in [2].<br />

2 For further details about the exact characterization see [2].<br />

115


Computing Equilibria with Group Actions<br />

ISSAC 2011 Posters<br />

<strong>Algorithm</strong> 1 Computing All Nash<br />

Equilibria of an RPIE game.<br />

Input: An RPIE game, Galois<br />

groups. Output: All equilibria of<br />

the input RPIE game.<br />

1: β = (β 1 , β 2 , . . . , β K +).<br />

{Initialize an empty tuple<br />

<strong>to</strong> s<strong>to</strong>re a sample solution of the<br />

GS}.<br />

2: Characterize all the Nash Equilibria<br />

of the input game as solutions<br />

<strong>to</strong> the GS.<br />

3: Call <strong>Algorithm</strong> 2 with GS for<br />

computing a sample equilibrium<br />

of the input RPIE game.<br />

4: Call the Galois group action <strong>Algorithm</strong><br />

3 with the sample solution<br />

tuple saved in β.<br />

5: Save output of the <strong>Algorithm</strong> 3<br />

in X.<br />

6: Reject non-equilibria solutions of<br />

the GS from X using Nash equilibrium<br />

verification condition in<br />

[3].<br />

<strong>Algorithm</strong> 2 Computation of a<br />

sample solution.<br />

Input: GS of the input game.<br />

Output: A sample solution β =<br />

(β 1 , β 2 , . . . , β K +) of the input game.<br />

1: With Buchberger’s <strong>Algorithm</strong><br />

on GS, compute triangular form<br />

of GB.<br />

2: while one sample solution β of<br />

the GS is not constructed do<br />

3: Compute a root α of univariate<br />

polynomial – of some<br />

indeterminate variable x i –<br />

generated in Step 1.<br />

4: if α ∈ Q then<br />

5: Reject α and go <strong>to</strong> Step 3.<br />

6: else<br />

7: Save α in β at location β i .<br />

8: end if<br />

9: Substitute the root β i in GS<br />

and compute a new triangular<br />

form with one variable<br />

less.<br />

10: end while<br />

<strong>Algorithm</strong> 3 Computing orbit of a Galois<br />

Group Action.<br />

Input: A sample solution β of the GS,<br />

Galois groups. Output: All the conjugate<br />

solutions of the input sample solution<br />

in set X.<br />

1: Initialize the processed-elements list<br />

X and unprocessed-elements list U as<br />

X = U = {β}.<br />

2: while U is not empty do<br />

3: Let u = (u 1 , u 2 , . . . , u K +) be the<br />

first element of U. Delete u from<br />

U.<br />

4: for each i and j, gj i in Galois group<br />

G i and u i ∈ u do<br />

5: Compute the transitive Galois<br />

group action u gi j<br />

i .<br />

6: β ′ = (u g1 j<br />

1 , ug2 j<br />

2 , . . . , ugK+<br />

j<br />

K<br />

). +<br />

7: if β ′ /∈ X then<br />

8: X = X ∪ {β ′ } and U = U ∪<br />

{β ′ }.<br />

9: end if<br />

10: end for<br />

11: end while<br />

With the available finite precision technology for representing a number in computer memory, the problem<br />

of retrieving an irrational number is difficult; unless s<strong>to</strong>red in algebraic form. The following result shows<br />

that this issue for some RPIE games can be resolved.<br />

Proposition 2. If univariate polynomials in ideal I of GS of an RPIE game have solvable Galois group,<br />

then <strong>Algorithm</strong> 1 computes Nash equilibria of the game in closed form.<br />

Computational Complexity<br />

Construction of the GS is polynomial time in the size of the input payoff matrix. A Gröbner basis can be<br />

computed in doubly exponential time in the size of strategy space. Once a Galois group G i is known, we<br />

must find the Galois orbit G i β i of every known root β i of every indeterminate variable in the GS. An orbit<br />

construction takes polynomial time. In the worst case, the algorithm requires action of each of the Galois<br />

group genera<strong>to</strong>r g ′ ∈ G ′ ⊆ G <strong>to</strong> each element of the set of roots, O(|G ′ | · |X|).<br />

We have implemented <strong>Algorithm</strong> 1 in Mathematica T M and computed several examples. The program<br />

can be obtained by sending an email <strong>to</strong> the authors. A detailed discussion of this work is given in [1].<br />

References<br />

[1] Samaresh Chatterji and Ratnik Gandhi. An algebraic approach for computing equilibria of a subclass of finite<br />

normal form games. CoRR, abs/1005.5507, 2010.<br />

[2] Samaresh Chatterji and Ratnik Gandhi. Some algebraic properties of a subclass of finite normal form games.<br />

CoRR, abs/1001.4887, 2010.<br />

[3] John Nash. Non-cooperative games. The Annals of Mathematics, Second Series, Issue 2, 54:286–295, 1951.<br />

116


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Connectivity Queries on Curves in R n<br />

Md. Nazrul Islam<br />

The University of Western Ontario<br />

London, Canada<br />

mislam63@uwo.ca<br />

A. Poteaux<br />

Université Pierre et Marie Curie<br />

France<br />

adrien.poteaux@lip6.fr<br />

Canny introduced the notion of roadmap in [2], as a way <strong>to</strong> study connectivity properties of semialgebraic<br />

sets (which appear for instance in motion planning problems).<br />

A roadmap R of a semi-algebraic set V is a curve contained in V , that has a non-empty and connected<br />

intersection with each connected component of S. Given two query points A, B on V , it is possible <strong>to</strong><br />

construct a roadmap that contains both of them. Then, A and B belong <strong>to</strong> the same connected component<br />

of V if and only if they are on the same connected component of R. Thus, roadmaps allow one <strong>to</strong> reduce<br />

connectivity queries on semi-algebraic sets <strong>to</strong> connectivity queries on curves.<br />

Let n be the dimension of the ambient space, and let X 1 , . . . , X n be coordinates in C n . Following<br />

Canny’s algorithm, and improvements by Basu, Pollack and Roy [1], the roadmap algorithm from [5]<br />

computes the following:<br />

1. two linear forms η = η 1 X 1 + · · · + η n X n and ϑ = ϑ 1 X 1 + · · · + ϑ n X n , with coefficients in Q<br />

2. polynomials q, q 0 , . . . , q n in Q[T, U] where T and U are indeterminates.<br />

Let Z ⊂ C n be the constructible set defined by<br />

q(η, τ) = 0, X i = q i(η, τ)<br />

q 0 (η, τ) (1 ≤ i ≤ n), q 0(η, τ) ≠ 0.<br />

Then, the roadmap R is obtained as C ∩ R n , where C ⊂ C n is the algebraic curve obtained as the Zariski<br />

closure of Z.<br />

In this work, we consider this roadmap as our input. Given (q, q 0 , . . . , q n ) and η, ϑ, as well as two query<br />

points A, B on R, our question is <strong>to</strong> decide whether A and B are on the same connected component of<br />

R. To our knowledge, no previous work directly addresses this question. A close reference is in [6], which<br />

however considers a more general input (given by means of a regular chain), and relies on Puiseux series<br />

computations.<br />

The algorithm we propose is inspired by El Kahoui’s algorithm for the <strong>to</strong>pology of a space curve [4];<br />

we also use ideas from [7, 3], that allow us <strong>to</strong> replace computations with real algebraic numbers by manipulations<br />

on isolating boxes.<br />

Our algorithm, as well as in El Kahoui’s, requires that the input curve be in general position. The<br />

genericity requirements are of a geometric nature (e.g., there should be no point on R with a tangent<br />

orthogonal <strong>to</strong> the η, ϑ-plane, etc).<br />

Of course, these conditions can be <strong>ensure</strong>d by means of a generic enough change of coordinates A; we<br />

can also suppose that the linear forms η, ϑ are X 1 , X 2 . We give a precise cost estimate for the application<br />

of this change of coordinates; we also prove that the set of all unlucky A is contained in a strict algebraic<br />

subset of GL n of degree δ O(1) , where δ is the degree of C. Using Zippel-Schwartz’s lemma, this allows us<br />

<strong>to</strong> determine the probability of success of finding a generic enough change of coordinates A in a large finite<br />

subset of GL n .<br />

Supposing that the chosen change of coordinates is generic, our algorithm works in three steps:<br />

117


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

1. one computes a rational parametrization (q ′ , q ′ 0 , . . . , q′ n), X 1 , X 2 of C A = {Az | z ∈ C} using fast<br />

algorithms for change of orderings in triangular sets;<br />

2. one computes the <strong>to</strong>pology of the plane curve defined by q ′ (X 1 , X 2 ) = 0 using e.g. [3];<br />

3. we consider the space curve defined as the Zariski-closure of the constrictible set defined by<br />

q ′ (X 1 , X 2 ) = 0, X 3 = q′ 3 (X 1, X 2 )<br />

q ′ 0 (X 1, X 2 ) , q 0(X 1 , X 2 ) ≠ 0.<br />

Using results from [4], we deduce the <strong>to</strong>pology of the space curve from the one computed in Step 1,<br />

and use it <strong>to</strong> answer connectivity queries on the space curve.<br />

The algorithm works because genericity properties of A allow us <strong>to</strong> prove that connected components of<br />

the curve C A ⊂ R n are in one-<strong>to</strong>-one correspondance with the connected components of its projection on<br />

the (X 1 , X 2 , X 3 )-space.<br />

References<br />

[1] S. Basu, R. Pollack, and M.-F. Roy. Computing roadmaps of semi-algebraic sets on a variety. Journal<br />

of the AMS, 3(1):55–82, 1999.<br />

[2] J. F. Canny. The Complexity of Robot Motion Planning. ACM Doc<strong>to</strong>ral Dissertation, The MIT<br />

Press, 1987.<br />

[3] J. Cheng, S. Lazard, L. Peñaranda, M. Pouget, F. Rouillier and E. Tsigaridas. On the <strong>to</strong>pology of<br />

planar algebraic curves. In Proceedings of the 25th annual symposium on Computational geometry,<br />

pp. 361–370. ACM, 2009<br />

[4] M. El Kahoui. Topology of real algebraic space curves. Journal of Symbolic Computation, 43(4):235–<br />

258, 2008.<br />

[5] M. Safey El Din and É. Schost. A baby steps/giant steps probabilistic algorithm for computing<br />

roadmaps in smooth bounded real hypersurface. Discrete and Computational Geometry, 45:181–220,<br />

2011.<br />

[6] J. T. Schwartz and M. Sharir. On the “piano movers” problem. II. General techniques for computing<br />

<strong>to</strong>pological properties of real algebraic manifolds. Adv. in Appl. Math., 4(3):298–351, 1983.<br />

[7] R. Seidel and N. Wolpert. On the exact computation of the <strong>to</strong>pology of real algebraic curves. In<br />

Proceedings of the twenty-first annual symposium on Computational geometry, pp. 107–115. ACM,<br />

2005.<br />

118


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Cheater identification on a secret sharing scheme using GCD<br />

Hiroshi Kai and Shigenobu Inoue<br />

Department of Electrical and Electronic Engineering and Computer Science<br />

Graduate School of Science and Engineering<br />

Ehime University<br />

Matsuyama, Japan, 790-8577<br />

{kai,inoue}@hpc.cs.ehime-u.ac.jp<br />

Abstract<br />

A method <strong>to</strong> identify cheaters on the Shamir’s (k, n) threshold secret sharing scheme is proposed<br />

using rational interpolation. When a rational interpolant is computed for l shares D i , i = 1, · · · , l, where<br />

l = k + 2s, then s unattainable points of the rational interpolant may identify s cheaters. The cheaters<br />

can be computed by GCD of the numera<strong>to</strong>r polynomial and the denomina<strong>to</strong>r polynomial.<br />

1 Introduction<br />

We consider <strong>to</strong> apply computer algebra <strong>to</strong> a secret sharing scheme. In this extended abstract, a method<br />

<strong>to</strong> identify cheaters on the Shamir’s secret sharing scheme is considered. Shamir’s (k, n) threshold secret<br />

sharing scheme is described as the following.<br />

A secret D is divided in<strong>to</strong> n shares D 1 , D 2 , · · · , D n ∈ Z p , where p is a prime. Choose random numbers<br />

a 1 , a 2 , · · · , a k−1 , let a polynomial p(x) = D +a 1 x+a 2 x 2 +· · · a k−1 x k−1 . Then we can define the n shares by<br />

polynomial evaluations D i = p(x i ), x i ∈ Z p , i = 1, · · · , n. Shamir’s scheme uses polynomial interpolation<br />

<strong>to</strong> reconstruct the secret D from any k shares (x ji , D ji ), i = 1, · · · , k among the n shares. Any k or more<br />

shares can reconstruct the secret D, but any shares below k obtain no information about the secret D.<br />

Shamir’s scheme has a well-known problem that cheaters may fabricate shares D ′ i (≠ D i) for some i,<br />

and then other participants are deceived by the cheaters and obtain incorrect secret D ′ (≠ D). Detecting<br />

cheaters and cheater identification are important issue on secret sharing scheme, for example see [1, 2, 4,<br />

6, 7]. Here we propose a method <strong>to</strong> identify cheaters using GCD computation.<br />

2 Rational interpolation and unattainable points<br />

Let the input be a set of data, S = {(x i , D i )|i = 1, · · · , m + n + 1}. Then, rational interpolation r m,n (x) =<br />

p m (x)/q n (x) for S is computed by linear equations q n (x i )D i = p m (x i ) for i = 1, · · · , m + n + 1.<br />

If q(x c ) ≠ 0 for some c, then p(x c ) is uniquely determined by the linear equations. However, if q(x c ) = 0,<br />

then p(x c ) must be vanished. In this situation, p(x) and q(x) has a common fac<strong>to</strong>r x−x c . If r m,n (x c ) ≠ D c ,<br />

then we call this point (x c , D c ) as an unattainable point. The following property concerning unattainable<br />

points was shown in [5].<br />

Let m ′ and n ′ be positive integers satisfying m ′ + n ′ < m + n. Further let r m ′ ,n ′ = p m ′(x)/q n ′(x) where<br />

p m ′ and q n ′ is a polynomial with degree m ′ and n ′ respectively. The data set S is divided in<strong>to</strong> two groups<br />

as<br />

S 1 : {(x ji , D ji )|i = 1, · · · , max(m + n ′ , n + m ′ ) + 1}<br />

S 2 : {(x ki , D ki )|i = 1, · · · , min(m − m ′ , n − n ′ )}<br />

119


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

where {x 1 , · · · , x m+n+1 } = {x j1 , x j2 , · · · , x k1 , x k2 , · · · }. If the relations<br />

hold, then S 2 are unattainable points.<br />

D ji = r m ′ ,n ′(x j i<br />

), i = 1, · · · , max(m + n ′ , n + m ′ ) + 1<br />

D ki ≠ r m ′ ,s ′(x k i<br />

), i = 1, · · · , min(m − m ′ , n − n ′ )<br />

3 Cheater identification using GCD computation<br />

Let r m ′ ,n ′(x) = p(x), that is, m′ = k − 1 and n ′ = 0. If we assume m = k − 1 + s, n = s for a nonnegative<br />

integer s, the relations are written as<br />

D ji = p(x ji ), i = 1, · · · , k + s<br />

D ki ≠ p(x ki ), i = 1, · · · , s<br />

This shows that if we can correct l = m + n + 1 = k + 2s shares, s cheaters appear at unattainable points.<br />

Since the numera<strong>to</strong>r polynomial and the denomina<strong>to</strong>r polynomial of r k−1+s,s (x) have a common fac<strong>to</strong>r at<br />

the unattainable points, we can identify the cheaters by GCD.<br />

The secret sharing scheme using the Reed-Solomon code remarked in [6] can also detect s cheaters from<br />

k + 2s shares, thus there might be a close relationship between the scheme and our method.<br />

If we have s + 1 or more cheaters in the data set, we may correct more shares and compute rational<br />

interpolation of higher degree. Further, since we cannot know how many cheaters exist beforehand, we<br />

can use a combination of our method and the cheating detection method [4] <strong>to</strong> identify cheaters with high<br />

probability.<br />

We showed a single idea <strong>to</strong> identify s cheaters from k + 2s shares using GCD computation, but there<br />

are still a lot of works <strong>to</strong> do. For example, we should consider how this method compares <strong>to</strong> the numerous<br />

other works on the same problem.<br />

References<br />

[1] Marco Carpentieri, A perfect threshold secret sharing scheme <strong>to</strong> identify cheaters, Designs, Codes and<br />

Cryp<strong>to</strong>graphy, Volume 5, Number 3, pp.183-187, 1995.<br />

[2] Josep Rifa-Coma, How <strong>to</strong> avoid the cheaters succeeding in the key sharing scheme, Designs, Codes<br />

and Cryp<strong>to</strong>graphy, Volume 3, pp.221-228, 1993.<br />

[3] Adi Shamir, How <strong>to</strong> share a secret, Communications of the ACM, Volume 22, Issue 11, pp.612-613,<br />

1979.<br />

[4] Martin Tompa and Heather Woll, How <strong>to</strong> share a secret with cheaters, Journal of Cryp<strong>to</strong>logy, Volume<br />

1, Number 2, pp.133-138, 1988.<br />

[5] Matu-Tarow Noda and Hiroshi Kai, Approximate-GCD and its applications, Proceedings of the Seventh<br />

Asian Symposium on Computer Mathematics (ASCM2005), pp.215-218, 2005.<br />

[6] Robert J. McEliece and Dilip V. Sarwate, On sharing secrets and Reed-Solomon codes, Communications<br />

of the ACM, Volume 24, Issue 9, pp.583-584, 1981.<br />

[7] Lein Harn and Changlu Lin, Detection and Identification of Cheaters in Secret Reconstruction, Designs,<br />

Code and Cryp<strong>to</strong>graphy, Volume 52, Number 1, pp. 15-24, 2009.<br />

120


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

A Saturation <strong>Algorithm</strong> for Homogeneous Binomial Ideals<br />

Deepanjan Kesh and Shashank K Mehta<br />

Indian Institute of Technology Kanpur<br />

Kanpur, India, Pin Code - 208016<br />

deepkesh@cse.iitk.ac.in,skmehta@cse.iitk.ac.in<br />

Let I be an ideal in the polynomial ring k[x] over a field k. Saturation of I by the product x 1 · · · x n ,<br />

denoted by I : (x 1 · · · x n ) ∞ is the ideal {f : x a 1<br />

1 · · · xan n f ∈ I, a i ≥ 0, 1 ≤ i ≤ n}. Binomials in the ring are<br />

defined as polynomials with at most two terms [1]. Ideals with a binomial basis are called binomial ideals.<br />

Toric ideals are examples of homogeneous binomial ideals.<br />

We describe a fast algorithm <strong>to</strong> compute the saturation, I : (x 1 · · · x n ) ∞ , of a homogeneous binomial<br />

ideal I. Here we would like <strong>to</strong> note that there are several algorithms <strong>to</strong> saturate pure difference binomial<br />

ideals [2], which are a special case of homogeneous binomial ideals.<br />

Before proceeding, we will need some notations. U i will denote the multiplicatively closed set {x a 1<br />

1 · · ·<br />

x a i−1<br />

i−1<br />

: a j ≥ 0, 1 ≤ j < i}. ≺ i will denote a graded reverse lexicographic term order with x i being the<br />

smallest. ϕ i : k[x] → k[x][Ui−1 −1 ] is the natural localization map r ↦→ r/1.<br />

<strong>Algorithm</strong> 1 describes the saturation algorithm due <strong>to</strong> Sturmfels [3] in the context of binomial ideals.<br />

<strong>Algorithm</strong> 2 describes the proposed algorithm. The primary motivation for the new approach is that the<br />

time complexity of Gröbner basis is a strong function of the number of variables. In the proposed algorithm,<br />

a Gröbner basis is computed in the i-th iteration in i variables. This requires the computation of a Gröbner<br />

basis over the ring k[x][Ui<br />

−1 ]. The Gröbner basis over such a ring is not known in the literature. Thus,<br />

we propose a generalization of Gröbner bases, called pseudo Gröbner bases, and appropriately modify the<br />

Buchberger’s algorithm <strong>to</strong> compute it.<br />

Definition 1 A basis G of a homogeneous binomial ideal I ⊂ k[x][Ui<br />

−1 ] is called a pseudo-Gröbner basis<br />

of I, if G can be partitioned in<strong>to</strong> two sets G 1 , G 2 , such that every binomial of I can be reduced by G 1 <strong>to</strong><br />

0 (mod 〈G 2 〉) with respect <strong>to</strong> a given term-order, where 〈G 2 〉 denotes the ideal generated by G 2 .<br />

Theorem 1 Let (G 1 , G 2 ) be a pseudo Gröbner basis of a homogeneous binomial ideal I in k[x][Ui<br />

−1 ] with<br />

respect <strong>to</strong> ≺ i . Then (G 1 : x ∞ i , G 2 : x ∞ i ) is a pseudo Gröbner basis of I : x ∞ i .<br />

Further details of the algorithm can be found in [4]. One thing <strong>to</strong> note is that the algorithm works<br />

only for binomial ideals, and it crucially uses the fact that the ring is localized with monomials. We have<br />

not been able <strong>to</strong> generalize the notions <strong>to</strong> general polynomial ideals or <strong>to</strong> polynomial ideals over function<br />

fields.<br />

In the table given below, we present some preliminary experimental results of the application of the<br />

proposed algorithm in computing <strong>to</strong>ric ideals. We compare our algorithm with the Sturmfels’ algorithm<br />

[3] and Project and Lift [2], the best algorithm known <strong>to</strong> date <strong>to</strong> compute <strong>to</strong>ric ideals. As expected, the<br />

table shows that our algorithm performs much better than the Sturmfels’ algorithm, as our algorithm is<br />

specifically designed for binomial ideals.<br />

121


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Data: A homogeneous binomial ideal,<br />

I ⊂ k[x].<br />

Result: I : (x 1 , . . . , x n ) ∞<br />

for i ← n <strong>to</strong> 1 do<br />

G ← Gröbner basis of I w.r.t. ≺ i ;<br />

I ← 〈{f ÷ (x 1 , . . . , x n ) ∞ |f ∈ G}〉 ;<br />

end<br />

return I ;<br />

<strong>Algorithm</strong> 1: Sturmfels’ <strong>Algorithm</strong><br />

1<br />

2<br />

3<br />

4<br />

5<br />

Data: A homogeneous binomial ideal,<br />

I ⊂ k[x].<br />

Result: I : (x 1 , . . . , x n ) ∞<br />

for i ← n <strong>to</strong> 1 do<br />

G ← Pseudo Gröbner basis of ϕ i (I)<br />

w.r.t. ≺ i ;<br />

I ← 〈{ϕ −1<br />

i<br />

(f ÷(x 1 , . . . , x n ) ∞ )|f ∈ G}〉<br />

;<br />

end<br />

return I ;<br />

<strong>Algorithm</strong> 2: Proposed <strong>Algorithm</strong><br />

To compare with the Project and Lift, we implemented it as reported on page 19 of [2], without<br />

optimizations reported in the subsequent pages. Similar optimizations are applicable in our algorithm and<br />

it <strong>to</strong>o is implemented without the same in these experiments. The typical results are presented in the<br />

table given below. For a definitive comparison we intend <strong>to</strong> implement our algorithm with all possible<br />

optimizations and compare with 4ti2 [2], which is the optimal implementation of their algorithm.<br />

Our intuition as <strong>to</strong> why our algorithm is doing better, in these experiments, compared <strong>to</strong> Project and<br />

Lift is that their algorithm uses Sturmfels’ saturation algorithm as a subroutine, though the extent <strong>to</strong><br />

which it uses the algorithm depends on the input ideal. On the other hand, our algorithm computes all<br />

saturations by the same approach.<br />

Number of Size of basis Time taken (in sec.)<br />

variables Initial Final Sturmfels’ Project and Lift Proposed<br />

8 4 186 0.30 0.12 0.10<br />

6 597 2.61 0.60 0.64<br />

10 6 729 3.20 1.10 0.50<br />

8 357 2.40 0.40 0.29<br />

12 6 423 1.70 0.90 0.27<br />

8 2695 305.00 60.00 27.20<br />

14 10 1035 10.50 4.20 2.50<br />

Table 1: Preliminary experimental results comparing Sturmfels’, Project-and-Lift and our<br />

proposed algorithms<br />

References<br />

[1] David Eisenbud and Bernd Sturmfels. Binomial ideals. Duke Mathematical Journal, 84:1–45, 1996.<br />

[2] Raymond Hemmecke and Peter N. Malkin. Computing generating sets of lattice ideals and Markov<br />

bases of lattices. Journal of Symbolic Computation, 44:1463–1476, 2009.<br />

[3] Bernd Sturmfels. Gröbner Bases and Convex Poly<strong>to</strong>pes. University Lecture Series, American Mathematical<br />

Society, volume 8, 1995.<br />

[4] Deepanjan Kesh and Shashank K Mehta. A Saturation <strong>Algorithm</strong> for Homogeneous Binomial Ideals,<br />

Manuscript. http://www.cse.iitk.ac.in/users/deepkesh/downloads/manuscript.pdf, 2011.<br />

122


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

An Algebraic Framework for Extending Orthogonal Designs<br />

Chris<strong>to</strong>s Koukouvinos (1) , Dimitris E. Simos (1) , Zafeirakis Zafeirakopoulos (2)<br />

(1) Department of Mathematics, National Technical University of Athens<br />

(2) Research Institute for Symbolic Computation (RISC) / DK-compmath<br />

{ckoukouv,dsimos}@math.ntua.gr,zafeirakopoulos@risc.jku.at<br />

Orthogonal designs (ODs) have numerous applications in Statistics, Telecommunications, Coding Theory<br />

and Cryp<strong>to</strong>graphy, see [2]. An OD of order n and type (s 1 , s 2 , . . . , s u ) denoted OD(n; s 1 , s 2 , . . . , s u )<br />

in the commuting variables a 1 , a 2 , . . . , a u , is a square matrix D of order n with entries from the set<br />

{0, ±a 1 , ±a 2 , . . . , ±a u } satisfying DD T = ∑ u<br />

i=1 (s ia 2 i )I n, where I n is the identity matrix of order n. A<br />

crucial lemma for manipulating ODs is the following.<br />

Lemma 1 (Equating and Killing [2]). If D is an orthogonal design OD(n; s 1 , s 2 , . . . , s u ) in the commuting<br />

variables {0, ±a 1 , ±a 2 , . . . , ±a u }, then there exist orthogonal designs:<br />

(i) OD(n; s 1 , s 2 , . . . , s i + s j , . . . , s u ) (a i = a j )<br />

(ii) OD(n; s 1 , s 2 , . . . , s j−1 , s j+1 , . . . , s u ) (s j = 0)<br />

on the u − 1 commuting variables {0, ±a 1 , ±a 2 , . . . , ±a j−1 , ±a j+1 , . . . , ±a u }.<br />

(Equating)<br />

(Killing)<br />

Sequences of zero au<strong>to</strong>correlation give rise <strong>to</strong> orthogonal designs, for more details see [3]. Let B =<br />

{B j : B j = (b j1 , b j2 , ..., b jn ), j = 1, . . . , l}, be a set of l sequences of length n. The au<strong>to</strong>correlation function<br />

AF B (s) is defined as<br />

l∑ k∑<br />

AF B (s) = b ji b j(i+s) , s = 0, 1, ..., n − 1. (1)<br />

j=1 i=1<br />

We are interested in two types of AF, namely the periodic AF where k = n and i + s is computed modulo<br />

n, and the non-periodic AF where k = n − s. The set B has zero AF, if AF B (s) = 0, for s = 1, . . . , n − 1.<br />

Our main goal is <strong>to</strong> provide an algorithmic version for the reverse operations of Equating and Killing.<br />

We refer <strong>to</strong> the reverse of Equating as Splitting. The reverse of Killing can be interpreted in two ways; either<br />

as replacing zeros by an existing variable (Filling) or as replacing zeros by a new variable (Expanding).<br />

We note that Expanding can be performed by first Filling and then Splitting, but there is no guarantee<br />

that Filling-Splitting will give a result obtainable by Expanding the input.<br />

In order <strong>to</strong> implement the reverse operations we work at the level of zero au<strong>to</strong>correlation sequences. We<br />

derive algorithms for the manipulation of such sequences, so that from a given set of sequences we obtain<br />

another with some prescribed characteristics. To this end, we employ <strong>to</strong>ols from symbolic computation.<br />

1 The Reverse of Equating and Killing Lemma<br />

In all three cases (Split, Fill, Expand), the goal is <strong>to</strong> obtain new sequences, which have zero AF and either<br />

one variable is split in two variables or some zeros and replaced. We give a solution for Split and Fill.<br />

There is an intuitive way <strong>to</strong> express the conditions involved in the problems under consideration as an<br />

algebraic system. The algebraic systems we encounter, involve two essentially different sets of variables,<br />

A = {a 1 , a 2 , . . . , a u } and X = {x 1 , x 2 , . . . , x r }. An extra variable t is used <strong>to</strong> describe the OD type. The<br />

polynomial ring we consider is Q[t, X, A] with a lexicographic order for which t < x 1 < x 2 < . . . < x r <<br />

a 1 < a 2 < . . . < a u .<br />

123


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

1.1 The Algebraic System<br />

Given B with zero AF we substitute the entries of the sequences <strong>to</strong> be replaced by elements from X.<br />

Namely, for Split we substitute with x i the i-th occurrence of the variable <strong>to</strong> be split, denoted by x m , while<br />

for Fill, we substitute with x i the i-th zero in the sequences. The algebraic system modeling the problems<br />

should express the following restrictions.<br />

1.1.1 Zero AF<br />

We observe that the AF conditions (Eq. 1) are polynomials in Q[t, X, A]. Since we require the AF <strong>to</strong> be<br />

zero, we add these polynomials in the algebraic system.<br />

1.1.2 Binary Conditions<br />

The variables x i take values from a specific (finite) set V . For Split the set V is {−1, 1, −i, i}, while for<br />

Fill it is {−1, 0, 1}. Therefore, we add <strong>to</strong> the algebraic system the polynomials ∏ α∈V<br />

(x i − α), i = 1, 2, . . . , r<br />

1.1.3 Type Conditions<br />

The type of the desired OD implies the number of occurrences of each element of V as an X-coordinate<br />

in each root of the system. The variable t takes values in {1, 2, . . . , k 1 = ⌊ sm 2<br />

− 1⌋} for Split and in<br />

{1, 2, . . . , k 2 = ln − ∑ u<br />

i=1 s i} for Fill. In Split we replace x m with two variables, one appearing t and the<br />

other ⎧ s m − t times ⎛ while in Fill ⎞ we replace ⎫ t zeros. ⎧ Thus, the polynomial ⎛ conditions ⎞ ⎫ for Split and Fill are<br />

⎨ ∏<br />

t − i, ⎝<br />

∑<br />

⎬ ⎨<br />

x 2 ⎠<br />

i − s<br />

⎩<br />

m + 2t<br />

⎭ and ∏<br />

t − i, ⎝<br />

∑ ⎬<br />

x 2 ⎠<br />

i − t<br />

⎩<br />

⎭ respectively.<br />

i=1,2,...,k 1 i=1,2,...,r<br />

i=1,2,...,k 2 i=1,2,...,r<br />

1.2 Computational Remarks<br />

The A-variables are treated as parameters in the OD problem, thus we consider valid the solutions of<br />

the system for which all the A-variables are free. Although there are <strong>to</strong>ols <strong>to</strong> deal with such problems<br />

(resultants, comprehensive Gröbner bases, cf. [1]), a simpler method suffices for the problem at hand. Due<br />

<strong>to</strong> the nature of the problem and the formulation described above we know that for the valid solutions the<br />

X-coordinates do not depend on A. Moreover, the number of solutions of Split and Fill is finite. Thus,<br />

we can substitute the A-variables by values in Q u \ R, where R is a finite subset of Q u . By substituting<br />

by random values, we get with probability 1 an algebraic system whose solutions are the same with the<br />

X-coordinates of the valid solutions of the initial system. Then we apply standard <strong>to</strong>ols from computer<br />

algebra, in particular Gröbner bases [1]. The Gröbner basis of the (zero-dimensional) algebraic system<br />

provides a nice description, from which it is easy <strong>to</strong> enumerate all the solutions for Split and Fill, as well<br />

as <strong>to</strong> determine all possible types of ODs obtainable by the input sequences.<br />

A naive implementation in the mathematical software Sage, indicates that the method is useful for<br />

the manipulation of sequences with zero AF. In particular, we could reproduce many existing results and<br />

arrive <strong>to</strong> a few new ones.<br />

References<br />

[1] D. Cox and J. Little and D. O’Shea, Ideals, Varieties, and <strong>Algorithm</strong>s: An Introduction <strong>to</strong> Computational<br />

Algebraic Geometry and Commutative Algebra, Springer , 2005.<br />

[2] A. V. Geramita and J. Seberry. Orthogonal designs. Quadratic forms and Hadamard matrices. Lecture<br />

Notes in Pure and Applied Mathematics, 45, New York, NY, Marcel Dekker, Inc., 1979<br />

[3] C. Koukouvinos and J. Seberry. New weighing matrices and orthogonal designs constructed using<br />

two sequences with zero au<strong>to</strong>correlation function - a review. J. Statist. Plann. Inference, 81:153–182,<br />

1999.<br />

124


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

An Au<strong>to</strong>matic Parallelization Framework for OpenAxiom<br />

Yue Li and Gabriel Dos Reis<br />

Texas A&M University<br />

College Station, USA, 77843-3112<br />

{yli,gdr}@cse.tamu.edu<br />

1 Introduction<br />

This poster illustrates an au<strong>to</strong>matic parallelization framework for the OpenAxiom [4] computer algebra<br />

system. The objective is <strong>to</strong> help incidental users or non-expert algebraic library authors benefit from<br />

implicit parallelization present in structured algebraic computations. The framework rewrites reductions<br />

in algebraic libraries with their parallel versions. For instance, the planar curve formed by a given list of<br />

points (x 1 , y 1 ), . . . , (x n , y n ) may be approximated with the Lagrange polynomial:<br />

P =<br />

n∑<br />

y i p i where p i =<br />

i=1<br />

∏<br />

1≤j≤n,p≠i<br />

X − x j<br />

x i − x j<br />

Each polynomial p j can be computed using sequential nested loops. Our framework is able <strong>to</strong> transform<br />

the sequential computation <strong>to</strong> its parallel version. The transformed version computes the denomina<strong>to</strong>r and<br />

numera<strong>to</strong>r of each term p i using a parallel reduction function, respectively. The list of the terms (X −x j ) in<br />

the numera<strong>to</strong>r, and the terms (x i −x j ) in the denomina<strong>to</strong>r are computed via calling a parallel map function.<br />

The transformation relies on the fact that the multiplication opera<strong>to</strong>r over any field and the multiplication<br />

opera<strong>to</strong>r over univariate polynomials are monoid opera<strong>to</strong>rs, i.e., the opera<strong>to</strong>rs are associative and each has<br />

an identity element. In general, such algebraic properties are domain-specific knowledge and are difficult<br />

<strong>to</strong> infer systematically. This framework provides linguistic support <strong>to</strong> express them directly in code:<br />

forall(F:Field,P:UnivariatePolynomialCategory(F))<br />

assume MonoidOpera<strong>to</strong>r(P, *) with<br />

neutralValue = 1$P<br />

forall(F: Field)<br />

assume MonoidOpera<strong>to</strong>r(F, *) with<br />

neutralValue = 1$F<br />

The name MonoidOpera<strong>to</strong>r designates the category capturing the algebraic properties for monoid opera<strong>to</strong>rs:<br />

MonoidOpera<strong>to</strong>r(T: BasicType, op: (T, T) -> T): Category<br />

== AssociativeOpera<strong>to</strong>r(T, op)<br />

with neutralValue: T<br />

The name neutralValue is a T-dependent constant denoting the identity element of a monoid opera<strong>to</strong>r.<br />

The category AssociativeOpera<strong>to</strong>r defines the rules for associative opera<strong>to</strong>rs. This shows that properties<br />

can be composed out of existing ones.<br />

2 An overview of the framework<br />

The framework is implemented as an OpenAxiom library. The work flow of the framework is Figure 1. The<br />

inputs include source code and user written assumptions. A semantics-based static analysis is performed<br />

on the source code <strong>to</strong> identify potential reductions. In general, a reduction is written either as a loop, or<br />

125


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

Source Code<br />

Assumptions<br />

Reduction Detec<strong>to</strong>r<br />

Pattern Matching Associativity Checking<br />

Property Inference<br />

Accumulation loops<br />

Reduce calls<br />

Built-in reduce forms<br />

Loop Transformer<br />

Expression Transformer<br />

Source code with<br />

parallel reductions<br />

Algebraic Opera<strong>to</strong>r Categories<br />

Parallel map-reduce library<br />

Figure 1:<br />

The workflow of the au<strong>to</strong>matic parallelization framework.<br />

a reduction function call. For each potential reduction, the monoid properties of the candidate opera<strong>to</strong>r<br />

is checked against user assumptions and other previously derived facts. The reductions which pass the<br />

property checking are handed <strong>to</strong> a transformer. The transformer rewrites reductions with their parallel<br />

versions provided by a parallel library.<br />

3 Results<br />

The framework has discovered rich parallelization opportunities implied by reductions in OpenAxiom algebra<br />

library [1]. With the framework, we parallelized a software installation test, a set of OpenAxiom<br />

algebra library functions, and a user application on homo<strong>to</strong>py continuation method [2]. The experiments<br />

are run using a dual-core PC and a cluster. Results show that the framework speeds up the software installation<br />

test by 15%, the speed-up varies for different algebra library functions, and up <strong>to</strong> 5 times speed-up<br />

is obtained for the user application. In addition <strong>to</strong> parallelizing iterative reductions, we also provide a pro<strong>to</strong>type<br />

implementation for parallelizing recursive reductions. A recursive reduction is first transformed <strong>to</strong><br />

its iterative version using the incrementalization based program transformation technique [3]. The iterative<br />

reduction is further transformed <strong>to</strong> its parallel version using the transformation algorithms in the current<br />

framework.<br />

4 Acknowledgements<br />

The authors thank the Texas A&M University Brazos HPC cluster for providing computing resources <strong>to</strong><br />

support the research reported here. This work was partially supported by NSF grant CCF-1035058.<br />

References<br />

[1] Y. Li and G. Dos Reis. A quantitative study of reductions in algebraic libraries. In PASCO ’10:<br />

Proceedings of the 4th International Workshop on Parallel and Symbolic Computation, pages 98–104,<br />

New York, NY, USA, 2010. ACM.<br />

[2] Y. Li and G. Dos Reis. An au<strong>to</strong>matic parallelization framework for algebraic computation systems. In<br />

ISSAC ’11: Proceedings of the 36th International Symposium on Symbolic and Algebraic Computation,<br />

2011. <strong>to</strong> appear.<br />

[3] Y. A. Liu and S. D. S<strong>to</strong>ller. From recursion <strong>to</strong> iteration: what are the optimizations? In Proceedings of<br />

the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation,<br />

PEPM ’00, pages 73–82, New York, NY, USA, 1999. ACM.<br />

[4] OpenAxiom. http://www.open-axiom.org, 2011.<br />

126


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Solving Bivariate Polynomial Systems on a GPU<br />

Marc Moreno Maza<br />

University of Western Ontario<br />

Wei Pan<br />

Intel of Caanda, Waterloo<br />

1 Objectives<br />

In this study, and up <strong>to</strong> our knowledge, we report on the first GPU implementation of a polynomial<br />

system solver over finite fields. Solving polynomial systems is a driving subject in our field with many successful<br />

results from theoretical <strong>to</strong> practical aspects. Adapting this knowledge and experience <strong>to</strong> many-core<br />

computing is, however, very challenging. The difficulty starts at the level of dense multivariate polynomial<br />

arithmetic. For instance, techniques that appeared <strong>to</strong> be very effective for multicore implementation [9, 10]<br />

do not apply <strong>to</strong> GPU implementation and had <strong>to</strong> be revisited [11].<br />

The motivation of our work is <strong>to</strong> support polynomial system solvers based on the notion of a regular<br />

chains [6] where the core algorithms often rely on polynomial subresultants [4]. In [7], we have shown that<br />

the dominant cost of those algorithms can be essentially reduced <strong>to</strong> that of subresultant chain computations.<br />

2 Methodology<br />

Following an idea proposed by Collins in [2], we compute subresultant chains by evaluation-interpolation.<br />

Moreover, we rely on FFT techniques: once the input polynomials are sampled on a so-called FFT grid,<br />

we employ Brown’s <strong>Algorithm</strong> <strong>to</strong> compute the polynomial subresultants at each sample. All these computations<br />

are performed on the device for which we have designed two specific implementations of Brown’s<br />

<strong>Algorithm</strong>. The first one called fine grained requires that every sampled subresultant chain has the same<br />

degree sequence of non-zero subresultants. This approach creates more parallelism but fails if its assumption<br />

does not hold. When this happens a coarse grained approach does the job without any assumption<br />

but with reduced performances. The sampled subresultant chains can then be exploited by a high-level algorithm<br />

running on the host. A simple case is that of resultant computation. A more advanced one is that<br />

of the bivariate solver algorithm of [8]. Actually, we implemented an enhanced version of this algorithm<br />

with and without GPU code support. Our pure CPU implementation is serial C code. Our enhancements<br />

of the algorithm of [8] includes the fact that the input system is no longer required <strong>to</strong> be zero-dimensional.<br />

3 Results<br />

Our experimental results show that, for resultant computation only, our GPU-supported code outperform<br />

our pure CPU code by a speedup fac<strong>to</strong>r of 34 (resp. 69) on sufficiently large input bivariate (resp.<br />

trivariate) polynomials. For the more complex problem of bivariate system solving, our GPU-supported<br />

solver outperform its CPU counterpart by a fac<strong>to</strong>r of 7.5; for this latter experimentation, we should insist<br />

on the fact that a significant part of the computation (univariate polynomial GCDs) are still performed<br />

by CPU code. Removing this bottleneck on the critical path of the whole application is work in progress<br />

and would probably require the use of a second GPU card.<br />

For our bivariate system solving benchmarks, the input polynomials are dense and taken from Z p [x, y]<br />

randomly, with p = 469762049. Figure 1 shows the comparison of the running time with and without GPU<br />

acceleration. These data were obtained with an NVIDIA card Tesla 2050.<br />

127


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

Figure 1: Solving bivariate random dense polynomial systems over a finite field<br />

4 Concluding remarks<br />

One may ask whether the algorithms implemented in this work could also lead <strong>to</strong> a successful multicore<br />

implementation. We actually tried and the answer is no for sufficiently large input data. Indeed, our most<br />

powerful GPU card can efficiently handle a sampled subresultant chain with a size in the order of 1 GB.<br />

Since the construction of the sampled subresultant chain essentially consists of many traversals of this data<br />

structure, a multicore implementation will suffer from high rate of cache misses due <strong>to</strong> the fact that L2 <strong>to</strong><br />

L3 caches are <strong>to</strong>day in the order of several MBs.<br />

References<br />

[1] B. Boyer, J.-G. Dumas, and P. Giorgi. Exact sparse matrix-vec<strong>to</strong>r multiplication on gpu’s and multicore<br />

architectures. In Proceedings of PASCO ’10, pages 80–88, New York, NY, USA, 2010. ACM.<br />

[2] G.E. Collins. The calculation of multivariate polynomial resultants. Journal of the ACM, 18(4):515–532, 1971.<br />

[3] P. Emeliyanenko. A complete modular resultant algorithm targeted for realization on graphics hardware. In<br />

Proceedings of PASCO ’10, pages 35–43, New York, NY, USA, 2010. ACM.<br />

[4] J. von zur Gathen and J. Gerhard. Modern Computer Algebra. Cambridge University Press, 1999.<br />

[5] L. Jacquin, V. Roca, J.-L. Roch, and M. Al Ali. Parallel arithmetic encryption for high-bandwidth communications<br />

on multicore/gpgpu platforms. In Proceedings PASCO ’10 pages 73–79, New York, USA, 2010. ACM.<br />

[6] M. Kalkbrener. A generalized Euclidean algorithm for computing triangular representations of algebraic varieties.<br />

J. Symb. Comp., 15:143–167, 1993.<br />

[7] X. Li, M. Moreno Maza, and W. Pan. Computations modulo regular chains. In Proc. ISSAC’09, pages 239–246,<br />

New York, NY, USA, 2009. ACM Press.<br />

[8] X. Li, M. Moreno Maza, R. Rasheed, and É. Schost. The modpn library: Bringing fast polynomial arithmetic<br />

in<strong>to</strong> maple. In MICA’08, pages 73–80, 2008.<br />

[9] M. Moreno Maza and Y. Xie. Balanced dense polynomial multiplication on multicores. In Proc. of PDCAT’09.<br />

IEEE Computer Society, 2009.<br />

[10] M. Moreno Maza and Y. Xie. FFT-based dense polynomial arithmetic on multi-cores. In D.J.K. Mewhort,<br />

edi<strong>to</strong>r, Proc. HPCS 2009, volume 5976 of LNCS, Heidelberg, 2010. Springer-Verlag Berlin.<br />

[11] M. Moreno Maza and W. Pan. Fast polynomial arithmetic on a GPU. J. of Physics: Conf. Series, 256, 2010.<br />

128


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Inverting Matrices Modulo Regular Chains<br />

Marc Moreno Maza<br />

University of Western Ontario<br />

Paul Vrbik<br />

University of Western Ontario<br />

Every irreducible algebraic variety is uniquely determined by one of its generic points. Thus, algebraic<br />

varieties can be represented by describing the generic points of their irreducible components. These generic<br />

points can be given by regular chains [4]. Therefore, any algebraic variety V is uniquely determined by<br />

regular chains. Remarkably, algorithms computing those decompositions [4, 1] need not use polynomial<br />

fac<strong>to</strong>rization in<strong>to</strong> irreducibles. In fact, a regular chain may represent several irreducible components.<br />

Consequently, the ideal associated with a regular chain (i.e. its saturated ideal) may not be prime.<br />

The case of zero-dimensional varieties is of great practical interest. For instance, the authors of [2]<br />

have developed a probabilistic and modular algorithm for solving zero-dimensional polynomial systems<br />

with rational coefficients. Once a modular image of each output regular chain has been obtained (say by<br />

using an algorithm such as [1] modulo an appropriate prime number) a lifting step [7] yields the desired<br />

solutions. This lifting step boils down <strong>to</strong> inverting and multiplying matrices modulo regular chains. For<br />

sufficiently large problems, this matrix inversion is a bottleneck, mainly due <strong>to</strong> memory consumption in<br />

testing invertibility of an element modulo a regular chain. This latter operation is difficult <strong>to</strong> implement<br />

efficiently, particularly within a high-level interpreted programming language, as reported in [6].<br />

In this study, we propose an algorithm that resolves this difficulty. We rely on the Leverrier-Faddeev<br />

algorithm which requires only a single division <strong>to</strong> invert a matrix from R[x] m×m , where R is a ring [3]. The<br />

algorithm is easily unders<strong>to</strong>od by first considering the evaluation of a square matrix A at its characteristic<br />

polynomial<br />

p(λ) = det (λI − A) = λ m − a 1 λ m−1 − · · · − a m−1 λ − a m .<br />

After re-arranging terms and multiplying by A −1 we get<br />

(<br />

A −1 =<br />

A m−1 −<br />

m−1<br />

∑<br />

i=1<br />

a i A m−i−1 )<br />

and the algorithm ( of Leverrier and Faddeev indicates that the a k ’s can be obtained in a successive manner<br />

by a k = 1 k<br />

s k − ∑ )<br />

k−1<br />

i=1 s k−ia i , where s k = trace(A k ) and a 1 = s 1 .<br />

In order <strong>to</strong> invert a m we apply the algorithm recursively. Indeed, since T is zero-dimensional, the<br />

algebra Q[x 1 , . . . , x n ]/ 〈T 〉 has a finite monomial basis B. We consider the “matrix of multiplication”<br />

a −1<br />

m<br />

m f : Q[x 1 , . . . , x n ] ↦→ Q[x 1 , . . . , x n ]/ 〈T 〉<br />

α ↦→ fα<br />

such that m f ([g]) = [f] · [g] = [fg] which allows us <strong>to</strong> represent m f by its matrix with respect <strong>to</strong> B. Thus<br />

we can find the inverse of f by inverting its corresponding multiplication matrix.<br />

Using this approach <strong>to</strong> invert an m × m matrix modulo a regular chain T ⊂ Z p [x 1 , . . . , x n ] requires<br />

s<strong>to</strong>rage for O(2 m δ + m 2 δ + δσ) field elements where σ = ∏ degree xi<br />

(T i ) and δ = ∑ degree xi<br />

(T i ).<br />

129


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

For the approach based on extended GCD computations proposed in [5] the space complexity is given<br />

by (setting δ i = ∏ i<br />

j=1 d i and otherwise reusing the above notation) 2m 2 δ + O(2 n n 2 ) ∑ n<br />

( )<br />

i=2 d<br />

i−2<br />

i<br />

· δ i field<br />

elements.<br />

In Table 1 we compare (some) experimental results for two approaches: recursive Leverrier-Faddev<br />

algorithm and a method based on the Bareiss <strong>Algorithm</strong>. We choose a random dense regular chain T ⊂<br />

Z p [x 1 , . . . , x n ] with degree(T i ) = 6, p = 962592769 and varying n. Our matrix is a random (invertible)<br />

m × m matrix with dense entries from Z p [x 1 , . . . , x n ]/ 〈T 〉.<br />

Recursive Lev-Fad<br />

Bareiss<br />

Variables Matrix Size Time Space Time Space<br />

3 11 × 11 157.34s 0.10GB 1102.310s 0.18GB<br />

4 7 × 7 408.15s 0.11GB − 4.0GB<br />

5 1 × 1 800.43s 0.41GB ∗ > 4.0GB<br />

Table 1: Experimental Results. “−” means computation was cut off (after 1 hour) due <strong>to</strong><br />

over 90% memory usage. “∗” means that Maple ran out of memory.<br />

References<br />

[1] C. Chen and M. Moreno Maza. <strong>Algorithm</strong>s for computing triangular decompositions of polynomial<br />

systems. In ISSAC’11, 2011.<br />

[2] X. Dahan, M. Moreno Maza, É. Schost, W. Wu, and Y. Xie. Lifting techniques for triangular decompositions.<br />

In ISSAC’05, pages 108–115. ACM Press, 2005.<br />

[3] D. K. Faddeev and V. N. Faddeeva. Computational Methods of Linear Algebra. Freeman, San Francisco,<br />

1963.<br />

[4] M. Kalkbrener. A generalized euclidean algorithm for computing triangular representations of algebraic<br />

varieties. J. Symb. Comp., 15:143–167, 1993.<br />

[5] Xin Li, Marc Moreno Maza, and Wei Pan. Computations modulo regular chains. In Proceedings of the<br />

2009 international symposium on Symbolic and algebraic computation, ISSAC ’09, pages 239–246, New<br />

York, NY, USA, 2009. ACM.<br />

[6] Xin Li, Marc Moreno Maza, Raqeeb Rasheed, and Éric Schost. The modpn library: Bringing fast<br />

polynomial arithmetic in<strong>to</strong> maple. Journal of Symbolic Computation, In Press, Corrected Proof:–,<br />

2010.<br />

[7] Éric Schost. Computing parametric geometric resolutions. Applicable Algebra in Engineering, Communication<br />

and Computing, 13:349–393, 2003.<br />

130


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Isolated Real Zero of a Real Polynomial System under Perturbation ∗<br />

Hiroshi Sekigawa<br />

Department of Mathematics, Tokai University<br />

4-1-1 Kitakaname, Hiratsuka-shi, Kanagawa, 259-1292 Japan<br />

sekigawa@<strong>to</strong>kai-u.jp<br />

Kiyoshi Shirayanagi<br />

Department of Information Science, Toho University<br />

2-2-1 Miyama, Funabashi-shi, Chiba 274-8510, Japan<br />

kiyoshi.shirayanagi@is.sci.<strong>to</strong>ho-u.ac.jp<br />

When solving a system of empirical polynomials, one might be concerned whether properties of a zero<br />

such as multiplicity and uniqueness are preserved under perturbation of the coefficients. We consider such<br />

a problem for real polynomial systems and solve the problem by using the Kan<strong>to</strong>rovich theorem [2].<br />

Suppose that we are given polynomials f i ∈ R[x 1 , . . . , x n ] (1 ≤ i ≤ n) and a point x (0) ∈ R n such that<br />

(i) x (0) is an isolated simple real zero of the polynomial system f 1 = · · · = f n = 0 or its approximation<br />

and (ii) f ′ (x (0) ) is nonsingular, where f = (f 1 , . . . , f n ): R n → R n . When x (0) is an approximation of a<br />

real zero, we further assume that a special case of the Kan<strong>to</strong>rovich theorem below guarantees that the<br />

New<strong>to</strong>n iterates x (m+1) = x (m) − f ′ (x (m) ) −1 f(x (m) ) (m ≥ 0) are well-defined and converge <strong>to</strong> a unique<br />

simple real zero of the polynomial system f 1 = · · · = f n = 0 in a neighborhood of x (0) . Furthermore, for<br />

each i (1 ≤ i ≤ n), we are given polynomials u ij ∈ R[x 1 , . . . , x n ] (1 ≤ j ≤ m i ), where u i1 , . . . , u imi are<br />

linearly independent over R. Each u ij is an arbitrary polynomial (not necessarily a monomial) and its<br />

degree might be larger than that of f i . In this setting, we consider the following problem.<br />

Problem 1 Compute a positive value ɛ as large as possible and construct a neighborhood U of x (0) such<br />

that for each real polynomial ˜fi = f i + ∑ m i<br />

j=1 ɛ iju ij (1 ≤ i ≤ n) with |ɛ ij | ≤ ɛ, the polynomial system<br />

˜f 1 = · · · = ˜f n = 0 has a unique simple real zero in U.<br />

To solve Problem 1, we use Theorem 1 below, which is a special case of the Kan<strong>to</strong>rovich theorem [2].<br />

Problem 1 is one of the problems of “finding the nearest polynomial” [3] and could be solved by using<br />

other techniques, such as semidefinite programming (see [1] for example), than Theorem 1. Below, ‖v‖ ∞ =<br />

max{ |v 1 |, . . . , |v n | } for v = (v 1 , . . . , v n ) ∈ R n and ‖A‖ ∞ = max ‖v‖∞=1 ‖Av‖ ∞ = max 1≤i≤m<br />

∑ n<br />

j=1 |a ij| for<br />

an m × n matrix A = (a ij ). For c ∈ R n and r > 0, the open ball { x | ‖x − c‖ ∞ < r } and its closure are<br />

denoted by S(c, r) and S(c, r), respectively.<br />

Theorem 1 Let D ⊂ R n be an open convex set and F : D → R n be a differentiable map. Assume that, at<br />

some x (0) ∈ D, F ′ (x (0) ) is nonsingular and that<br />

Then:<br />

‖F ′ (x (0) ) −1 ‖ ∞ ≤ a, ‖F (x (0) )‖ ∞ ≤ b, ‖F ′ (x) − F ′ (y)‖ ∞ ≤ L‖x − y‖ ∞ (x, y ∈ D),<br />

0 < h = a 2 bL < 1/2, S(x (0) , t ∗ ) ⊂ D (t ∗ = 2ab/(1 + √ 1 − 2h)).<br />

∗ This work was supported by the Japan Society for the Promotion of Science through a Grant-in-Aid for Scientific Research<br />

(KAKENHI) 21500026.<br />

131


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

1. The New<strong>to</strong>n iterates x (m+1) = x (m) − F ′ (x (m) ) −1 F (x (m) ) (m ≥ 0) are well-defined, lie in S(x (0) , t ∗ ),<br />

and converge <strong>to</strong> a solution x ∗ of F (x) = 0.<br />

2. The solution x ∗ is unique in S(x (0) , (1 + √ 1 − 2h)/(aL)) ∩ D.<br />

The following theorem, which follows from Theorem 1, supports the computation method we will propose<br />

later.<br />

Theorem 2 Let f i , u ij ∈ R[x 1 , . . . , x n ] and x (0) ∈ R n be as described in Problem 1. Assume that Theorem<br />

1 holds for the map f = (f 1 , . . . , f n ): D ⊂ R n → R n , the point x (0) ∈ D, and constants a, b, and L.<br />

Let ˜f i = f i + ∆f i , where ∆f i = ∑ m i<br />

j=1 ɛ iju ij (1 ≤ i ≤ n) and ɛ be a positive real number. For any ɛ ij ∈ R<br />

with |ɛ ij | ≤ ɛ, assume that ˜f ′ (x (0) ) is nonsingular and that<br />

Then:<br />

‖ ˜f ′ (x (0) ) −1 ‖ ∞ ≤ ã, ‖∆f(x (0) )‖ ∞ ≤ ∆b, S(x (0) , 2ã˜b) ⊂ D (˜b = ‖f(x (0) )‖ ∞ + ∆b),<br />

‖∆f ′ (x) − ∆f ′ (y)‖ ∞ ≤ ∆L‖x − y‖ ∞ (x, y ∈ S(x (0) , 2ã˜b)), 0 < ã 2˜b(L + ∆L) < 1/2.<br />

1. The New<strong>to</strong>n iterates x (m+1) = x (m) − ˜f ′ (x (m) ) −1 ˜f(x (m) ) (m ≥ 0) are well-defined, lie in S(x (0) , 2ã˜b),<br />

and converge <strong>to</strong> a solution x ∗ ∈ S(x (0) , 2ã˜b) of ˜f(x) = 0.<br />

2. The solution x ∗ is unique in S(x (0) , 2ã˜b).<br />

We can compute ɛ as follows.<br />

1. Using Theorem 3 below, compute a sufficient condition for ˜f ′ (x (0) ) being nonsingular and the value<br />

of ã. We obtain the sufficient condition in the form of c 1 ɛ < 1 and ã = c 2 /(1 − c 1 ɛ), where c 1 and c 2<br />

are positive constants.<br />

2. By taking D as S(x (0) , r), compute ∆b and ∆L. We obtain ∆b = c 3 ɛ and ∆L = ɛp(r), where c 3 is a<br />

positive constant and p(r) ∈ R[r] with nonnegative coefficients.<br />

3. By setting r = 2ã˜b, write the inequality ã 2˜b(L + ∆L) < 1/2 in Theorem 2 as ã 2˜b(L + ɛp(2ã˜b)) < 1/2.<br />

Then, by substituting ã and ˜b for c 2 /(1 − c 1 ɛ) and ‖f(x (0) )‖ ∞ + c 3 ɛ, respectively, we obtain an<br />

inequality only in ɛ. By solving the inequality and c 1 ɛ < 1 in Step 1, we obtain a bound of ɛ and<br />

U = S(x (0) , 2c 2 (‖f(x (0) )‖ ∞ + c 3 ɛ)/(1 − c 1 ɛ)).<br />

Theorem 3 Let A be an n × n nonsingular matrix and let à be A + ∆A, where ∆A is a perturbation. If<br />

‖A −1 ∆A‖ ∞ < 1, then à is nonsingular and ‖Ã−1 ‖ ∞ ≤ ‖A −1 ‖ ∞ /(1 − ‖A −1 ∆A‖ ∞ ).<br />

One direction of future research is <strong>to</strong> analyze the efficiency of the method and the quality of the<br />

computed bounds theoretically or by comparing the method with other methods. Another direction is <strong>to</strong><br />

extend the results <strong>to</strong> systems having multiple zeros.<br />

References<br />

[1] S. Hut<strong>to</strong>n, E. Kal<strong>to</strong>fen and L. Zhi. Computing the radius of positive semidefiniteness of a multivariate<br />

real polynomial via a dual of Seidenberg’s method. In Proc. 2010 International Symposium on Symbolic<br />

and Algebraic Computation (ISSAC2010), pages 227–234, 2010.<br />

[2] L. V. Kan<strong>to</strong>rovich and G. P. Akilov. Functional Analysis in Normed Spaces. Pergamon, 1964.<br />

[3] H. J. Stetter. The nearest polynomial with a given zero, and similar problems, ACM <strong>SIGSAM</strong> Bulletin,<br />

33(4), pages 2–4, 1999.<br />

132


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Integration in Finite Terms of non-Liouvillian Functions<br />

Clemens G. Raab<br />

DK Computational Mathematics<br />

JKU Linz, Austria<br />

clemens.raab@risc.jku.at<br />

Introduction<br />

One standard approach in symbolic integration is <strong>to</strong> use differential fields for modeling the integrand and<br />

<strong>to</strong> construct an elementary extension of the field such that an indefinite integral can be found there. In<br />

[4] Risch published a complete algorithm for transcendental elementary functions. Since then this result<br />

has been extended <strong>to</strong> certain non-elementary integrands as well. We are working on designing a complete<br />

algorithm at least for a sufficiently general subclass of monomial extensions introduced in [1], thereby<br />

extending the results [6, 3] of a complete algorithm for (transcendental) Liouvillian extensions. In this<br />

poster we would like <strong>to</strong> report on recent progress.<br />

Problem statement<br />

In the following the derivation opera<strong>to</strong>r of a differential field is denoted by D, which models the differentiation<br />

of functions. We denote the subfield of constants by Const(F ) := {c ∈ F | Dc = 0}.<br />

Problem 1 (parametric elementary integration) Given a differential field (F, D) and several integrands<br />

f 0 , . . . , f m ∈ F . Compute in finitely many steps a vec<strong>to</strong>r space basis of all (c 0 , . . . , c m ) ∈ Const(F ) m+1<br />

such that the linear combination c 0 f 0 + · · · + c m f m has an elementary integral over (F, D), <strong>to</strong>gether with<br />

corresponding g’s from some elementary extension of (F, D) such that<br />

c 0 f 0 + · · · + c m f m = Dg.<br />

Note that having an elementary integral over (F, D), i.e., in an elementary extension of (F, D), does<br />

not imply that the integral has <strong>to</strong> be an elementary function itself. The representation of non-Liouvillian<br />

functions is based on Riccati-type differential equations, as defined below.<br />

Definition 2 We call a differential field (F, D) = (C(t 1 , . . . , t n ), D) admissible, if all t i are algebraically<br />

independent over C, Const(F ) = C, and for each t i either t i is a Liouvillian monomial over F i :=<br />

C(t 1 , . . . , t i−1 ) or there is a q ∈ F i [t i ], with deg(q) ≥ 2, such that Dt i = q(t i ) and Dy = q(y) does<br />

not have a solution y ∈ F i .<br />

Results<br />

We present a decision procedure for solving the above problem over a certain class of admissible differential<br />

fields. A simplified version of the results obtained can be stated as follows.<br />

Theorem 3 Let (F, D) = (C(t 1 , . . . , t n ), D) be an admissible differential field with the restriction that it<br />

may involve at most two non-Liouvillian monomials, which then have <strong>to</strong> be at consecutive positions. Then<br />

we can solve the parametric elementary integration problem over (F, D).<br />

133


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

In order <strong>to</strong> be able <strong>to</strong> obtain this complete algorithm, apart from generalizing the theory from the<br />

Liouvillian case <strong>to</strong> this general setting, it turns out that the auxiliary problem of solving Risch differential<br />

equations is not enough anymore for this general type of integrands. Instead one has <strong>to</strong> be able <strong>to</strong> solve<br />

linear ODEs of higher order with parametric right hand sides in their coefficient field, which we do by<br />

results similar <strong>to</strong> [5, 2].<br />

Examples<br />

In addition <strong>to</strong> indefinite integrals of Liouvillian functions like<br />

∫ Li3 (x) − xLi 2 (x)<br />

(1 − x) 2 dx = x<br />

1 − x (Li 3(x) − Li 2 (x)) +<br />

ln(1 − x)2<br />

,<br />

2<br />

where Li n (x) are polylogarithms, the non-Liouvillian functions this algorithm is able <strong>to</strong> handle include<br />

integrals like<br />

∫<br />

xE(x) 2<br />

(1 − x 2 )(E(x) − K(x)) 2 dx = E(x)<br />

E(x) − K(x) − ln(x) and ∫<br />

1<br />

xJ n (x)Y n (x) dx = π ( )<br />

2 ln Yn (x)<br />

,<br />

J n (x)<br />

where K(x), E(x) are the complete elliptic integrals of first and second kind and J n (x), Y n (x) are Bessel<br />

functions. The non-Liouvillian functions in the input class may also involve most of the orthogonal polynomials<br />

with symbolic parameters and other hypergeometric functions.<br />

Application <strong>to</strong> parameter integrals<br />

Being able <strong>to</strong> find linear combinations of several integrands enables us <strong>to</strong> find linear relations among the<br />

corresponding definite integrals. In particular, recurrences or differential equations satisfied by (definite)<br />

parameter integrals can be obtained and are useful in practice. Examples will be given.<br />

References<br />

[1] Manuel Bronstein, A Unification of Liouvillian extensions, Applicable Algebra in Engineering, Communication<br />

and Computing 1, pp. 5–24, 1990.<br />

[2] Manuel Bronstein, On Solutions of Linear Ordinary Differential Equations in their Coefficient Field,<br />

J. Symbolic Computation 13, pp. 413–439, 1992.<br />

[3] Clemens G. Raab, Integration in finite terms for Liouvillian functions, poster presentation at DART4,<br />

Beijing, China, Oc<strong>to</strong>ber 27-30, 2010.<br />

[4] Robert H. Risch, The problem of integration in finite terms, Trans. Amer. Math. Soc. 139, pp. 167–189,<br />

1969.<br />

[5] Michael F. Singer, Liouvillian Solutions of Linear Differential Equations with Liouvillian Coefficients,<br />

J. Symbolic Computation 11, pp. 251–273, 1991.<br />

[6] Michael F. Singer, B. David Saunders, Bob F. Caviness, An Extension of Liouville’s Theorem on<br />

Integration in Finite Terms, SIAM J. Comput. 14, pp. 966–990, 1985.<br />

134


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Using Resultants for Inductive Gröbner Bases Computation<br />

Hamid Rahkooy, Zafeirakis Zafeirakopoulos<br />

Research Institute for Symbolic Computation (RISC)<br />

Doc<strong>to</strong>ral Program Computational Mathematics (DK)<br />

Johannes Kepler University, Austria<br />

{rahkooy,zafeirakopoulos}@risc.jku.at<br />

1 Outline<br />

In his PhD thesis, B. Buchberger introduced the concept of Gröbner basis and gave an algorithm <strong>to</strong> compute<br />

it [1]. Later on a number of inductive algorithms for computing Gröbner bases appeared, which employ<br />

induction on the number of polynomials in the given basis of the ideal. For the slightly different but related<br />

problem of ideal membership, G. Hermann [3] proceeds by induction on the number of variables. In this<br />

work we are aiming <strong>to</strong> give an inductive approach <strong>to</strong> Gröbner bases computation of a radical ideal with<br />

induction over the variables. To this end we employ resultants, which is an important <strong>to</strong>ol in elimination<br />

theory [2].<br />

Throughout this text we will use the following notation and conventions. K is an algebraically closed<br />

field of characteristic 0. We fix the lexicographic term order > with x 1 > x 2 > . . . > x n . I is a radical<br />

ideal of the polynomial ring K[x 1 , x 2 , . . . , x n ], generated by F = {f 1 , f 2 , . . . , f s }. By I i we denote the i-th<br />

elimination ideal of I, I ∩ K[x i+1 , . . . , x n ]. Res(F ) denotes the set of the resultants of pairs of polynomials<br />

in F , {res x1 (f i , f j )|1 ≤ i < j ≤ s}. Spol and NF will stand for s-polynomial and normal form.<br />

The main idea is <strong>to</strong> compute the reduced Gröbner basis in two phases. In the first phase we recursively<br />

project the given ideal I in<strong>to</strong> its elimination ideals I 1 , I 2 , . . . , I k until we cannot project anymore. The<br />

following proposition gives us a method <strong>to</strong> do the projection.<br />

Proposition 1. Assume that ∀f ∈ F, deg x1<br />

(f) > 0. Then √ 〈Res(F )〉 = I 1 .<br />

In the second phase we inductively compute the reduced Gröbner basis starting from the last elimination<br />

ideal until we reach the reduced Gröbner basis of the given ideal, using the following observation.<br />

Observation 1. If G i denotes the reduced Gröbner basis of I i for 1 ≤ i ≤ n, then G i ⊆ G i−1 .<br />

2 Method<br />

1. Project F in<strong>to</strong> the sets F 1 , F 2 , . . . F k , where F i is a generating set of I i in the following way:<br />

(a) T := F, i = 1<br />

(b) While T K do<br />

i. T ′ := {f ∈ T | deg xi<br />

(f) = 0}<br />

ii. Compute Res ′ := Res(T \T ′ )<br />

iii. T := √ 〈T ′ ∪ Res ′ 〉<br />

iv. F i := T , i = i + 1<br />

(c) k = i − 1<br />

135


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

2. Compute G k in the following way:<br />

(a) If F k contains only univariate polynomials then G k = gcd(F k )<br />

(b) Otherwise run Buchberger’s algorithm on F k <strong>to</strong> obtain G k<br />

3. Reduce F i−1 by G i in the following way(denoted by red(F i−1 , G i )):<br />

(a) consider F i−1 ⊂ K[x i+1 , · · · , x n ][x i ].<br />

(b) take polynomials in F i−1 , reduce their coefficients by G i and replace them in F i−1 .<br />

4. Compute G i−1 in the following way:<br />

(a) Compute {NF (Spol(f, g))|f, g ∈ F i−1 \ (F i−1 ∩ K[x i , . . . , x n ])}<br />

(b) Compute {NF (Spol(f, g))|f ∈ F i−1 \ (F i−1 ∩ K[x i , . . . , x n ]), g ∈ G i }<br />

(c) Run Buchberger’s algorithm on the union of the sets above and au<strong>to</strong>reduce<br />

Example<br />

Let F = {x 2 1 + x2 2 − x2 3 − 1, x 1 − x 2 , −x 2 2 + x2 3 } ⊂ K[x 1, x 2 , x 3 ]. Then<br />

Down ⏐ ⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐↓−→<br />

↑ ⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐⏐ Up<br />

F {x 2 1 + x2 2 − x2 3 − 1, x 1 − x 2 , −x 2 2 + x2 3 } G {x2 2 − 1, x2 3 − 1, x 1 − x 2 }<br />

T ′ {−x 2 2 + x2 3 } Run Step 4 on G 1 and red(F, G 1 )<br />

Res ′ Res({x 2 1 + x2 2 − x2 3 − 1, x 1 − x 2 }) = {2x 2 2 − x2 3 − 1} red(F, G 1) {x 2 1 − 1, x 1 − 1}<br />

F 1 {−x 2 2 + x2 3 , 2x2 2 − x2 3 − 1} G 1 {x 2 2 − 1, x2 3 − 1}<br />

T ′ {} Run Step 4 on G 2 and red(F 1 , G 2 )<br />

Res ′ Res({−x 2 2 + x2 3 , 2x2 2 − x2 3 − 1}) = {x4 3 − 2x2 3 + 1} red(F 1, G 2 ) {−x 2 2 + 1, 2x2 2 − 2}<br />

F 2 {x 2 3 − 1} G 2 {x 2 3 − 1}<br />

3 Future Directions<br />

The following are the main open problems that we are concerned with:<br />

• Under what assumptions is 〈Res(F )〉 a radical ideal? We assume that I is a radical ideal. How can<br />

this restriction be lifted?<br />

• In the first phase, could we benefit by employing different ways of resultant computation?<br />

• In the second phase we employ Buchberger’s <strong>Algorithm</strong>. Is there any way, exploiting the already<br />

computed G i <strong>to</strong> detect G i−1 without computing the normal form of S-polynomials?<br />

• What is the complexity of the steps? Is the method efficient in practice?<br />

References<br />

[1] B. Buchberger, Ein <strong>Algorithm</strong>us zum Auffinden der Basiselemente des Restklassenringes nach einem<br />

nulldimensionalen Polynomideal, University of Innsbruck, 1965.<br />

[2] I. M. Gelfand, M. M. Kapranov, A. V. Zelevinsky, Discriminants, Resultants and Multidimensional<br />

Determinants, Birkhäuser, 1994.<br />

[3] G. Hermann, Die Frage der endlich vielen Schritte in der Theorie der Polynomideale, Math. Ann.,<br />

95:736-788, 1926.<br />

136


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Gröbner Bases and Generalized Sylvester Matrices<br />

Manuela Wiesinger-Widi ∗<br />

Doc<strong>to</strong>ral Program Computational Mathematics<br />

Johannes Kepler University Linz<br />

4040 Linz, Austria<br />

manuela.wiesinger@dk-compmath.jku.at<br />

In his PhD thesis [1], Buchberger introduced the notion of Gröbner bases and gave the first algorithm<br />

for computing them. Since then, extensive research has been done in order <strong>to</strong> reduce the complexity of the<br />

computation. But nevertheless, even for small examples the computation sometimes does not terminate in<br />

reasonable time.<br />

There are basically two approaches for computing a Gröbner basis. The first is the one pursued by<br />

the Buchberger algorithm: We start from the initial set F , execute certain reduction steps (consisting<br />

of multiplication of polynomials by terms — called shifts — and subtraction of polynomials) and due<br />

<strong>to</strong> Buchberger’s theorem, which says that the computation is finished if all the s-polynomials reduce <strong>to</strong><br />

zero, we know that after finitely many iterations of this procedure we obtain a Gröbner basis of the ideal<br />

generated by F . The second approach is <strong>to</strong> start from F , execute certain shifts of the initial polynomials<br />

in F , arrange them as rows in a matrix, triangularize this matrix and from the resulting matrix extract a<br />

Gröbner basis.<br />

In project DK1 of the Doc<strong>to</strong>ral Program, which was proposed by Buchberger, we pursue the second<br />

approach and seek <strong>to</strong> improve the theory in order <strong>to</strong> speed up the Gröbner bases computation. This<br />

approach has been studied a couple of times in the past, but never thoroughly. The immediate question<br />

is: Does there exist a finite set of shifts such that a triangularization of the matrix built by these shifts<br />

yields a Gröbner basis and, if so, how can we construct these shifts? We give first results in answering this<br />

question. In the following, let K be a field.<br />

In the univariate case, Gröbner bases computation specializes <strong>to</strong> gcd computation. In [3] (see also [4] for<br />

a good overview on this <strong>to</strong>pic), Habicht establishes a connection between the computation of polynomial<br />

remainder sequences and linear algebra. More specifically, the problem of finding a gcd of two polynomials<br />

f, g ∈ K[x] with degrees m and n, respectively, where m ≥ n, can be solved by triangularizing the matrix<br />

M = mat(x n−1 f, x n−2 f, . . . , f, x m−1 g, x m−2 g, . . . , g),<br />

i.e. the Sylvester matrix of f and g. If the resulting triangularized matrix is arranged as a right upper<br />

triangular matrix, the bot<strong>to</strong>m most non-zero row corresponds <strong>to</strong> a gcd of the polynomials f and g.<br />

As a first step we generalize this method <strong>to</strong> the case of r univariate polynomials with r ≥ 2. Such<br />

generalizations have been done before (see [5],[2]). Those, however, resulted in bigger matrices.<br />

Theorem 1 Let F = {f 1 , . . . , f r } ⊂ K[x] \ {0} with r ≥ 2 and with f r having minimal degree n ≥<br />

1 among the polynomials in F . Let m be the maximal degree of the polynomials in F . Let M :=<br />

mat(x n−1 f 1 , x n−2 f 1 , . . . , f 1 , . . . , x n−1 f r−1 , x n−2 f r−1 , . . . , f r−1 , x m−1 f r , x m−2 f r , . . . , f r ) and let M ′ be a matrix<br />

obtained by triangularizing M.<br />

Then the polynomial corresponding <strong>to</strong> the non-zero row of lowest degree in M ′ is a gcd of the polynomials<br />

in F .<br />

∗ This project is funded by the Austrian Science Fund (FWF) under grant W1214/DK1.<br />

137


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

For the proof of Theorem 1 see [6].<br />

In the multivariate case the problem is much more difficult. We show that by carefully tracing the<br />

computations in the Gröbner bases algorithm we can in an inductive way come up with shifts sufficient<br />

for computing a Gröbner basis of input set F by matrix triangularization. These shifts are collected in the<br />

his<strong>to</strong>ry tuple hist(F ). The details can be found in [7].<br />

For a his<strong>to</strong>ry tuple s the matrix matrix(s) is built by representing the polynomials occurring in s as<br />

vec<strong>to</strong>rs (indexed by terms) and arranging them as its rows in some order.<br />

Let M be a triangular matrix of polynomials over K. We define<br />

con<strong>to</strong>ur(M) := {f in M : f ≠ 0 ∧<br />

∀<br />

g in M<br />

g≠0∧g≠f<br />

lt(g) ∤ lt(f)}.<br />

The following theorem states that for every finite input set F of non-zero polynomials there exists a<br />

finite set of shifts of the polynomials in F such that a triangularization of the matrix built by these shifts<br />

provides a Gröbner basis.<br />

Theorem 2 Let F ⊆ K[x 1 , . . . , x n ] \ {0} be finite, |F | > 1. Then for all M, which can be obtained by<br />

triangularizing matrix(hist(F )), con<strong>to</strong>ur(M) is a Gröbner basis of Ideal(F ).<br />

Theorem 2 gives a construction of such a matrix, but since we need a Gröbner bases computation <strong>to</strong><br />

get the necessary shifts, this is of course only one step in answering the question of how <strong>to</strong> get such shifts<br />

a priori, without previous Gröbner bases computation.<br />

We are working on obtaining the initial matrix of necessary shifts without having a previous Gröbner<br />

bases computation.<br />

References<br />

[1] Bruno Buchberger. An <strong>Algorithm</strong> for Finding the Basis Elements in the Residue Class Ring Modulo<br />

a Zero Dimensional Polynomial Ideal (german). Mathematical Institute, University of Innsbruck,<br />

Austria. PhD Thesis. 1965. English translation in J. of Symbolic Computation, Special Issue on Logic,<br />

Mathematics, and Computer Science: Interactions. Vol. 41, Number 3-4, pages 475–511, 2006.<br />

[2] Stavros Fa<strong>to</strong>uros and Nicos Karcanias. Resultant Properties of GCD of Many Polynomials and a<br />

Fac<strong>to</strong>rization Representation of GCD. International Journal of Control, Vol. 76, Issue 16, pp. 1666–<br />

1683, 2003.<br />

[3] Walter Habicht. Eine Verallgemeinerung des Sturmschen Wurzelzählverfahrens. Comm. Math. Helvetici<br />

21, pp. 99–116, 1948.<br />

[4] Rüdiger Loos. Generalized Polynomial Remainder Sequences. In Computer Algebra: Symbolic and<br />

Algebraic Computation, pp. 115–137, Springer-Verlag, 1982.<br />

[5] A.I.G. Vardulakis and P.N.R. S<strong>to</strong>yle. Generalized Resultant Theorem. IMA Journal of Applied<br />

Mathematics, Vol. 22, Issue 3, pp. 331–335, 1978.<br />

[6] Manuela Wiesinger-Widi. Sylvester Matrix and GCD for Several Univariate Polynomials. Technical<br />

report, DK Computational Mathematics, JKU, Linz, Austria, 2011. In preparation.<br />

[7] Manuela Wiesinger-Widi. Towards Computing a Gröbner Basis of a Polynomial Ideal Over a Field<br />

by Using Matrix Triangularization. Technical report, DK Computational Mathematics, JKU, Linz,<br />

Austria, 2011. In preparation.<br />

138


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

New Approaches <strong>to</strong> Boolean Quantifier Elimination<br />

Chris<strong>to</strong>ph Zengler, Andreas Kübler and Wolfgang Küchlin<br />

Wilhelm-Schickard-Institute for Informatics<br />

University of Tübingen<br />

Tübingen, Germany, 72076<br />

{zengler,kuebler,kuechlin}@informatik.uni-tuebingen.de<br />

Abstract<br />

We present four different approaches for existential Boolean quantifier elimination, based on model<br />

enumeration, resolution, knowledge compilation with projection, and substitution. We point out possible<br />

applications in the area of verification and we present preliminary benchmark results of the different<br />

approaches.<br />

1 Introduction<br />

In the last decade formal verification has benefitted greatly from the developments in the Boolean logic<br />

community. Symbolic or bounded model checking relies heavily on SAT solvers and BDD packages. In<br />

our work we want <strong>to</strong> incorporate <strong>to</strong>ols and techniques from this community <strong>to</strong> develop new algorithms for<br />

Boolean quantifier elimination (BQE). In this paper we present four different approaches for existential<br />

BQE.<br />

BQE is already used in many different contexts in the area of verification and we additionally spotted<br />

some new interesting applications. We can only mention a few examples here: (1) BQE lies at the heart of<br />

one of the core operations in symbolic model checking: image computation. (2) With BQE we can compute<br />

all paths that lead <strong>to</strong> an error state in a state transition system. That can be used <strong>to</strong> construct metrics <strong>to</strong><br />

measure the severity of errors in e.g. software systems. (3) One can utilize BQE <strong>to</strong> find generalized counter<br />

examples for errors, i.e. what properties do all inputs have in common that lead <strong>to</strong> an error. (4) BQE<br />

can be used <strong>to</strong> compute Craig interpolants which have recently gained much interest in the verification<br />

community as they facilitate e.g. au<strong>to</strong>matic predicate abstraction as well as purely SAT-based unbounded<br />

model checking.<br />

2 Approaches for Boolean Quantifier Elimination<br />

Model Enumeration with Projection Boolean model enumeration means listing all variable assignments<br />

which turn a formula <strong>to</strong> true. Current <strong>to</strong>ols [1] can enumerate models w. r. t. a given subset<br />

of variables. One can easily transform this set of satisfying assignments in<strong>to</strong> a new formula which is a<br />

quantifier-free equivalent <strong>to</strong> the original formula.<br />

Variable Elimination by Clause Distribution The ideas for this approach go back <strong>to</strong> Davis and<br />

Putnam and were recently used for variable elimination in the QBF Solver Quan<strong>to</strong>r [2]. To eliminate an<br />

existentially quantified variable x we (1) perform all resolutions on x and (2) remove all clauses containing<br />

x in either phase. In the special case that x occurs only in one phase in the clause set, step (1) is omitted.<br />

139


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

DNNF Computation with Projection DNNF (decomposable negation normal form) is a knowledge<br />

compilation format for Boolean functions which is considered <strong>to</strong> be more succinct than BDDs [3]. DNNF<br />

representations of a formula ϕ in negation normal form are gathered by enforcing the decompositional<br />

property, i.e. for every sub-formula ρ = ∧ i ψ i of ϕ we require vars(ψ i ) ∩ vars(ψ j ) = ∅ for all i ≠ j. After<br />

transforming a formula <strong>to</strong> its DNNF representation, a projection (and therefore an existential BQE) can<br />

be computed in polynomial time in |ϕ|.<br />

Substitute & Simplify The principle of substitute & simplify goes back <strong>to</strong> the work of Boole and<br />

Shannon. In [4] this idea was extended <strong>to</strong> a quantifier elimination procedure for existential (and universal)<br />

quantifiers. We can eliminate a single existential quantifier with ∃xϕ ⇐⇒ ϕ[1/x] ∨ ϕ[0/x] (substitue) and<br />

simplify the formula afterwards.<br />

3 First Results & Outlook<br />

We implemented the first three approaches on <strong>to</strong>p of state-of-the art <strong>to</strong>ols. For evaluation we chose 1500<br />

instances of QF BV, an SMT benchmark set for bit-vec<strong>to</strong>r arithmetic. Clause distribution worked only<br />

for formulas with a small number of quantified variables, but on the plus side preserves the CNF of the<br />

formula. With the DNNF approach we could solve 893 formulas within a time limit of one hour per<br />

instance. A slightly improved version (with a SAT Solver as preprocessor) could solve 969 formulas. The<br />

model enumeration approach could solve 1033 instances within the same time limit.<br />

As the next step we want <strong>to</strong> combine these different approaches. On the one hand we want <strong>to</strong> build<br />

a portfolio-based procedure, i.e. choosing the statistically “best” approach w. r. t. the formula structure<br />

and the requirements for the output formula. On the other hand we want <strong>to</strong> interweave the different<br />

approaches <strong>to</strong> an algorithm which can dynamically switch between the presented procedures, e.g. perform<br />

clause distribution on variables where the number of newly introduced clauses is under a certain threshold<br />

and then proceed with another approach.<br />

References<br />

[1] Gebser, M., Kaufmann, B., Schaub, T.: Solution enumeration for projected boolean search problems.<br />

In: Proceedings of CPAIOR 2009. Springer-Verlag, Berlin, Heidelberg (2009) 71–86<br />

[2] Biere, A.: Resolve and expand. In: Proceedings of SAT 2004. Volume 3542 of LNCS. Springer-Verlag,<br />

Berlin, Heidelberg (2005) 59–70<br />

[3] Darwiche, A.: Decomposable negation normal form. Journal of the ACM 48(4) (2001) 608–647<br />

[4] Seidl, A.M., Sturm, T.: Boolean quantification in a first-order context. In: Proceedings of CASC 2003.<br />

Technische Universität München, Garching (2003) 329–345<br />

140


ACM Communications in Computer Algebra, Vol. 45, No. 2, Issue 176, June 2011<br />

Boolean Gröbner Bases in SAT Solving<br />

Chris<strong>to</strong>ph Zengler and Wolfgang Küchlin<br />

Wilhelm-Schickard-Institute for Informatics<br />

University of Tübingen<br />

Tübingen, Germany, 72076<br />

{zengler,kuechlin}@informatik.uni-tuebingen.de<br />

Abstract<br />

We want <strong>to</strong> incorporate the reasoning power of Boolean Gröbner bases in<strong>to</strong> modern SAT solvers.<br />

There are many starting points where <strong>to</strong> plug in the Gröbner bases engine in the SAT solving process.<br />

As a first step we chose the learning part where new consequences (lemmas) of the original formula are<br />

deduced. This paper shows first promising results, also published at the CASC 2010 in Armenia [1].<br />

1 Introduction<br />

In the last years SAT solvers became a vital <strong>to</strong>ol in computing solutions for problems e.g. in computational<br />

biology or especially in formal verification. The vast majority of SAT solvers successfully applied <strong>to</strong> realworld<br />

problems uses the DPLL approach and operates on CNF formulas. An important break-through<br />

was the development of clause learning SAT solvers (see [2, chapter 4]), which use an optimized form of<br />

resolution dynamically in conflict situations <strong>to</strong> deduce (“learn”) a limited number of lemmas, so called<br />

conflict clauses.<br />

Current SAT solvers learn exactly one lemma per conflict and try <strong>to</strong> minimize this clause. On the other<br />

hand it is known that binary clauses are very helpful <strong>to</strong> prune the search space early. So the idea is <strong>to</strong><br />

deduce new binary clauses from each conflict with the help of Boolean Gröbner bases.<br />

2 The Incorporation of Boolean Gröbner Bases<br />

Following the DPLL approach, the SAT solver assigns truth values <strong>to</strong> variables until either the formula is<br />

satisfied or there is a conflict, i.e. the formula is unsatisfiable under the current variable assignment. In<br />

the latter case, we take all clauses involved in this conflict and compute a new clause via resolution. This<br />

clause then forces backtracking and a new part of the search tree is examined.<br />

For our approach we choose the Boolean ring B = B ↔ [x 1 , . . . , x n ]/ Id(x 2 1 + x 1, . . . , x 2 n + x n ) with the<br />

coefficient ring B ↔ = (↔, ∨, T, F) We collect all clauses c involved in the conflict at hand and s<strong>to</strong>re their<br />

polynomial representation p(c) w. r. t. the Boolean ring B in a set R. We compute a Gröbner basis<br />

G = gb(R ∪ F), where F is the set of idempotency polynomials x 2 + x for all variables x in ⋃ p∈R vars(p).<br />

We collect all polynomials p ∈ G \ R with | vars(p)| = 2 and add their corresponding clause representation<br />

clause(p) <strong>to</strong> a set L. The clauses of L are then added <strong>to</strong> the original set of clauses at an appropriate time<br />

in the solving process.<br />

Since current Gröbner basis packages cannot cope with large polynomial systems, we have <strong>to</strong> restrict<br />

the set R in number and length of polynomials. In our current experiments we compute only Gröbner<br />

bases of subsets R ′ ⊆ R, where there are between 4 and 6 underlying clauses with 2 <strong>to</strong> 8 literals. We<br />

found these numbers by extensive testing. Choosing more or larger reason clauses often leads <strong>to</strong> long BGB<br />

141


Vol. 45, No. 2, Issue 176, June 2011<br />

ISSAC 2011 Posters<br />

computations and therefore slows down the overall solving process. Taking fewer or shorter reason clauses<br />

does often not produce new binary clauses and therefore does not speed up the solving process.<br />

3 Results<br />

We implemented our approach on <strong>to</strong>p of the publically available 2007 version of MiniSat. For the Gröbner<br />

bases computations we used the package cgb with lexicographical term ordering for all computations. cgb<br />

is implemented in the open-source Computer Algebra system Reduce and it is used within the logic package<br />

Redlog for various quantifier elimination procedures and for a simplifier based on Gröbner bases. So far we<br />

used cgb as a black box and therefore other (more efficient Boolean) Gröbner basis implementations could<br />

easily be substituted. However, with the current heuristics, we spend only about 1/1000 of the overall time<br />

in the Gröbner basis computations.<br />

As benchmark set we chose all 84 instances of the SAT 2009 competition, which could be solved by<br />

MiniSat in less than 10,000 s. Our approach clearly outperforms the original MiniSat. This is mainly<br />

because our implementation performs especially well on the large and hard benchmark instances of the<br />

benchmark set. Accumulating all instances, we produce 13.8% fewer conflicts and therefore save 23.5% of<br />

solving time. In the best cases, we could achieve speedup fac<strong>to</strong>rs up <strong>to</strong> 3.3 (621.2 s vs. 2195.3 s).<br />

4 Ongoing Research<br />

There are still many open questions. Are there better heuristics when <strong>to</strong> compute a Gröbner basis, based<br />

not only on the number and length of clauses? Can we profit from results about the impact of term<br />

orderings? Can we learn slightly longer clauses that are still useful? How much improvement is possible by<br />

going <strong>to</strong> a dedicated implementation of Boolean Gröbner bases? We want <strong>to</strong> compute the Gröbner bases<br />

not only of the clauses of one conflict but also of the collected clauses of different conflicts. These Gröbner<br />

bases could then be used <strong>to</strong> perform simplifications of the problem. This seems especially interesting since<br />

with a first implementation of our simple approach in the new Version of MiniSat, we could not yield<br />

results as good as with the 2007 version.<br />

References<br />

[1] Zengler, C., Küchlin, W.: Extending clause learning of sat solvers with boolean gröbner bases. In: Computer<br />

Algebra in Scientific Computing. Volume 6244 of Lecture Notes in Computer Science. Springer,<br />

Berlin, Heidelberg, Germany (2010)<br />

[2] Biere, A., Heule, M., van Maaren, H., Walsh, T., eds.: Handbook of Satisfiability. Volume 185 of<br />

Frontiers in Artificial Intelligence and Applications. IOS Press (2009)<br />

The abstracts of the ISSAC 2011 software demonstrations will appear in the next issue.<br />

142


ACM Communications in Computer Algebra, Issue 176, Vol. 45, No. 2, June 2011<br />

Abstracts of Recent Doc<strong>to</strong>ral Dissertations in<br />

Computer Algebra<br />

Communicated by Jeremy Johnson<br />

Each month we are pleased <strong>to</strong> present abstracts of recent doc<strong>to</strong>ral dissertations in Computer Algebra<br />

and Symbolic Computation. We encourage all recent Ph.D. graduates (and their supervisors), who<br />

have defended in the past two years, <strong>to</strong> submit their abstracts for publication in CCA.<br />

Please send abstracts <strong>to</strong> the CCA edi<strong>to</strong>rs for consideration.<br />

Author: Burcin Erocal<br />

Title: Algebraic extensions for summation in finite terms<br />

Institution: Research Institute for Symbolic Computation<br />

Thesis Advisor: Carsten Schneider and Peter Paule<br />

Committee Members: Carsten Schneider and Marko Petkovšek<br />

The main result of this thesis is an effective method <strong>to</strong> extend Karr’s symbolic summation framework<br />

<strong>to</strong> algebraic extensions. These arise, for example, when working with expressions involving (−1) n .<br />

An implementation of this method, including a modernised version of Karr’s algorithm is also<br />

presented.<br />

Karr’s algorithm is the summation analogue of the Risch algorithm for indefinite integration. In<br />

the summation case, <strong>to</strong>wers of specialized difference fields called ΠΣ-fields are used <strong>to</strong> model nested<br />

sums and products. This is similar <strong>to</strong> the way elementary functions involving nested logarithms<br />

and exponentials are represented in differential fields in the integration case.<br />

In contrast <strong>to</strong> the integration framework, only transcendental extensions are allowed in Karr’s<br />

construction. Algebraic extensions of ΠΣ-fields can even be rings with zero divisors. Karr’s methods<br />

rely heavily on the ability <strong>to</strong> solve first-order linear difference equations and they are no longer<br />

applicable over these rings.<br />

Based on Bronstein’s formulation of a method used by Singer for the solution of differential<br />

equations over algebraic extensions, we transform a first-order linear equation over an algebraic<br />

extension <strong>to</strong> a system of first-order equations over a purely transcendental extension field. However,<br />

this domain is not necessarily a ΠΣ-field. Using a structure theorem by Singer and van der Put, we<br />

reduce this system <strong>to</strong> a single first-order equation over a ΠΣ-field, which can be solved by Karr’s<br />

algorithm. We also describe how <strong>to</strong> construct <strong>to</strong>wers of difference ring extensions on an algebraic<br />

extension, where the same reduction methods can be used.<br />

A common bottleneck for symbolic summation algorithms is the computation of nullspaces of<br />

matrices over rational function fields. We present a fast algorithm for matrices over Q(x) which<br />

uses fast arithmetic at the hardware level with calls <strong>to</strong> BLAS subroutines after modular reduction.<br />

This part is joint work with Arne S<strong>to</strong>rjohann.<br />

143


Dissertation Abstracts<br />

Author: Daniel S. Roche<br />

Title: Efficient Computation with Sparse and Dense Polynomials<br />

Institution: University of Waterloo<br />

Thesis Advisor: Mark Giesbrecht and Arne S<strong>to</strong>rjohann<br />

Committee Members: Erich Kal<strong>to</strong>fen, Kevin Hare, Ian Munro, Jeffrey Shallit.<br />

Defense Date: April 11, 2011<br />

Computations with polynomials are at the heart of any computer algebra system and also<br />

have many applications in engineering, coding theory, and cryp<strong>to</strong>graphy. Generally speaking, the<br />

low-level polynomial computations of interest can be classified as arithmetic operations, algebraic<br />

computations, and inverse symbolic problems. New algorithms are presented in all these areas<br />

which improve on the state of the art in both theoretical and practical performance.<br />

Traditionally, polynomials may be represented in a computer in one of two ways: as a “dense”<br />

array of all possible coefficients up <strong>to</strong> the polynomial’s degree, or as a “sparse” list of coefficientexponent<br />

tuples. In the latter case, zero terms are not explicitly written, giving a potentially more<br />

compact representation.<br />

In the area of arithmetic operations, new algorithms are presented for the multiplication of dense<br />

polynomials. These have the same asymp<strong>to</strong>tic time cost of the fastest existing approaches, but<br />

reduce the intermediate s<strong>to</strong>rage required from linear in the size of the input <strong>to</strong> a constant amount.<br />

Two different algorithms for so-called “adaptive” multiplication are also presented which effectively<br />

provide a gradient between existing sparse and dense algorithms, giving a large improvement in<br />

many cases while never performing significantly worse than the best existing approaches.<br />

Algebraic computations on sparse polynomials are considered as well. The first known polynomialtime<br />

algorithm <strong>to</strong> detect when a sparse polynomial is a perfect power is presented, along with two<br />

different approaches <strong>to</strong> computing the perfect power fac<strong>to</strong>rization.<br />

Inverse symbolic problems are those for which the challenge is <strong>to</strong> compute a symbolic mathematical<br />

representation of a program or “black box”. First, new algorithms are presented which<br />

improve the complexity of interpolation for sparse polynomials with coefficients in finite fields or<br />

approximate complex numbers. Second, the first polynomial-time algorithm for the more general<br />

problem of sparsest-shift interpolation is presented.<br />

The practical performance of all these algorithms is demonstrated with implementations in a<br />

high-performance library and compared <strong>to</strong> existing software and previous techniques.<br />

Author: Jónathan Heras<br />

Title: Mathematical Knowledge Management in Algebraic Topology<br />

Institution: Department of Mathematics and Computer Science. University of La Rioja<br />

Thesis Advisor: Vico Pascual and Julio Rubio<br />

Committee Members: Eladio Domínguez (chair), Francis Sergeraert, Laurence Rideau, Francisco<br />

Jesús Martín-Mateos, Laureano Lambán<br />

Defense Date: May, 2011<br />

The work presented in this thesis tries <strong>to</strong> particularize Mathematical Knowledge Management <strong>to</strong><br />

Algebraic Topology.<br />

Mathematical Knowledge Management is a branch of Computer Science whose main goal consists<br />

in developing integral assistants for Mathematics including computation, deduction and powerful<br />

user interfaces able <strong>to</strong> make the daily work of mathematical researchers easier. Our application<br />

144


Johnson<br />

context is Algebraic Topology using the Kenzo system [1], a Common Lisp program devoted <strong>to</strong><br />

Algebraic Topology developed by Francis Sergeraert, as an instrumental <strong>to</strong>ol.<br />

We can split the work presented in this thesis in<strong>to</strong> three main parts which coincide with the<br />

main goals of Mathematical Knowledge Management.<br />

Our first task has consisted in developing a system called fKenzo [2], an acronym of friendly<br />

Kenzo. This system not only provides a friendly graphical user interface <strong>to</strong> interact with the Kenzo<br />

system (the kernel of our application) but also guides the interaction of the user with the system<br />

(avoiding in this way execution errors). Moreover, fKenzo allows one <strong>to</strong> integrate other symbolic<br />

computation systems (such as GAP) and theorem prover <strong>to</strong>ols (for instance, ACL2 ) by means of a<br />

plug-in system.<br />

The second part of the thesis is focussed on increasing the computational capabilities of the<br />

Kenzo system. Three new Kenzo modules have been developed which in turn extend the fKenzo<br />

system. The first one allows us <strong>to</strong> study the pushout of simplicial sets, an important construction<br />

which is involved in several usual Algebraic Topology constructions. The second one implements<br />

the simplicial complex notion (a generalization of the graph notion <strong>to</strong> higher dimensions). The last<br />

module allows us <strong>to</strong> analyse properties of 2D and 3D images by means of the Kenzo system thanks<br />

<strong>to</strong> the computation of the homology groups associated with the image.<br />

Finally, since the Kenzo system has obtained some results not confirmed nor refuted by any other<br />

means, we are interested in increasing the reliability of the Kenzo system by means of Theorem<br />

Proving <strong>to</strong>ols. Namely, in our work we have used the ACL2 Theorem Prover [3]. ACL2 allows us<br />

<strong>to</strong> prove properties of programs implemented in Common Lisp, as in the Kenzo case. Then, in our<br />

work we have focussed on the certification of the correctness of some important fragments of the<br />

Kenzo system and also the new modules developed in the second part of the thesis.<br />

References<br />

[1] X. Dousson, J. Rubio, F. Sergeraert, and Y. Siret. The Kenzo program. Institut Fourier,<br />

Grenoble, 1998. http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/.<br />

[2] J. Heras, V. Pascual, J. Rubio, and F. Sergeraert. fKenzo: A user interface for computations<br />

in Algebraic Topology. Journal of Symbolic Computation, 46:685–698, 2011.<br />

[3] M. Kaufmann and J S. Moore. ACL2. http://www.cs.utexas.edu/users/moore/acl2/.<br />

145


Conference Announcements<br />

International Workshop on<br />

Certified and Reliable Computation (CRC2011)<br />

NanNing, GuangXi, China<br />

July 17–20, 2011<br />

http://www.gxun.edu.cn/CRC%202011/CRC%202011.html<br />

There are important classes of computational problems in various areas of engineering science (robotics, biology,<br />

signal theory, etc.) and information technology (cryp<strong>to</strong>logy, coding theory, etc.) which require exact and/or certified<br />

algorithmic solutions. With such solutions the reliability of the results of computation is <strong>ensure</strong>d. Depending on the<br />

targeted applications, different approaches (based, e.g., on symbolic/numeric techniques and fast algebraic methods)<br />

can be developed <strong>to</strong> tackle the problems.<br />

This workshop will focus on nonlinear computational problems (in particular, those related <strong>to</strong> polynomial system<br />

solving and global optimization), aiming <strong>to</strong> provide a wide view of new and fruitful research directions in the area<br />

of Certified and Reliable Computation and <strong>to</strong> contribute <strong>to</strong> increase the synergies between different approaches.<br />

Confirmed Invited Speakers:<br />

• Graziano Chesi (University of Hong Kong, Hong Kong)<br />

• Carlos Cid (University of London, United Kingdom)<br />

• Stef Graillat (Université Pierre et Marie Curie, France)<br />

• Erich Kal<strong>to</strong>fen (North Carolina State University, United States)<br />

• Wen-Shin Lee (University of Antwerp, Belgium)<br />

• Jiawang Nie (University of California, San Diego, United States)<br />

• Yiming Wei (Fudan University, China)<br />

• Eric Schost (University of Western Ontario, Canada)<br />

• Pierre-Yves Strub (INRIA / Microsoft Joint Center) France<br />

Organization Committee:<br />

• Xiaoji Liu (Guangxi University for Nationalities)<br />

• Mohab Safey El Din (Labora<strong>to</strong>ire d’Informatique de Paris 6 - UPMC)<br />

• Dongming Wang (Labora<strong>to</strong>ire d’Informatique de Paris 6 - CNRS)<br />

• Jinzhao Wu (Guangxi University for Nationalities)<br />

• Lihong Zhi (Key Labora<strong>to</strong>ry of Mathematics Mechanization - CAS)<br />

Contact: Xiaoji Liu (Guangxi University for Nationalities)<br />

146


Conference Announcements<br />

15th Workshop on<br />

Elliptic Curve Cryp<strong>to</strong>graphy (ECC2011)<br />

INRIA, Nancy, France<br />

September 19–21, 2011<br />

http://ecc2011.loria.fr/<br />

ECC 2011 is the 15th in a series of annual workshops dedicated <strong>to</strong> the study of elliptic curve cryp<strong>to</strong>graphy and related<br />

areas. Over the past years the ECC conference series has broadened its scope beyond elliptic curve cryp<strong>to</strong>graphy<br />

and now covers a wide range of areas within modern cryp<strong>to</strong>graphy. For instance, past ECC conferences included<br />

presentations on hyperelliptic curve cryp<strong>to</strong>graphy, pairing-based cryp<strong>to</strong>graphy, side-channel attacks, voting pro<strong>to</strong>cols,<br />

quantum key distribution, AES, hash functions, and implementation issues.<br />

At the same time ECC continues <strong>to</strong> be the premier conference on elliptic curve cryp<strong>to</strong>graphy. It is hoped that ECC<br />

2011 will further our mission of encouraging and stimulating research on the security and implementation of elliptic<br />

curve cryp<strong>to</strong>systems and related areas, and encouraging collaboration between mathematicians, computer scientists<br />

and engineers in the academic, industry and government sec<strong>to</strong>rs.<br />

As with past ECC conferences, there will be about 15 invited lectures (and no contributed talks) delivered by<br />

internationally leading experts. There will be both state-of-the-art survey lectures as well as lectures on latest<br />

research developments.<br />

There will be a Rump Session on Monday evening, where participants can give short and entertaining presentations<br />

on recent results, work in progress, or make announcements of interest <strong>to</strong> attendees. A call for submissions for the<br />

Rump Session will be issued <strong>to</strong> registrants in early September.<br />

Confirmed Invited speakers:<br />

• Diego Aranha<br />

• Gaetan Bisson<br />

• Jean-Marc Couveignes<br />

• Claus Diem<br />

• Jean-Charles Faugère<br />

• Craig Gentry<br />

• David Jao<br />

• Reynald Lercier<br />

• Allison Lewko<br />

• Patrick Longa<br />

• Christiane Peters<br />

• Benjamin Smith<br />

• Marco Streng<br />

• Vanessa Vitse<br />

Scientific Committee:<br />

• David Freeman<br />

• Pierrick Gaudry<br />

• Florian Hess<br />

• Alfred Menezes<br />

• Francisco Rodríguez-Henríquez<br />

• Andrew Sutherland<br />

• Emmanuel Thomé<br />

Local organization: Anne-Lise Charbonnier, Pierrick Gaudry, Emmanuel Thomé.<br />

147


Conference Announcements<br />

4th International Conference on Mathematical Aspects of<br />

Computer and Information Sciences (MACIS 2011)<br />

Beijing, China<br />

Oc<strong>to</strong>ber 19–21, 2011<br />

http://macis2011.cc4cm.org/<br />

MACIS is a series of conferences where foundational research on theoretical and practical problems of mathematics<br />

for computing and information processing may be presented and discussed. MACIS also addresses experimental and<br />

case studies, scientific and engineering computation, design and implementation of algorithms and software systems,<br />

and applications of mathematical methods and <strong>to</strong>ols <strong>to</strong> outstanding and emerging problems in applied computer and<br />

information sciences. Each conference focuses on two or three themes.<br />

Conference Themes and Topics<br />

• Design and Analysis of Complex Systems: Software systems; hardware systems; control systems; biological systems;<br />

physical systems; dynamical systems; hybrid (e.g. cyber-physical) systems; nondeterministic/uncertain<br />

systems; mathematical modeling; simulation; formal verification; systems/controller synthesis; computational<br />

techniques and <strong>to</strong>ols<br />

• Numeric and Symbolic Constraint Solving: Systems of equations; quantifier elimination and decision procedures;<br />

(global) optimization; differential equations; numeric, symbolic, interval and hybrid solution techniques;<br />

application, especially in systems analysis and design; proof obligations in formal verification<br />

• Cryp<strong>to</strong>graphy and Coding Theory: Error-correcting codes; decoding algorithms; related combina<strong>to</strong>rial and complexity<br />

problems; algorithmic aspects of cryp<strong>to</strong>logy; symmetric cryp<strong>to</strong>logy; public-key cryp<strong>to</strong>graphy; cryptanalysis;<br />

computational and algebraic paradigms in postquantum cryp<strong>to</strong>logy; discrete mathematics and algorithmic<br />

<strong>to</strong>ols related <strong>to</strong> coding and cryp<strong>to</strong>graphy; boolean functions; sequences; computation in finite fields and related<br />

algebraic systems<br />

Important Dates:<br />

• Submission of papers/extended abstracts: July 31, 2011<br />

• Notification of acceptance or rejection: September 5, 2011<br />

• Conference taking place: Oc<strong>to</strong>ber 19–21, 2011<br />

• Deadline for full paper submission: December 15, 2011<br />

General Chairs: Dongming Wang, Zhiming Zheng<br />

Program Committee: Hirokazu Anai, Hoon Hong, Deepak Kapur, Ilias Kotsireas (co-Chair), Laura Kovacs,<br />

Dongdai Lin, Edgar Martinez Moro, Stefan Ratschan (co-Chair), Nathalie Revol, Enric Rodríguez-Carbonell, Sriram<br />

Sankaranarayanan, Thomas Sturm, Bican Xia, Lihong Zhi.<br />

148

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

Saved successfully!

Ooh no, something went wrong!