A recursive algorithm for constructing complicated Dixon matrices

A recursive algorithm for constructing complicated Dixon matrices

Applied Mathematics and Computation 217 (2010) 2595–2601 Contents lists available at ScienceDirect Applied Mathematics and Computation journal homep...

186KB Sizes 8 Downloads 73 Views

Applied Mathematics and Computation 217 (2010) 2595–2601

Contents lists available at ScienceDirect

Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc

A recursive algorithm for constructing complicated Dixon matrices Hongguang Fu a, Ying Wang b,*, Shizhong Zhao c, Qingxian Wang a a b c

University of Electronic Science and Technology of China, Chengdu 611731, PR China Chengdu Institute of Computer Applications, Chinese Academy of Sciences, Chengdu 610041, PR China Shanghai Key Laboratory of Trustworthy Computing, East China Normal University, Shanghai 200062, PR China

a r t i c l e

i n f o

Keywords: Dixon polynomial Dixon matrix Quantifier elimination Formal power series

a b s t r a c t Whether the determinant of the Dixon matrix equals zero or not is used for determining if a system of n + 1 polynomial equations in n variables has a common root, and is a very efficient quantifier elimination approach too. But for a complicated polynomial system, it is not easy to construct the Dixon matrix. In this paper, a recursive algorithm to construct the Dixon matrix is proposed by which some problems that cannot be tackled by other methods can be solved on the same computer platform. A dynamic programming algorithm based on the recursive formula is developed and compared for speed and efficiency to the recursive algorithm. Ó 2010 Elsevier Inc. All rights reserved.

1. Introduction The problem of eliminating a set of variables from a system of polynomial equations is a fundamental problem in computer algebra. Given a system of polynomial equations, its multivariate resultant is a function of the coefficients of the equations obtained after eliminating the variables. The computation of the multivariate resultant has an important application in quantifier elimination over the elementary theory of real and algebraically closed fields. As we know, there are two other techniques for eliminating a set of variables. They are Wu’s method [1] and Gröbner bases [2]. Compared with these two methods, the resultant computation is a very classical algebraic tool by which one can eliminate many variables simultaneously. Though in the last decade most of the effort has been directed towards the use of Gröbner bases, motivated by the need of faster implementations the rebirth of resultant methods has been witnessed. There exist many resultant formulas such as Sylvester resultant, Macaulay resultant, Dixon resultant [3,4] and Sparse resultant etc., in which the Dixon resultant is the most active area recently. The implementation results of many examples in [5] demonstrate that the Dixon resultant is a very efficient method for some algebraic and geometry problems. In the resultant method, how to construct the Dixon matrix efficiently is a bottleneck when the system has many variables or symbolic parameters. In order to improve the efficiency, Chionh et al. [6] suggested a fast algorithm to construct the Dixon matrix for the case of three polynomial equations in two variables. Then the authors Fu and Zhao extended it to the general case of n + 1 polynomial equations in n variables [7]. But for some polynomial systems in more than five variables, the fast algorithm may fail. Here we shall develop a new recursive algorithm for complicated polynomial systems. The fast algorithm is more efficient for some polynomial systems in four or five variables than the recursive algorithm in the same environment. But the recursive algorithm can solve the case of some complicated polynomial systems that can not be solved by the fast algorithm, such as the benchmark problem of 9-Cycle equations and the Apollonius problem [8]. An equivalent dynamic programming algorithm is developed here and compared for speed and efficiency to the recursive algorithm. * Corresponding author. E-mail address: [email protected] (Y. Wang). 0096-3003/$ - see front matter Ó 2010 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2010.07.072

2596

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

In the following sections, we first review the definitions of the Dixon matrix and the Dixon polynomial, then prove the recursive formula to construct Dixon polynomials. At last, we shall show the implementation and develop a new dynamic programming algorithm based on the recursive formula. 2. Review of the Dixon matrix Consider n + 1 polynomials in n variables:

fj ¼

m1 X



i1 ¼0

mn X

aj;i1 ;...;in xi11    xinn ;

1 6 j 6 n þ 1;

ð1Þ

in ¼0

