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.