where m1, m2, . . . , mn are degrees of x1, x2, . . . , xn, respectively. This polynomial is called an n-variable polynomial system, and its Dixon resultant matrix is denoted by Dixon (f1, . . . , fn+1). From the above polynomial system (1), a (n + 1)  (n + 1) determinant can be formed as follows:

  f1 ðx1 ; x2 ; . . . ; xn Þ   f ðx ; x ; . . . ; x Þ n  1 1 2    Dðx1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼  f1 ðx1 ; x2 ; . . . ; xn Þ      f ðx ; x ; . . . ; x Þ 1 1 2 n

f2 ðx1 ; x2 ; . . . ; xn Þ f2 ðx1 ; x2 ; . . . ; xn Þ f2 ðx1 ; x2 ; . . . ; xn Þ  f2 ðx1 ; x2 ; . . . ; xn Þ

    

 fnþ1 ðx1 ; x2 ; . . . ; xn Þ  fnþ1 ðx1 ; x2 ; . . . ; xn Þ   fnþ1 ðx1 ; x2 ; . . . ; xn Þ ;     f ðx ; x ; . . . ; x Þ  nþ1

1

2

n

where  x1 ; . . . ;  xn are new variables and fi ð x1 ; . . . ;  xk ; xkþ1 ; . . . ; xn Þ stands for uniformly replacing xj by  xj for 1 6 j 6 k in fi. Q Since xi ¼  xi , for each 1 6 i 6 n;  xi  xi is a zero of D and D can be divided by ni¼1 ð xi  xi Þ. Let

dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼

Dðx1 ; . . . ; xn ; x1 ; . . . ; xn Þ : ðx1  x1 Þ    ðxn  xn Þ

ð2Þ

The polynomial d is known as the Dixon Polynomial in x1 ; . . . ; xn ;  x1 ; . . . ;  xn of {f1, . . . , fn+1}. Let xr and  xu denote xr1 1 xr2 2    xrn n xu22     and  xu11  xunn , respectively, then

dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼

nm 1 1 ðn1Þm X X2 1



u2 ¼0

u1 ¼0

m n 1 m 1 1 2m 2 1 X X X



un ¼0

r1 ¼0 r2 ¼0



nm n 1 X

dr1 ;r2 ;...;rn ;u1 ;u2 ;...;un xr  xu

ð3Þ

rn ¼0

for some constant coefficients dr1 ;r2 ;...;rn ;u1 ;u2 ;...;un . In matrix form !

!

dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼ X Dixonðf1 ; . . . ; fnþ1 Þ  Y T ; where !

"

X ¼ 1; . . . ; xnnmn 1 ; . . . ; x1m1 1 ; . . . ;

n Y

ð4Þ

# imi 1

xi

i¼1

1n!

n Q

ð5Þ

; mi

i¼1

and !

"

Y ¼ 1; . . . ; xnmn 1 ; . . . ; x1nm1 1 ; . . . ;

n Y

# i 1 xðniþ1Þm i

i¼1

1n!

n Q

ð6Þ

: mi

i¼1

The rows and columns of Dixon (f1, . . . , fn+1) are indexed lexicographically by xr1 1 ; . . . ; xrn n ;  xu11 ; . . . ;  xunn with Q x1 >    > xn ;  x1 >    >  xn , respectively and the coefficient matrix Dixon (f1, . . . , fn+1) is a square matrix of order n! ni¼1 mi . i For the sake of convenience, the coefficient of fj in x1 is denoted by

fj;i ðx2 ; . . . ; xn Þ ¼

m2 X i2 ¼0



mn X

aj;i;i2 ;...;in xi22    xinn ;

in ¼0

where 1 6 j 6 n + 1, 0 6 i 6 m1. 3. Recursive formula for Dixon polynomials Before the recursive formula for the Dixon polynomial is presented, we first prove the following Lemma. P Pm Pm i1 þi2 þþin Lemma 1. Let f ðx; yÞ ¼ m , where ai1 ;i2 ;...;in ðyÞ, 0 6 i1, i2, . . . , in 6 m, are polynomials in y, i1 ¼0 i2 ¼0    in ¼0 ai1 ;i2 ;...;in ðyÞx and f(x, y) = 0, when x = y. Then the following two identities hold: m X m X i1 ¼0 i2 ¼0



m X in ¼0

ai1 ;i2 ;...;in ðyÞxi1 þi2 þþin

m X m m X X 1  ¼ x  y i ¼0 i ¼0 i ¼0 1

2

n

i1 þi2 X þþin 1 u¼0

yi1 þi2 þþin 1u xu ai1 ;i2 ;...;in ðyÞ;

ð7Þ

2597

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

and m X m X



i1 ¼0 i2 ¼0

m X

i1 þi2 X þþin 1

in ¼0

u¼0

yi1 þi2 þþin 1u xu ai1 ;i2 ;...;in ðyÞ ¼

nm X i1 X

yi1u xu

i¼0 u¼0

1 Proof. Since xy can be treated as the formal power series ies, thus we omit the proof here.

P1

u u1 , u¼1 x y

06i1 ;iX 2 ;...;in 6m

ai1 ;i2 ;...;in ðyÞ:

ð8Þ

i1 þi2 þþin ¼i

it is easy to prove (7) by truncated formal power ser-

Now we prove (8). Consider the coefficients of ai1 ;i2 ;...;in ðyÞ on both sides of (8). It is obvious that the constraints on i1, i2, . . . , in on both sides are the same:

0 6 i1 ; i2 ; . . . ; in 6 m: The coefficient on the left-hand side of (8) is: i1 þi2 X þþin 1

yi1 þi2 þþin 1u xu ¼

i1 X

yi1u xu ;

u¼0

u¼0

where i = i1 + i2 +    + in. The formula on the right-hand side of (8) can be written as: nm X

06i1 ;iX i1 2 ;...;in 6m X

i¼0

i1 þi2 þþin ¼i u¼0

yi1u xu ai1 ;i2 ;...;in ðyÞ;

so the coefficient of ai1 ;i2 ;...;in ðyÞ on the right-hand side of (8) is also i1 X

yi1u xu ;

u¼0

where i = i1 + i2 +    + in. h 1 ; . . . ;  xn Þ can be expressed as a linear combination of dðfj1 ;i1 ; . . . ; Theorem 1. The Dixon polynomial dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x fjn ;in ; x2 ; . . . ; xn ;  x2 ; . . . ;  xn Þ where 1 6 j1, j2, . . . , jn 6 n + 1, 0 6 i1, i2, . . . , in 6 m1, that is

  dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼ Q 1 þ ðx1 þ x1 ÞQ 2 þ x21 þ x1 x1 þ x21 Q 3 þ      1 2  þ x1nm1 1 þ xnm x1 þ    þ x1nm1 1 Q nm1 ; 1

ð9Þ

where

Q i ¼ f1 ðx1 ; . . . ; xn Þ  X



X

dðf2;i1 ; . . . ; fnþ1;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn Þ þ    þ ð1Þn  fnþ1 ðx1 ; . . . ; xn Þ

i1 þi2 þþin ¼i

  d f1;i1 ; . . . ; fn;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn :

ð10Þ

i1 þi2 þþin ¼i

Proof. Eq. (2) can be expanded as dðf1 ;...;fnþ1 ;x1 ;...;xn ; x1 ;...; xn Þ  1   0  f ðx ;x ;...;xn Þ f3 ðx1 ;x2 ;...;xn Þ  fnþ1 ðx1 ;x2 ;...;xn Þ   f1 ðx1 ;x2 ;...;xn Þ f2 ðx1 ;x2 ;...;xn Þ  fn ðx1 ;x2 ;...;xn Þ    2 1 2   f ðx ; x ;...;x Þ f ðx ; x ;...;x Þ  f ðx ; x ;...;x Þ   f ðx ; x ;...;x Þ f ðx ; x ;...;x Þ  f ðx ; x ;...;x Þ C B n 3 1 2 n nþ1 1 2 n  n 2 1 2 n n 1 2 n C 2 1 2 1 1 2 B  C   B .. .. .. .. .. ..  C   B  C   B .  . .  . . .  C   B  f ðx ; x ;...; x Þ f ðx ; x ;...; x Þ  f ðx ; x ;...; x Þ   f ðx ; x ;...; x Þ f ðx ; x ;...; x Þ  f ðx ; x ;...; x Þ C B 1 B n 2 1 2 n 3 1 2 n nþ1 1 2 n 1 1 2 n 2 1 2 n n 1 2 n C þþð1Þ fnþ1 ðx1 ;...;xn Þ ¼ Bf1 ðx1 ;...;xn Þ C C ðx1 x1 Þ B ðx2 x2 Þðxn xn Þ ðx2 x2 Þðxn xn Þ C B C B C B C B C B A @   Pm  Pm Pm1 i1 Pm1 i1 Pm1   1 1 i2 in  i2  i1 ¼0 f2;i1 ðx2 ;...;xn Þx1  i1 ¼0 f1;i1 ðx2 ;...;xn Þx1 i2 ¼0 f3;i2 ðx2 ;...;xn Þx1  in ¼0 fnþ1;in ðx2 ;...;xn Þx1  i2 ¼0 f2;i2 ðx2 ;...;xn Þx1  P P B P P m m m i i    m1 f ðx ;...;x Þxi1 Pm1 f ðx ;...;x Þxi2 i 1 1 1 2 1 n B      i1 ¼0 f2;i1 ðx2 ;...;xn Þx1  i1 ¼0 1;i1 2 n 1 2 n 1 i2 ¼0 f3;i2 ðx2 ;...;xn Þx1  in ¼0 fnþ1;in ðx2 ;...;xn Þx1  i2 ¼0 2;i2 B    B    B .. .. .. .. ..    B .  . . . .    B   Pm1  Pm1 Pm 1 Pm1 Pm1 B i i i 1 2 n  i ¼0 f2;i1 ðx2 ;...; xn Þx1  i ¼0 f1;i1 ðx2 ;...; xn Þxi11 f3;i2 ðx2 ;...; xn Þx1  in ¼0 fnþ1;in ðx2 ;...; xn Þx1  f2;i2 ðx2 ;...; xn Þxi12 B i ¼0 i ¼0 n 1 2 1 2 ¼B þþð1Þ fnþ1 ðx1 ;...;xn Þ Bf1 ðx1 ;...;xn Þ ðx2 x2 Þðxn xn Þ ðx2 x2 Þðxn xn Þ B B B B B B B @ 0

¼

m1 X m1 X i1 ¼0 i2 ¼0



m1 X in ¼0

  xi11 þi2 þþin f1 ðx1 ;...;xn Þdðf2;i1 ;...;fnþ1;in ;x2 ;...;xn ; x2 ;...; xn Þþþð1Þn fnþ1 ðx1 ;...;xn Þdðf1;i1 ;...;fn;in ;x2 ;...;xn ; x2 ;...; xn Þ 

1 : ðx1 x1 Þ

1 ðx2 ;...;xn Þxi1n  C in C  in ¼0 fn;in ðx2 ;...;xn Þx1 C C  .. C C  . C Pm1 in C  in ¼0 fn;in ðx2 ;...; xn Þx1 C 1 C C ðx1 x1 Þ C C C C C C C A 

Pm1

in ¼0 fn;in

Pm1

ð11Þ

2598

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

Since f1 ðx1 ; . . . ; xn Þ  dðf2;i1 ; . . . ; fnþ1;in ; x2 ; . . . ; xn ;  x2 ; . . . ;  xn Þ þ    þ ð1Þn  fnþ1 ðx1 ; . . . ; xn Þ  dðf1;i1 ; . . . ; fn;in ; x2 ; . . . ; xn ;  x2 ; . . . ;  xn Þ can 1 be considered as the polynomial in x1 and not  x1 , by (7) of Lemma 1, ðx1 x in the above equation can be removed, Eq. 1Þ (11) can be expressed as

dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼

m1 X m1 X



i1 ¼0 i2 ¼0

m1 X

i1 þi2 X þþin 1

in ¼0

u¼0

x1i1 þi2 þþin 1u xu1 ðf1 ðx1 ; . . . ; xn Þ

  d f2;i1 ; . . . ; fnþ1;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn þ    þ ð1Þn  fnþ1 ðx1 ; . . . ; xn Þ   d f1;i1 ; . . . ; fn;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn :

ð12Þ

From (8) of Lemma 1, (12) can be written as

dðf1 ; . . . ; fnþ1 ; x1 ; . . . ; xn ; x1 ; . . . ; xn Þ ¼

nm1 X i1 X

x1i1u xu1 ðf1 ðx1 ; . . . ; xn Þ

i¼0 u¼0

X



i1 þi2 þþin ¼i

X



  d f2;i1 ; . . . ; fnþ1;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn þ    þ ð1Þn  fnþ1 ðx1 ; . . . ; xn Þ   d f1;i1 ; . . . ; fn;in ; x2 ; . . . ; xn ; x2 ; . . . ; xn ¼ Q 1 þ ðx1 þ x1 ÞQ 2

i1 þi2 þþin ¼i

  1 2  þ x21 þ x1 x1 þ x21 Q 3 þ    þ ðx1nm1 1 þ xnm x1 þ    þ x1nm1 1 ÞQ nm1 ; 1

ð13Þ

where Qi, 1 6 i 6 nm1, is the same as (10). h From the definition of the Dixon polynomial (2), if n = 0, the polynomial system becomes one polynomial {f1 = c}, here c is a constant, and d(f1) = c. 4. Recursive algorithm for constructing the Dixon matrix According to the recursive formula (9) in Theorem 1, the Dixon polynomial of {f1, f2, . . . , fn+1} can be constructed recursively, and then its Dixon matrix can be easily extracted from the resulting Dixon polynomial by the definition of Dixon matrix. The following is the recursive algorithm for constructing the Dixon matrix of {f1, . . . , fn+1}. Step 1. Initialization: If n = 0 then d f1 return d Step 2. Recursion: For i from 1 to nm1    P P Qi f1  i1 þþin ¼i d f2;i1 ; . . . ; fnþ1;in ; x2 ; . . . ; xn ;  x2 ; . . . ;  xn þ    þ ð1Þn  fnþ1  i1 þþin ¼i d f1;i1 ; . . . ; fn;in ; x2 ; . . . ; xn ;  x2 ; . . . ;  xn Þ   d Q 1 þ ðx1 þ  x1 ÞQ 2 þ    þ x1nm1 1 þ x1nm1 2  x1nm1 1 Q nm1 x1 þ    þ  Dixon (f1, . . . , fn+1) the coefficient matrix of d return Dixon (f1, . . . , fn+1) Here, we give an example to illustrate the recursive algorithm. Example 1. Consider the construction of the Dixon matrix of the following polynomials:

8 f1 ðx; yÞ ¼ ð2 þ 3yÞx3 þ ð2  2yÞx2 þ ð1  yÞx þ 4y; > > > > > > f2 ðx; yÞ ¼ ðð1 þ 3zÞy þ 1 þ 4zÞx3 þ ðð3 þ 2zÞy  2zÞx2 > > < þðð4 þ zÞy þ 3 þ 2zÞx þ ð4 þ 3zÞy þ 2  2z; > > > > > f3 ðx; yÞ ¼ ðð3 þ 3zÞy  1  zÞx3 þ ðy  2zÞx2 > > > : þðð4 þ 4zÞy þ 2  2zÞx þ 2y þ 4 þ 2z:

ð14Þ

Since nm1 = 6, there are six polynomials: Q1, Q2, Q3, Q4, Q5, Q6. Here the solution of Q6 is given in detail; the others are the same. According to the recursive formula

Q 6 ¼ f1

X i1 þi2 ¼6

Þ  f2 dðf2;i1 ; f3;i2 ; y; y

X i1 þi2 ¼6

 Þ þ f3 dðf1;i1 ; f3;i2 ; y; y

X i1 þi2 ¼6

Þ; dðf1;i1 ; f2;i2 ; y; y

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

2599

where

X

Þ ¼ dðf2;3 ; f3;3 ; y; y Þ ¼ dðð1 þ 3zÞy þ 1 þ 4z; ð3 þ 3zÞy  1  z; y; y Þ ¼ 2 þ 17z þ 15z2 ; dðf2;i1 ; f3;i2 ; y; y

i1 þi2 ¼6



X

Þ ¼ dðf1;3 ; f3;3 ; y; y Þ ¼ dð2 þ 3y; ð3 þ 3zÞy  1  z; y; y Þ ¼ 3 þ 3z; dðf1;i1 ; f3;i2 ; y; y

i1 þi2 ¼6

X

Þ ¼ dðf1;3 ; f2;3 ; y; y Þ ¼ dð2 þ 3y; ð1 þ 3zÞy þ 1 þ 4z; y; y Þ ¼ 1  18z: dðf1;i1 ; f2;i2 ; y; y

i1 þi2 ¼6

That is

Q 6 ¼ f1 ðx; yÞ ð2 þ 17z þ 15z2 Þ þ f2 ðx; yÞ ð3 þ 3zÞ þ f3 ðx; yÞ ð1  18zÞ ¼ ðð2 þ 3yÞx3 þ ð2  2yÞx2 þ ð1  yÞx þ 4yÞð2 þ 17z þ 15z2 Þ   þ ðð1 þ 3zÞy þ 1 þ 4zÞx3 þ ðð3 þ 2zÞy  2zÞx2 þ ðð4 þ zÞy þ 3 þ 2zÞx þ ð4 þ 3zÞy þ 2  2z ð3 þ 3zÞ   þ ðð3 þ 3zÞy  1  zÞx3 þ ðy  2zÞx2 þ ðð4 þ 4zÞy þ 2  2zÞx þ 2y þ 4 þ 2z ð1  18zÞ ¼ 2  4x2 þ 18y þ 9x  74z  42z2 þ 6x2 y þ 6xy  38x2 z  2xz þ 57xz2 þ 53yz þ 69yz2  24x2 yz2  84xyz2  x2 yz  78xyz: By the same token

Q 1 ¼ 20 þ 28x3 þ 20x2  44y  16x  64z þ 6z2  50x3 y þ 32x2 y  6xy þ 23x3 z  25x3 z2 þ 20x2 z þ 42x2 z2  34xz  10xz2  72yz  46yz2  63x3 yz2  12x2 yz2  34xyz2  41x3 yz  7x2 yz  84xyz; Q 2 ¼ 8 þ 7x3 þ 20x2  74y  34x þ 2z þ 30z2  11x3 y  13x2 y  18xy  94x3 z  81x3 z2  22x2 z þ 2x2 z2  48xz  18xz2  12yz þ 6yz2  3x3 yz2  52x2 yz2  22xyz2 þ 50x3 yz  99x2 yz  68xyz; Q 3 ¼ 34 þ 20x3  14x2 þ 62y þ 24x  92z  60z2  47x3 y þ 54x2 y  7xy þ 105x3 z þ 100x3 z2  10x2 z þ 18x2 z2 þ 93xz þ 49xz2 þ 107yz þ 4yz2  27x3 yz2 þ 54x2 yz2  29xyz2  43x3 yz þ 86x2 yz  48xyz; Q 4 ¼ 72  5x3  38x2 þ 70y þ 3x  94z  26z2  22x3 y þ 15x2 y  71xy  4x3 z  41x3 z2  54x2 z  56x2 z2 þ 100xz þ 59xz2 þ 188yz þ 144yz2 þ 84x3 yz2  58x2 yz2  65xyz2 þ 50x3 yz  39x2 yz  142xyz; Q 5 ¼ 4 þ 4x3  4x2 þ 28y þ 16x þ 4z þ 4z2  6x3 y þ 16x2 y þ 14xy þ 38x3 z þ 6x2 z  16x2 z2 þ 23xz  2xz2 þ 6yz þ 14yz2 þ 24x3 yz2 þ 16xyz2 þ x3 yz þ 28x2 yz þ 29xyz: According to the recursive formula (9) in Theorem 1

Þ ¼ Q 1 þ ðx þ xÞ Q 2 þ ðx2 þ xx þ x2 Þ Q 3 þ ðx3 þ x2 x þ xx2 þ x3 Þ Q 4 þ ðx4 þ x3 x þ x2 x2 þ xx3 þ x4 Þ Q 5 dðf1 ; f2 ; f3 ; x; y; x; y þ ðx5 þ x4 x þ x3 x2 þ x2 x3 þ xx4 þ x5 Þ Q 6 ¼ 78xx5 yz þ 82xx4 yz  84xx5 yz2 þ 85xx4 yz2 þ 6x2 x5 y þ 32xx4 y þ 6xx5 y þ 2x5  105x2 zx3  100x2 z2 x3 þ 81x2 z2 x2 þ 25x2 z2 x  43xyx3 þ 63xz2 x3 þ 23xz2 x2  2x5 xz  140xxz  28x2 x þ 6x4 yz þ 69x5 yz2 þ 14x4 yz2 þ 144x3 yz2 þ 4x2 yz2  74x5 z þ 4x4 z  42x5 z2 þ 4x4 z2  26x3 z2 þ 18x5 y  60x2 z2 þ 30xz2 þ 6xyz2  136xyx3 z þ 140xyx2 z þ 39xyxz  51xyz2 x3 þ 115xyz2 x2  18xyz2 x þ 7xx3  23x2 zx þ 63xx2 y þ 11x2 x2 y  x2 x5 yz  50x2 x4 yz  24x2 x5 yz2  84x2 x4 yz2  72x3 þ 70x3 y  94x3 z  34x2 þ 62x2 y  92x2 z  74xy þ 2xz þ 28x4 y þ 4x4  96xyz þ 53x5 yz  7x2 x2 þ 104xx3 z þ 188x3 yz þ 5x2 x4 þ 107x2 yz þ 44xyx  48x2  12xyz  4x2 x5  44y  24x  64z þ 6z2  xx2 z  30x2 yz2  28xyz2 þ 76x2 y  80xy  120x2 z  36x2 z2  32xz þ 20xz2  72yz  46yz2 þ 32x2 yz þ 18xx4  20x2 x3  78xz2 x  68xx þ 50x2 yx þ 22x2 x4 y  48x2 x  20  8x  51x4 xz þ 94x2 x2 z þ 41x4 x2 z2 þ 57x5 xz2 þ 4x4 x2 z  38x5 x2 z  44x4 xz2 þ 43x2 yx3 z  50x2 yx2 z þ 41x2 yxz þ 27x2 yz2 x3 þ 3x2 yz2 x2 þ 63x2 yz2 x þ 47x2 yx3 þ 9x5 x:

2600

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

Þ in f ; x; yg, the Dixon resultant can be obtained as follows: At last from the coefficient matrix of dðf1 ; f2 ; f3 ; x; y;  x; y x; y

 jDixon ðf1 ; f2 ; f3 ; x; yÞj ¼ 2 5189525640  10980422328z þ 191654968456z2 þ 300598226208z3 854794905138z4  1833804119110z5 þ 3881615132250z6 þ 18617316013414z7 þ30409963689767z8 þ 26759805067722z9 þ 13159566233770z10 þ 3103736480141z11  þ145650847467z12 :

Example 2. Consider the construction of the Dixon matrix of polynomials in {x1, x2, . . . , x8} corresponding to the following 9Cycle equations:

8 9 P > > xi ¼ 0; > > > i¼1 > > > > > > 8 iQ þ1 > P > > xj þ x9 x1 ¼ 0; > > > i¼1 j¼i > < 7 iQ þ2 P > > xj þ x8 x9 x1 þ x9 x1 x2 ¼ 0; > > > > i¼1 j¼i > > > > > > > > > 9 >Q > > : xi ¼ 1: i¼1

First we obtained all 2295 Dixon polynomials in Qi by the definition of the Dixon polynomial (2):

  d f1;i1 ; . . . ; fj1;ij 1 ; fjþ1;ij ; . . . ; f9;in ; x2 ; . . . ; x8 ; x2 ; . . . ; x8 ; where 1 6 j 6 9, 1 6 i 6 8, then combined them together, and finally extracted the Dixon matrix. The computer with 2.6 GHz CPU and 512 MB memory took about 6 h to obtain the Dixon matrix of order 8212. With other methods, the computer ran out of memory after ten hours. In fact, every Qi only concerns the Dixon polynomials of (n  1)-variable polynomial systems. Hence the original Dixon polynomial of an n-variable polynomial system can be obtained from a set of Dixon polynomials of (n  1)-variable polynomial systems recursively. The Dixon matrix also can be built from the bottom up. The following is a dynamic programming algorithm to the above recursive algorithm for constructing the Dixon matrix of {f1, . . . , fn+1}. If n = 0 then d f1 Dixon (f1) = (d) If n = 1 then the coefficient matrix of dðf1 ; f2 ; x;  xÞ Dixon (f1, f2) else qn1 A[n + 1][(m1 + 1)(m2 + 1)  (mn1 + 1)] the coefficient matrix of fj;q1 ;...;qn2 in xn1 , ðaji ¼ fj;q1 ;...;qn1 ; 0 6 q1 6 m1 ; . . . ; 0 6 qn1 6 mn1 Þ n o for p from 1 to C 2nþ1  ½ðm1 þ 1Þðm2 þ 1Þ    ðmn1 þ 1Þ2  1 xn Þ; j1 – j2 Compute Dixon polynomials: dðaj1 i1 ; aj2 i2 ; xn ;  for k from 2 to n n o kþ1 for s from 1 to C kþ1 1 nþ1  ½ðm1 þ 1Þðm2 þ 1Þ    ðmnk þ 1Þ for t from 1 to kmn+1k P Qt fj1 ;q1 ;...;qnk  i1 þþik ¼t dðfj2 ;q1 ;...;qnk ;i1 ; . . . ; fjkþ1 ;q1 ;...;qnk ;ik ; xnþ2k ; . . ., P xnþ2k ; . . . ;  xn Þ þ    þ ð1Þk  fjkþ1  i1 þþik ¼t dðfj1 ;q1 ;...;qnk ;i1 , xn ;  . . . ; fjk ;q1 ;...;qnk ;ik ; xnþ2k ; . . . ; xn ;  xnþ2k ; . . . ;  xn Þ, xnþ1k ; . . . ;  xn Þ Q 1 þ ðxnþ1k þ, dðfj1 ;q1 ;...;qnk ; . . . ; fjkþ1 ;q1 ;...;qnk ; xnþ1k ; . . . ; xn ;    kmnþ1k 1 kmnþ1k 2 kmnþ1k 1   Q kmnþ1k , xnþ1k ÞQ 2 þ    þ xnþ1k þ xnþ1k xnþ1k xnþ1k þ    þ  Dixon (f1, . . . , fn+1)

the coefficient matrix of dðfj1 ; . . . ; fjnþ1 ; x1 ; . . . ; xn ;  x1 ; . . . ;  xn Þ.

H. Fu et al. / Applied Mathematics and Computation 217 (2010) 2595–2601

2601

Since the number of the Dixon polynomials calculated by this dynamic programming algorithm is much less than the one calculated by the recursive algorithm, this dynamic programming algorithm is more efficient than the recursive algorithm. For polynomial systems in four variables,this dynamic programming algorithm can save several seconds on the same computer platform. For polynomial systems in five variables,this dynamic programming algorithm can save several hundred seconds. So this dynamic programming algorithm can save more time for polynomial systems in more variables. But this dynamic programming algorithm is more complicated and needs more memory than the recursive algorithm. 5. Conclusion This paper proposes a new method to construct the Dixon matrix of a given system of polynomials. The implementation demonstrates that it is very efficient. Because our algorithm only uses polynomial additions and multiplications, it can avoid complicated determinant computation and multivariate polynomial divisions. Compared with other methods, it has obvious advantages and can also be made parallel easily for some complicated polynomial systems. Acknowledgements This work was partially supported by the National Natural Science Foundation of China (Grant No. 90718041), Shanghai Leading Academic Discipline Project (Grant No. B412), the China NKBRSF Project (Grant No. 2004CB318003) and the Fundamental Research Funds for the Central Universities (Grant No. ZYGX2009J058). References [1] W.T. Wu, Principles of mechanical theorem proving in elementary geometries, Journal of Automated Reasoning 2 (1986) 221–252. [2] B. Buchberger, An Algorithmic Method in Polynomial Ideal Theory, Recent Trends in Multidimensional Systems Theory, D. Reidel Publishing Company, 1985, pp. 184–232. [3] A.L. Dixon, The eliminant of three quantics in two independent variables, Proceedings of the London Mathematical Society 6 (49–69) (1908) 473–492. [4] D. Kapur, T. Saxena, L. Yang, Algebraic and geometric reasoning using Dixon resultants, in: Proceedings of the International Symposium on Symbolic and Algebraic Computation, Oxford, 1994, ACM Press, New York, 1994, pp. 99–107. [5] L. Yang, X. Hou, Gather-and-sift: a symbolic method for solving polynomial systems, in: Proceedings of First Asian Technology Conference in Mathematics, 1995, pp. 771–780. [6] E.W. Chionh, M. Zhang, R.N. Goldman, Fast computation of the Bezout and Dixon resultant matrices, Journal of Symbolic Computation 33 (1) (2002) 13– 29. [7] S.Z. Zhao, H.G. Fu, An extended fast algorithm for constructing the Dixon resultant matrix, Science in China Series A: Mathematics 48 (1) (2005) 131– 143. [8] R.H. Lewis, S. Bridgett, Polynomial equations arising from Apollonius problems in biochemistry and pharmacology, in: Proceedings of Applications of Computer Algebra, 2001.