E L I M I N A T I O N PRACTICE Software Tools and Applications
D o n g m i n g Wang
v
Imperial College Press
ELIMIN...
16 downloads
686 Views
10MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
E L I M I N A T I O N PRACTICE Software Tools and Applications
D o n g m i n g Wang
v
Imperial College Press
ELIMINATION PRACTICE Software Tools and Applications
This page is intentionally left blank
ELIFVIINATIDN PRACTICE Software Tools and Applications
D o n g m i n g Wang Universite Pierre et Marie Curie - CNRS, France
Imperial College Press
Imperial College Press
Published by Imperial College Press 57 Shelton Street Covent Garden London WC2H 9HE Distributed by World Scientific Publishing Co. Pte. Ltd. 5 Toh Tuck Link, Singapore 596224 USA office: Suite 202, 1060 Main Street, River Edge, NJ 07661 UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE
British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library.
ELIMINATION PRACTICE Software Tools and Applications Copyright © 2004 by Imperial College Press All rights reserved. This book, or parts thereof, may not be reproduced in any form or by any means, electronic or mechanical, including photocopying, recording or any information storage and retrieval system now known or to be invented, without written permission from the Publisher.
For photocopying of material in this volume, please pay a copying fee through the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to photocopy is not required from the publisher.
ISBN
1-86094-438-8
Printed in Singapore by World Scientific Printers (S) Pte Ltd
Preface
The title of this book was chosen to contrast with the well-known term "Elimination Theory" rooted in constructive algebra and algebraic geometry. The classical theory of elimination based on resultants provides a way to eliminate variables successively or simultaneously from a system of polynomial equations, yielding conditions for the equations to have common solutions. This theory was widely adopted in the early 20th century, but soon abandoned mainly because of the complexity of calculations involved and the shifting of mainstream mathematics from constructive methods to existential theory. After a dormancy of half a century, polynomial elimination resumed its activity in the 1970s along with the rise of symbolic and algebraic computation. It is the invention of Grobner bases by Bruno Buchberger, the revitalization of resultants by Daniel Lazard, and the development of characteristic sets by Wen-tsiin Wu that have primarily motivated modern research on this subject. The activity would not have kept increasing so rapidly without the advance of computing technology. Powerful hardware equipped with advanced computer algebra systems has made large-scale polynomial computation easier and easier; so have extensive research and development made elimination algorithms and tools more and more efficient and applicable to a wide range of problems in science and engineering. The author has worked on triangular-set-based elimination and decomposition for nearly two decades. Some of my work has been included in the book "Elimination Methods" published by Springer-Verlag, Wien New York in 2001. I have implemented most of the algorithms described in my Springer book and applied them to various test examples and practical problems. From time to time, people around the world ask me about the possibility of obtaining my programs. The frequency of such requests urged me to put together the different pieces of programs and routines that I have written since 1989 (mostly in Maple and for research experiments) as an integrated toolkit for other people to use. After a considerable amount of effort on optimization, testing, structuring, and documentation, I ended up with a library of elimination tools. Accompanied by a set of application examples that illustrate how these tools may be used, the library is now made available publicly. It comes with this book.
VI
Preface
The first half of the book presents the library, named CPSILON, that has been built up for symbolic polynomial elimination and decomposition with (geometric) applications. It has 8 modules and contains more than 70 functions, which allow one to triangularize systems of multivariate (differential) polynomials, decompose polynomial systems into triangular systems of various kinds (regular, normal, simple, irreducible, or with projection property), decompose algebraic varieties into irreducible or unmixed subvarieties, decompose polynomial ideals into primary components, factorize polynomials over algebraic extension fields, solve systems of polynomial equations and inequations, and handle and prove geometric theorems automatically. Implemented in Maple and Java with about 20 000 lines of source code, the library has incorporated the latest improvements and results of my algorithmic research. The usefulness of the software tools is demonstrated in the second half of the book by a number of selected applications, ranging from qualitative analysis of differential equations in pure mathematics to geometry theorem discovering in automated reasoning and to surface blending and offsetting in computer-aided geometric design. These applications are illuminated with many examples and illustrations. The reader is encouraged to try the elimination tools for other problems in symbolic computation, computer-applied mathematics, engineering geometry, and other areas of science, engineering, and industry where systems of algebraic equations occur. The compact disk distributed with this book contains the entire 6PSILON library with documentation, examples, and Maple worksheets, which are also available on my homepage for download and will be updated thereon. I will feel that my work with CPSILON is rewarding if the library may satisfy the need of some of those who requested my programs, and even more so if other people interested in doing elimination also find it useful. This book may serve as a reference manual for CPSILON, but I hope it also provides an elementary and easy introduction to polynomial elimination in practice. I am indebted to many people whose support and help of various forms have contributed to the development of CPSILON and the work reported in this book. They are too many to be listed here. I only mention four research groups: Mathematics Mechanization Research Center at the Chinese Academy of Sciences in Beijing, Research Institute for Symbolic Computation at Johannes Kepler University in Linz, and the ATINF group at Laboratoire LEIBNIZ of IMAG in Grenoble, where I worked previously and which I visited many times, and the CALFOR group at Laboratoire dTnformatique de Paris 6, which I joined in January 2000. Numerous colleagues, system administrators, staff members, and students from these groups have helped me in different ways over two decades. "Thank you" from the bottom of my heart. Paris, June 2003
Dongming Wang
Contents
1
Polynomial Elimination at Work 1.1 Solving Polynomial Equations 1.2 Proving Geometric Theorems 1.3 Locating Singular Points 1.4 Decomposing Algebraic Curves
1 1 4 9 13
2
The Epsilon Library 2.1 What Is 6PSILON and What It Does 2.2 Design and Implementation
15 15 16
2.3
6PSILON Functions
18
2.4 2.5
Some Experiments Interface, Availability, and Installation
24 26
3
The 3.1 3.2 3.3 3.4 3.5
CharSets Package Introduction CharSets Functions Differential Module Implementation Strategies Experiments and Remarks
28 28 29 35 40 45
4
The TriSys and SiSys Modules 4.1 Introduction 4.2 TriSys Functions 4.3 Differential Triangular Series 4.4 SiSys Functions 4.5 Implementation Issues and Comparisons
50 50 51 55 57 60
5
The GEOTHER Environment 5.1 Specification of Geometric Theorems 5.2 Basic Translations 5.3 Proving Geometric Theorems Automatically 5.4 Automated Generation of Diagrams and Documents
66 66 68 70 72
viii
Contents
5.5 5.6 5.7
Nondegeneracy Conditions and Miscellaneous Functions Implementation Strategies Experiments with Algebraic Provers
73 76 80
6
Relevant Elimination Tools 6.1 Implementations of Triangular Sets 6.2 Grobner Bases Packages 6.3 Computing Resultants and Subresultants 6.4 Miscellaneous Functions
82 82 85 89 91
7
Solving Polynomial Systems 7.1 General Principles 7.2 Solving Zero-dimensional Systems 7.3 Solving Systems of Positive Dimension 7.4 Solving Parametric Systems
95 95 97 107 110
8
Automated Theorem Proving and Discovering in Geometry 8.1 A Simple Algebraic Approach 8.2 Proving Theorems via Zero Decomposition 8.3 Illustration with Examples 8.4 Discovering Geometric Theorems
115 115 121 125 135
9
Symbolic Geometric Computation 9.1 Deriving Locus Equations 9.2 Implicitizing Parametric Objects 9.3 Computing Offsets 9.4 Blending Algebraic Surfaces 9.5 Decomposing Algebraic Varieties
144 144 156 161 166 172
10 Selected Problems in Computer Mathematics 10.1 Computation with Polynomial Ideals 10.2 Factorization of Polynomials 10.3 Qualitative Study of Differential Equations 10.4 Automated Reasoning in Differential Geometry
177 177 181 185 193
A Polynomial Systems: 50 Test Examples
200
B Algebraic Factorization: 55 Examples
202
References
207
Index
215
ELIMINATION PRACTICE Software Tools and Applications
Chapter 1 Polynomial Elimination at Work
The central objects treated in this book are multivariate polynomials. The process of elimination allows one to eliminate variables from some polynomials by using others. This process may sometimes generate very large polynomials, so software tools are required to perform the involved calculations on computer. In this chapter, we use a number of simple examples to show how the elimination of variables works and how to use it to solve various kinds of problems.
1.1
Solving Polynomial Equations
Example 1.1.1. We ask under what condition of X the polynomial equation F = 5xA + 4x3 + 3x2 + Xx + 1 = 0 has a multiple root for x. Let F' = dF /dx, the partial derivative of F with respect to x. It is well known that F = 0 has multiple roots for x if and only if F and F' have a common zero for x. Or, in other words, the discriminant A of F with respect to x vanishes. In order to calculate A, we now introduce the concept of resultants, one of the classical techniques for polynomial elimination. Definition 1.1.1. Let F and G be two univariate polynomials of respective degrees m and n in x with m > n > 0, written as F = aox"1 + aix™-1 + V am G= box" + blX"-1 +•••+ bn
2
Chapter 1. Polynomial Elimination at Work
The following square matrix of dimension m + n fao a\ ••• am flo « i
•••am
ao a\ bo b\ ••• bn b0
bi
•••
bn
>m
V
bo bi
bn )
)
where the blank spaces are filled with 0, is called the Sylvester matrix and its determinant is called the Sylvester resultant of F and G with respect to x, denoted by r e s u l t a n t ^ , G , x ) . According to the theory of resultants, resultant(F,G,x) = 0 if and only if either F and G have a common zero or ao = bo = 0. Returning to Example 1.1.1, we see that the Sylvester matrix of F and F' with respect to x has dimension 7. Evaluation of the determinant of this matrix yields A = r e s u l t a n t (F,F',x)/5 = - 675 X4 + 824 A,3 + 9924 X2 - 30144 ?i +35600 = - (25X2 + 38X- 356) ( 2 7 ^ 2 - 7 4 ^ + 1 0 0 ) . This calculation can be done easily by using the function r e s u l t a n t or discrim together with factor in Maple 8 as follows: >
F := 5*x"4+4*x"3+3*x"2+lambda*x+l; F:=5x4 + 4x3 + 3x2 + Xx+l
> R := r e s u l t a n t ( F , d i f f ( F , x ) , x ) ; R:= 178000- 150720?i + 49620V! + 4120?i 3 -3375A 4 >
factor(R); - 5 (25 X2 + 38 X - 3 5 6 ) (27 X2 - 7 4 X +100)
It follows that F = 0 has multiple roots for x if and only if 25 X2 + 3 8 ^ - 3 5 6 = 0 or27?i 2 -74A,+ 100 = 0. Solving, for instance, the first equation, we get two solutions:
3
1.1. Solving Polynomial Equations
Substituting, for example, the second solution into F = 0, we obtain
F = - L (\0x1 + 6x + 2x\/2\ + n + \/2(\ ( l O x + l - v ^ )
=0.
We see that F = 0 indeed has a multiple root for x, and all its roots may be found out by solving this univariate equation. Example 1.1.2. Solve the following system of polynomial equations: ' X1+X2+X3
=0,
< X\X2 + X2X3 + X^Xl = 0,
(1.1.1)
xix2x3 - 1 = 0. One way of solving this polynomial system is to use the popular method of Grobner bases [8, 1,4], which can transform the given set of polynomials into another set of polynomials of triangular form. This may be done by using the built-in Groebner package of Maple 8 as follows: >
P := [x[l]+x[2]+x[3],x[l]*x[2]+x[2]*x[3]+x[3]*x[l] , x[l]*x[2]*x[3]-l]; P:=
>
[X1+JC2 +X3, X\X2 +X2XT, +X3X1, X\X2XJ,-
G := Groebner[gbasis](P,
1]
plex(x[3],x[2],x[l]));
G:— [—\+X\?',X22+X\2+X\X2,X\+X2
+ XT]
The theory of Grobner bases ensures that the set G of polynomials has the same set of zeros as the set P. Let G; denote the ith polynomial of G. Now we can solve G\ = 0 for x\; let the three solutions obtained be -(k)
~(k)
x\=x\' for k = 1,2,3. For each k, substituting x\=x\ into G2, we obtain a univariate polynomial G2 in X2. Solving G{2] = 0 for X2, we may find two solutions for each k. Altogether there are six sets of solutions for (xi,X2). Substituting each of them into G3, = 0 and solving the resulting univariate polynomial equation for X3, we shall get six sets of solutions of G, = 0, and thus of the given polynomial system (1.1.1), for (xi,X2,xj). The procedure of computing the solutions successively from a triangular set of polynomials may be written as a short Maple program solvet, where the first argument T is a triangular set and the second argument X is the list of leading variables of the corresponding polynomials in T. The six sets of solutions mentioned above may be easily computed from G by using this program as shown below.
4
Chapter 1. Polynomial Elimination at Work
solvet := proc(r, X) local S, T, s, i, n; if nops(r) = 1 then S:=[solve(7i,Xi)]; RETURN('[Xi =5,-]'$(T = L.nops(S))) fi; n :=nops(r); S := [solvet([op(l..«- l , r ) ] , [op(l..n- 1,X)])]; T:={}; for s in S do [solve(subs(op(.y), T„),X„)]; T := Tunion{'[op(s),Xn = %,]'$('/' = l..nops(%))} od;
oP(r) >
end solvet(G, [ x [ l ] , x [ 2 ] , x [ 3 ] ] ) ; [XI -l,X2
= %l,X3 = %2], [Xl = %2,X2 = 1, JC3 = %1],
[X\ = %\,X2 = \,X3 = %2],[XI = 1,JC2 = %2,^ 3 = %1], [JCI = %l,x 2
= %2,x3
= 1], [JCI = %2,x2
= %1,JC3 = 1]
%l:=4 + ^/V3 %2:=-i-I/V5 More examples of solving systems of polynomial equations and inequations will be presented in Chap. 7.
1.2
Proving Geometric Theorems
Example 1.2.1 (Butterfly theorem; Figs. 1 and 2). Let H be the intersection point of two arbitrary chords AB and CD of a circle centered at O, and let the line passing through H and perpendicular to HO intersect AC and BD, respectively, at points E and F. Show that \EH\ = \HF\.
5
1.2. Proving Geometric Theorems
Fig. 1. Butterfly theorem We proceed to prove this theorem by means of algebraic computation. For this purpose, let us take coordinates for the involved points as follows: A(0,0), D(x6,xj),
B(*i,0), //(*g,0),
C(* 2 ,* 3 ), E(x9,xi0),
0(* 4 ,* 5 ), F(xu,xn)-
Here AB is taken as the x-axis to simplify algebraic calculations (though in theory the coordinates of points may be arbitrarily chosen). Then the hypotheses of the geometric theorem may be expressed as polynomial equations by using the standard technique of analytic geometry. In concrete terms, we have: • O is the circumcenter of triangle ABC J h\ = 2*1*4 — x\ = 0, I hi = 2x3x5 + 2*2*4 — 2*1*4 — x\ — *2 + x\ = 0; • D lies on the circumcircle of AABC hi = *i*3*y — *i*3*7 — *i*2*7 + *i*2*7 + *1*3*6 — *i*3*6 = 0;
• H lies on line CD ^=S> /?4 = *7*8 — *3*8 — *2*7 + *3*6 = 0;
• E lies on AC such that EH is perpendicular HO \ h5 = * 2 * 1 0 - * 3 * 9 = 0, I h6 = * 5 *10 - X&C9 + X4X9 + x\ - *4*g = 0;
6
Chapter 1. Polynomial Elimination at Work
F is the intersection point of EH and BD f h-i =X Wprover(Butterfly); Theorem: If the points A, B, and C are arbitrary, the point 0 is the circumcenter of the triangle ABC, the point D is on the circumcircle of the triangle ABC, the two lines AB and CD intersect at H, the point E is on the line AC, the line OH is perpendicular to the line EH, and the two lines EH and BD intersect at F, then H is the midpoint of E and F. Proof:
char set produced: [2 x4 1] [6 x5 1] [6 x7 2] [4 x8 1] [5 x9 1]
Chapter 1. Polynomial Elimination at Work f»: :,£0-i.fct « « • I Animate I Save
Fig. 2. Diagram drawn automatically
pseudo-remainder pseudo-rema i n d e r pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder
[2 xlO 1] [8 x l l 1] [4 x l 2 1] [3 x l l 1] = - x l l + . . . (2 t e r m s ) [9 xlO 1] = x l * x 8 * x l 0 + . . . (8 t e r m s ) [9 x9 2] = -x2*x7*x9 A 2 + . . . (8 t e r m s ) [10 x8 3] = x2 A 2*x8 A 3*x7*x5*x3 + . . . (9 t e r m s ) [36 x7 4] = -x7 A 4*x2 A 5*x5*x3 + . . . (35 t e r m s ) A A A [22 x5 2] = - 2 * x 3 2 * x l * x 2 7 * x 5 2 + . . . (21 t e r m s ) A A [37 x4 2] = - 4 * x 4 2 * x 2 9 * x l + . . . (36 t e r m s ) [37 x 5 2] = -2*x2 A 9*x3*x5 A 2 + . . . (36 t e r m s ) [61 x4 2] = - 4 * x 4 A 2 * x 2 A l l + . . . (60 t e r m s ) [22 X5 ?•} = 4*x2 A 6*x3 A 3*x5 A 2 + . . . (21 t e r m s ) [37 X4 2] = 12*x4 A 2*x2 A 8*x3 + . . . (36 t e r m s ) A A A [30 X5 2) = 2*x3 2*x2 7*x5 2 + . . . (29 t e r m s ) A A [62 x4 2] = 4*x4 2*x2 9 + . . . (61 t e r m s ) [19 x 5 2] = 4*x3 A 3*x2 A 5*x5 A 2 + . . . (18 t e r m s ) [44 x4 2] = 8*x4 A 2*x2 A 7*x3 + . . . (43 t e r m s )
pseudo-remainder pseudo-remainder pseudo-remainder pseudo-remainder
[71 [54 [82 [62
x5 x4 x5 x4
1] 2] 1] 2]
= = = =
-4*x3A2*xl*x2All*x5 + -4*x3*xl*x2All*x4A2 + 2*x3A2*x2All*x5 + . . . 2*x3*x2All*x4A2 + . . .
... ... (81 (61
(70 t e r m s ) (53 t e r m s ) terms) terms)
1.3. Locating Singular Points
9
The theorem is true under the following subsidiary conditions: the the the the the the
three points A, B and C are not collinear line AB is not parallel to the line CD line EH is not parallel to the line BD line AC is not perpendicular to the line AB line DB is not perpendicular to the line AB line OH is not perpendicular to the line CA
QED.
The reader will find more details about GEOTHER in Chap. 5 and see several other examples of geometric theorem proving in Chap. 8.
1.3
Locating Singular Points
A singular point of an algebraic hypersurface F(x\,... ,x„) = 0 is a point on the hypersurface where the derivatives of F all vanish, i.e., dF/dxi = 0 for every ;'. For theoretical studies and practical applications, one often needs to locate the isolated singular points, to investigate the singular variety, or to derive conditions for the existence of singularities of a given algebraic hypersurface. Example 1.3.1 (Barth sextic; Fig. 3). Let us consider the sextic defined by the following implicit equation in three-dimensional affine space:
Fig. 3. The Barth sextic with 65 singular points
Chapter 1. Polynomial Elimination at Work
10
F = 4(Xx2-y2)(Xy2-z2)(Xz2-x2)-(2X-l)(x2
+ y2 + z2-l)2
= 0,
2
where X is a real constant satisfying X — 3X+ 1 = 0. We want to locate all the singularities of the sextic. For this purpose, let F denote the homogenization of F by variable w. Then, (w : x : y : z) is a homogeneous singular point of the sextic if and only if 3f _ dF _ dF __ dF dw dz dy dz One may easily verify that = -2(2l-l)w(x2 + / + z 2 - ^ ) ( i 2 + /+z2-3w2).
^ Now let =
(dF dF dF)
and
^
,.
(dF dF
dF)
F = {dF/dw}l)Q,
Pi = {*2 + y2 + z 2 - l } U Q ,
P 3 = {w}uQ| w = 0 ,
P 2 = {x 2 +y 2 + z 2 - 3 } U Q .
Denote by Zero(P) the set of all common zeros of the polynomials in P. It then follows that Zero(P) = Z e r o ( { w - l}UPi)UZero({w- l}UP 2 )UZero(P 3 ). The following computation shows that the sets Zero(Pi) and Zero(P2) give respectively 30 and 20 finite affine singular points of the sextic, while Zero(Ps) leads to 15 singular points at infinity. Altogether the sextic has 65 homogeneous singular points. > 1 := lambda: 1 F := 4*(l*x~2-y~2)*(l*y"2-z' 2)*(l*z',2-x"2! : /, Fb := F- (2*1-1) * ((x"2+y 2+z"2) "2*w"2-2* (x"2+y"2+z"2) *w*4+w*6) ; Fb := 4(Xx2 -y2) {Xy2-z1) {Xz2 -x2) -(2X-l)((x2+y2+z2)2w2-2(x2+y2+z2)w4+w6) > F := F-(2*1-1) *{x"2+y"2+z"2-ir2; F :=4{Xx2 -y2) (Xy2-z2) (Xz2 -x2) - (2X-1) (x2 +y2 + z2~ l) 2 > factor (diff (Fb,w)) ,• -2(2X-l)w(x2+y2-3w2+z2)(x2+y2-w2
+ z2)
11
1.3. Locating Singular Points
> P := [[1 A 2-3*1+1,x"2+y"2+z~2-l,diff(F,x),di£f(F,y),diff(F,z)], [l"2-3*l+l,x'12+y's2+z',2-3,diff (F,x),diff (F,y),diff (F,z)] , [1*2-3*1+1,w,op{subs(w=0,{diff(Fb,x),diff(Fb,y),diff(Fb,z)})) P := [[X2 - 3X+1,%4, 8XJC%1 %3 - 8%2%lx-4(2A,- 1) %4x,
-8y%l%3 + 8%2Xy%3-4(2A,-l)%4y, -8%2z%3 + 8%2%Uz-4(2X-l)%4z],[^ 2 -3?i+l, xz+f + z1-3,&Xx%l%3-S%2%lx-4(2X-l)%4x, -Sy%l%3 + &%2Xy%3-4(2X-l)%4y, -8%2z%3 + 8%2%lXz-4(2A,-l)%4z],[X. 2 -3X+l,w, SXx%l%3- 8%2%lx, -8y%l%3 + 8%2A,y%3, -8%2z%3 + 8%2%Uzll 2 2 %1 = ^ - z 2 2 %2 ^ x - ? 2 2 %3 = ? L Z - X 2 2 2 %4 = x +y + z -l
[l,w,x,y,z] ,-
X:=[X,w,x,y,z] >
T[l]
:= ICS(P[1] ,X)
%l,x,;y,z-l]J%l,x,;y,z+l] ) [%l,2x-l+X., 2;y-2 + a., 2 z - l ] , [%1, 2 x - 1 + X., 2;y-2 + k, 2z+l],[%l, 2x +1 -X, 2y + 2-X, 2 z - 1], + X,2z+l], [%1,2x+l-X,2y + 2-X,2z+l],[%l,2x+l-X,2y-2 + X,2z-l],[%l,x,y-l,z],[%l,x+l,y,z], [%1,2x+l-X,2y-2 + X,2y+l,2z+l-X], [%1,x,y+l,z],[%l,x-l,y,z],[%l,2x-2 + X],[%l,2x-l + X,2y + 2-X,2z-l}, [%1,2x-2 + X,2y+l,2z-l + X}, [%1,2x-l+X,2y + 2-X,2z+l],[%l,2x-l,2y-l+X,2z-2 [%11 2 j t - l , 2 y - l + X)2z + 2-X],[%l,2;E + 2 - A , 2 y + l , 2 z + l - A , ] , + 2-X], [%1,2x+2-X,2y+l,2z-l+X],[%l,2x-l,2y+l-X,2z 2x+2-X, 2y-l,2z+l-A,],[%l,2x + 2 A , , 2 ; y l , 2 z - l + A.], [%1 + X],[%\,2x-2 + X)2y-\,2z+\-X], [%1 2x-\,2y+\-X,2z-2 2x-2+X,2y-\,2z-l + X],[%\,2x+l,2y+\-X, 2 z - 2 + A,], [%1 + 2-X],[%l,2x+l,2y-l + X,2z-2 + X}, [%1 2x+l,2y+l-X,2z 2 2x+l,2y-l+X,2z + 2-X)%l:=X -3X+l f%l
Ti:=\
12
Chapter 1. Polynomial Elimination at Work
>
T[2]
:= I C S ( P [ 2 ] , X ) ;
T2:=[%l,x-2 + X,y+l-X,z],[%l,x-2 + X,y-l + X,z], [%l,x + 2-X,y-l + X,z],[%l,x+2-X,y+l-X, z], [%l,x-l,y-l,z-l],[%l,x-l + X,y,z + 2-X], [%l,x-l + X,y,z-2 + X},[%l,x-l,y-l,z+l], [%l,x-l,y+l,z+l],[%l,x+l-X,y,z + 2-X], [%l,x+l-X,y,z-2 + X],[%l,x-l,y+l,z-l], [%l,*+l,y-l,z+l], [%l,x+l,y-l,z-l], [%l,x+l>y+ltz-l},[%l,x,y + 2-X,z-l + X], [%l,x,y + 2-X,z+l-X],l%l,x+l,y+l,z+l], [%l,x,y-2 + X,z+l-X],[%\,x,y-2 + X,z-l + X] %1:=X 2 -3X+1 >
T[3] := I C S ( P [ 3 ] , X ) ;
T3 := [%l,w,Xy+x, -z-2x+xX], [%l,w,y-x+xX, -z+xX], [%l,w,y —x+xX, z+xX], [%l,w,y,z], [%1, w, Xy+x, z — 2x+xX], [%1, w,y—x+xX, — z — 2x+xX], [%l,w,y — x+xX,z — 2x+xX],[%l,w,y+x—xX, — z — 2x+xX], [%1, w,y+x — xX, z — 2x+xX], [%1, w, Xy — x, z — 2x+xX], [%l,w, Xy— x, — z — 2x+xX], [%l,w,x,z], [%l,w,x,y], [%1,w,y+x— xX, — z+xX], [%1,w,y+x—xX, z+xX] %1:=X2-3X+1 > nops ([T [1] ]} ,nops ([T[2] ]) ,nops ([T [3] ]) ,30,20,15 In the above Maple session, function ICS decomposes the polynomial sets Pi, P2, and P3 into 30, 20, and 15 irreducible triangular sets (with respect to the variable ordering X.-<w- CharSet(P,X); [-135z 5 + 25z 6 + 60z 3 + 36,I5yz + 5z3 + 6,xy + z% factors removed = {z}
where C is the list (ordered set) of the three polynomials and F = {z}, the set of removed factors. If CharSet does not succeed for a given input, then there is not much hope of obtaining a characteristic set of another kind. Otherwise, one may wish to compute an ordinary (unmodified) characteristic set; see Sect. 3.2.2. Definition 2.3.1. A finite nonempty ordered set [Ti,T2,...,Tr] of nonconstant polynomials is called a triangular set if
cis(7i) < cis(r2) < • • • < cis(r r ). A quasi-ascending set is either a triangular set or a set of a single nonzero constant.
20
Chapter 2. The Epsilon Library
A quasi-ascending set C is called an F-modified quasi-characteristic set of a polynomial set P if Zero(P/F) C Zero(C) and remset(P,C) = 0, where F is another polynomial set. See Sect. 3.2.1 for the function remset(P,A) := {prem(P,A) | P e P } \ { 0 } ,
(2.3.1)
where P is a polynomial set, A = [A\,... ,Ar] is an arbitrary quasi-ascending set with els (A,) = pi, and prem(P,A):=(° . ,„ A , A [prem{...prem(P,Ar,xPr),...,Ai,xpi) 2.3.2
x * ' = \ "ndpi otherwise.
=
°'
Triangular Series: TriSer
• Inputted a list X = [x\ ,... ,xn] of variables and a polynomial set P or system [P, Q] inX, TriSer(P,X) or TriSer([P,Q],X) returns a fine triangular series [Ti,Ui],..., [Te, Ue] of P or [P, Q] under the variable ordering x\ - 0 is called the order oiP with respect to x,, denoted by ord(F,x,). If degree (P,xij) = 0 for all j ' > 0, then define o r d ^ x , ) := — 1. Let q = ord(/>, x,), d = degree (P, x,?); the pair (q,d) is called the rank of P with respect to x,-, denoted by rank(P,x;). We place (q,d) -< (q',d') ifq 0,
rank(P,xp) = (q,d),
written as P = Poxdp(! + Pi4-l
+ --- + Pd,
Po^O,
where o r d ^ X p ) < q for each i. We call xpq the lead of P, denoted by lead(F), and Po the initial ofP, denoted by ini(F). The differential polynomial dP/dxpq is called the separant ofP, denoted by sep(P). Let Q be another differential polynomial. Pseudo-dividing Q by P and its derivatives in xp, one may get a differential pseudo-remainder formula of the form dki P dksP sep(F)«ini(F)P e = " 1 ^ - + • • • +HMlp-
+R,
36
Chapter 3. The CharSets Package
where a, (3,A:y are nonnegative integers and R a differential polynomial with rank (R,xp) -< (q,d) (see [50, 94]). R is called the differential pseudo-remainder of Q with respect to P and denoted by d-prem( 0), A is also called a differential triangular set. A differential quasi-ascending set A as above is called a differential weakascending set if rank(sep(AJ),xPl) -< rank(A,-,xPi) for each pair j > i, where p, = els (A,-). It is called a differential ascending set if rank(Ay,xPl) -< rank(A,,xPi) for each pair j > i. 3.3.1
dcharset and dmcharset
• Inputted a list X = [t,x\,... ,xn] of variables and a differential polynomial set P in X, dcharset(P,x) or dcharset(P,X,m) returns a differential (quasi-, weak-) characteristic set C of P with respect to the variable ordering x\ -< • • • -< x„. • Inputted a list X = [t,xi,...,xn] of variables and a differential polynomial set P in X, dmcharset(P,X) or dmcharset(P,X,m) returns a modified differential (quasi-, weak-) characteristic set C of P with respect to the variable orderingx\ -< • • • -< x„. For both dcharset and dmcharset, the optional argument m may take one of the following six names: basset, wbasset, qbasset, charsetn, wcharsetn, and qcharsetn. If m takes basset or charsetn, then C is a (modified) differential characteristic set; if m takes wbasset or wcharsetn, then C is a (modified) differential weak-characteristic set; if m takes qbasset or qcharsetn, then C is a (modified) differential quasi-characteristic set. When m is not given, the default charsetn is used.
37
3.3. Differential Module
Let A be as in Definition 3.3.1. For any differential polynomial P, d-prem(P, A) := d-prem(...d-prem(P,Ar),... ,A\) is called the differential pseudo-remainder of P with respect to A. For any differential polynomial set F and differential quasi-ascending set A, we define diss(P) := {ini(/>) | P e F} U {sep(P) | P € P}, drs(P,A) :={d-prem(P,A) | / > 6 P } \ { 0 } . Definition 3.3.2. A differential (quasi-, weak-) ascending set C is called a differential {quasi-, weak-) characteristic set of a differential polynomial set P if C is contained in the differential ideal generated by the differential polynomials in P anddrs(P,C) = 0 . A differential (quasi-, weak-) ascending set C is called an ^-modified differential {quasi-, weak-) characteristic set of P if d-Zero(P/F) C d-Zero(C) and drs(P,C)=0
or
d-Zero(C/diss(C)) C d-Zero(P),
where F is another differential polynomial set. A differential triangular set T is said to be fine if d-prem(/,T) ^ 0 for all / £ diss(T). Clearly, a differential characteristic set C of P is ©-modified. For the algorithms underlying dcharset and dmcharset as well as the functions in the following subsections, refer to [50, 94, 78]. 3.3.2
dcs and dmcs
• Inputted a list X = [t,x\,...,xn] of variables and a differential polynomial set P or system [p,Q] in X, dcs(P,X), dcs(P,X,m), dmcs(P,X), or dmcs(P,X,m) returns a differential (weak-) characteristic series Q , . . . , Ce of P, and dcs([P,Q],X), dcs([P,Q],X,ra), dmcs([P,Q],x), or dmcs([P,Q],X,m) returns a differential (weak-) characteristic series [ Q , Di ] , . . . , [Ce, 3e ] of [P, Q], all under the variable ordering X\
-< • • • -
d r s (x*P HI+2*df (y)*P[2) -z*P[3] , % [ 1 ] , X) ; 0 d C h a r S e t s > dmes(P, X, w b a s s e C ) ;
+ 3x*l
|-5.v.v'.v".v" - +4.v' 2 .v" ! - I2.V" , .V' + 10.V.V"'.\" 2 + 8 A " 4 + . I " A 2 . I " " - . V . V " , + . V 2 . V " " 2 .
3x4 + Sx"y2xx--Sx"2y2x+ l6x,,}y2Ay2-z2Hx,t-y,y+3zx"l[x",yHx,y,,l\y,z] dCharSets> d i e s ( [ P , Q ] , X); [[-5 xx' x" x"' +4jr"2 x"2 - 1 2 A : " ' X" + Wxx'" x"2 + &x"4+x" x2 x"" -xx"3 +x2 x"'2, 3x' + Sx"y2xx"'-ix"2y2x' + \6x"3y2,2y + zl |y',.v"..(.v , "-.v".v , +2.v" 2 H ||.v.y"|.iy-.2y-z|].||.v.r-|. | y \ 2 y - . - | ]
40
.3.4
Chapter 3. The CharSets Package
depend, df, diss, and drs
Inputted a list X = [t,Xi,...,xn]of depend on t.
variables, depend(x) declares that x\,... ,xn all
This declaration should be made before any actual computation. Inputted a differential polynomial p, df (p, j) returns the jth order derivative of p with respect to the derivation variable (declared by depend). If the optional argument j is not given, the default j = 1 is used. The derivatives of variables are switched to the conventional representation with primes (') in display for visibility. Since the derivation variable t does not appear along with the derivatives, the dependence of the other variables on t must be declared in advance by depend. Inputted a list X = [t,x\,...,xn] of variables and a differential (quasi-, weak-) ascending set A with respect to x\ -,.*:) = (o(x,P)}|; A(x,P tdeg(lcoeff(P,x)), min degree(?,Jc)=w(*,P)
min
5(x,P) :=
PEP
term( 1 coe f f (P, x)),
&eqxee(P,x)=w(xf
where tdeg(P) denotes the total degree of P in X and term^) the number of actual terms in P. Then, a partial order of the variables in X with respect to P is introduced as follows. 1. If a variable x e X occurs in one and only one polynomial of P, then x has order higher than all the other variables in X. 2. A variable xeX has order higher than another variable y € X if one of the following holds: (a) Q(x,P) (e)
(f)
a(x,V)=a(y,f , A(JC,P) = A(y,P), co(x,P) = co(y,P), X{xJ (JC,P) = co(y,P), X(x,l X(y,F), A(x,P) = A(y,P), but 8(*,P) < 5(y,
3.5. Experiments and Remarks
45
This partial order is used also for some of the functions in the modules TriSys and SiSys. Under it, the variables in Example A14 of Appendix A can be optimally reordered as z -< x -< y -< r, for instance. .4.6
Differential Case
Taking advantage of the isomorphism between characteristic-set-based algorithms for polynomials and for differential polynomials, we have adopted a simple mechanism to implement routines for the differential case (differential routines for short) from the routines in the algebraic case (algebraic routines). By adding some basic routines and taking care of the differences between the differential and the algebraic case, many of the differential routines are defined from the existing algebraic routines with substitution of their subroutines. An example of the definitions reads as follows. 'charsets/c^basset' := subs('charsets/class l ='charsets/d_class', v charsets/rank' ='charsets/d_rank', 1 charsets/brank' = l charsets/d_brank', 1 charsets/basset'='charsets/d_basset', op('charsets/basset l )) : Such a substitution mechanism provides two obvious advantages: first, the new routines are short, readable, and easy to implement; second, any future modification and enhancement of the algebraic routines will automatically apply to the new differential routines. In fact, most of the techniques we have introduced for efficient computation of characteristic sets and zero decompositions in the algebraic case are valid for the differential counterpart. We only inspected the various routines to see where the techniques cannot be simply mapped; no special effort has been made to add new techniques for the differential case.
5 .5.1
Experiments and Remarks Timing Statistics
All the functions with different options in CharSets lead to many variants. Here we present some test results by taking three problems with given variable ordering for each function. These problems were selected quite randomly but so that they are representative and proper for testing most of the functions. For instance, the
46
Chapter 3. The CharSets Package
first three examples are all chosen so that polynomial factorization over algebraic extension fields is involved. The experiments were made in Maple 8 running on a laptop Pentium III 700 Mhz with 128 MB of memory. The timings are given in CPU seconds and include the time for garbage collection. They are provided to show the magnitude of the computational cost of each function. As the same function applied to very similar problems may result in much different computing times, the limited experiments reported in this section do not necessarily reflect the overall performance of the CharSets functions. We shall add a few remarks on the performance of these functions according to our experiments with other problems. Table 2. Timings for charset and mcharset
Option basset charsetn trisetc wbasset wcharsetn qbasset qcharsetn triset
Example A35 charset mcharset 2.44 6.98 .71 .33 .63 1.08 .94 2.10 .22 .63 .06 .03 .06 .05 .04 .06
Example A14 charset mcharset
Example Al charset mcharset .52 .51 .20 .17 .12 .19 .33 .15 .12 .09 .05 .06 .06 .06 .02 .21
>1800 1852.69 >1800 >1800 >1800 >1800 >1800 >1800
5.36 11.43 72.87 7.22 21.91 1.61 .14 .92
Table 3. Timings for charser and mcs Option
Example 0 charser mcs
basset charsetn trisetc wbasset wcharsetn
.07 .03 .03 .12 .11
.08 .03 .03 .06 .05
Example A35 charser mcs 12.95 2.41 1.71 4.15 1.68
Example Al charser mcs
9.88 2.62 2.67 5.34 2.76
1.91 1.02 .82 .81 1.28
2.61 1.59 2.39 1.12 1.20
Table 4. Timings for ecs and mecs Option basset charsetn trisetc wbasset wcharsetn
Example 0 ecs mecs .08 .03 .03 .13 .12
.08 .05 .02 .12 .21
Example A35 ecs mecs 12.79 2.15 1.68 3.84 1.50
8.55 1.87 2.04 2.55 .92
Example Al ecs mecs 1.94 2.06 .85 .81 .89 .89 .76 .74 .60 1.54
47
3.5. Experiments and Remarks
Table 5. Timings for qics and eics Example 0 qics eics
Option basset charsetn trisetc wbasset wcharsetn
.17 .09 .11 .20 .09
.51 .32 .39
Example A35 qics eics 10.31 3.20 2.97 4.32 4.15
Example Al qics eics 8.41, 4.31 6.98 5.90 4.79
5.68 3.87 3.53
4.60 3.34 4.28
Table 6. Timings for ics and ivd Option basset charsetn trisetc
Example 0 ics ivd .72 .65 .24 .63 .44 .65
Example A35 ics ivd 10.34 10.36 4.11 4.01 2.82 2.51
Example Al ivd ics 10.27 13.03 5.44 8.08 6.47 7.79
Table 7. Timings for csolve and cf actor csolve Example 0 Example A35 Example Al
3.5.2
cfactor .50 9.58 3.31
Example B8 Example B22 Example B23
.24 .21 1.23
Remarks on Performance
1. For (modified) characteristic sets, the computation in the quasi-sense is usually faster than that in the other senses, whereas the computation in the weak-sense is only sometimes faster than that in the standard sense. However, the quasi-sense is theoretically weak. For example, in this sense one is unable to compute the characteristic series since the decomposition algorithm is no longer guaranteed to terminate. Also, the irreducibility of a quasi-ascending set cannot be welldefined. In the same sense, the computation is fast in general if the medial set qcharsetn, wcharsetn, charsetn, t r i s e t , or t r i s e t c is chosen. It is rather slow when the medial set qbasset, wbasset, or basset is used. Here, the choice of basset corresponds to Ritt's original version [50] of the algorithm, the choice of (w, q) charsetn yields Wu's improved version [95], and the choice of t r i s e t and t r i s e t c gives an alternative [59]. 2. charset is sometimes faster than mcharset for small problems, but it is slower for large ones. Consequently, mcs and mecs are respectively faster than charser and ecs for large problems. In general, the output of mcs and mecs is also more succinct than that of charser and ecs. The computing times for
48
Chapter 3. The CharSets Package
charser and ecs, for racs and mecs, and for ics and eics may vary from each other as different strategies are used, but none of them seems superior to its counterpart. In eics an extended zero decomposition algorithm proposed by Wu [89] is implemented. It somewhat speeds up the computation in most cases but produces additional polynomials whose manipulation may consume time at other stages. Note that the implemented algorithms for functions mcs, qics, and ics have a similar structure and all of them examine and remove possible factors, while qics factorizes every polynomial in all ascending sets. Function ics is used as the main subfunction of ivd. Table 8. Timings for dcharsets functions Function
dcharset
dmcharset
dcs
dmcs
dqics
dies
Option
Ex 1
Ex 2
Ex 3
Ex 4
basset wbasset qbasset charsetn wcharsetn qcharsetn
1.89 1.59 1.26 .42 .64 .73
.08 .03 .02 .03 .02 .01
.17 .09 .24 .08 .05 .03
836.13 >1800 >1800 303.05 >1800 >1800
basset wbasset qbasset charsetn wcharsetn qcharsetn
.81 .90 .57 .44 .30 .14
.19 .32 .04 .04 .03 .05
.14 .10 .09 .08 .19 .04
260.63 29.24 27.42 .20 .17 .34
basset wbasset charsetn wcharsetn
7.55 5.91 4.31 4.51
.26 .30 .20 .16
.65 .92 .42 .20
>1800 >1800 1362.98 >1800
basset wbasset charsetn wcharsetn
1.69 1.82 1.25 1.09
.34 .21 .17 .29
1.21 1.42 .48 .24
>1800 39.31 645.05 1156.93
basset wbasset charsetn wcharsetn
1.75 3.50 1.29 3.11
.25 .20 .34 .23
.28 .11 .14 .11
743.95 31.56 35.87 37.66
basset charsetn
2.93 2.23
.22 .33
.14 .27
2085.94 77.10
3. Function csolve is based on an internal function designed for computing a hybrid sequence of ascending sets, weak-ascending sets, and quasi-ascending sets from a given polynomial set. The first few characteristic sets are computed in the quasi-sense for ease and the others are computed in the weak and standard senses in order to ensure the termination. This function used to prepare a sequence of
49
3.5. Experiments and Remarks
triangular sets for polynomial equation solving is often faster than the functions designed for computing characteristic series. 4. During the implementation of CharSets, we have kept in mind the capability of dealing with computationally hard problems. Several strategies are adopted for this purpose and can reduce the computing time for a number of large problems, but they may in turn increase the cost for small problems. Concerning the adoption of these strategies, we have difficulties in judging, before the computation, which kinds of problems are large. For this reason a careful analysis of the practical complexity of the applied algorithms must be made first. Also, one variant of an algorithm may be fast for some problems but very slow for others. We have tried to choose between different algorithms and their variants by examining the type of input according to our own experience. However, this works well only in some cases. The characteristic sets and thus various related zero decompositions are not unique in general. To avoid redundant or unpleasant output expressions, we have also arranged to tidy up the output (this postprocess may be quite expensive). 3.5.3
Test Examples
Example 0 refers to the polynomial set {x\ + X\x\ — X2X4 — X\X2X4 + X\X2 + 3x2, -*1 M + X3 — Xi^2, X3X4 — 2x\
—X\X2—\)
with variable ordering x\ - * * 13t:.:.tf£$£"Y Moreover, we define 0 PH4 1V ..^Zen)(q3) := Zero(q3),
ifZero(«P)=0,
ProjZero(q3) := J {0} otherwise
for the two extreme cases i = n and i = 0, respectively.
4.2
TriSys Functions
Most of the functions in the module t r i s y s have been chosen as CPSILON functions as they are relatively more efficient. Some examples are presented here to illustrate the usage of these functions.
Chapter 4. The TriSys and SiSys Modules
52
4.2.1
Triangular Series: t r i s e r
• Inputted a list X = [x\,... ,xn] of variables and a polynomial set P or system [P, Q] in X, triser(P,x) or triser([P,Q],x) returns a fine triangular series [Ti,Ui], . ..,[T e ,U e ] of Por[P,Q],andtriser(P,X,xt) or t r i s e r ([P,Q],X,x,t) returns a fine triangular series [Ti,Ui],...,[T e ,U e ] of P or [P,Q] with each [T;,U,-] possessing the projection property of dimension k, all under the variable ordering x\ - k}. Example 4.2.1. The polynomial set P in the following session is numbered A29 in Appendix A. It has been used for illustration several times in [63, 78]. >
P := [x~31-x~6-x~y, x~8-z, x~10-t]; X := [ t , z , y , x ] ; P:=[x3l-x6-x-y,xs-z,xw-t] X:-[t,z,y,x]
>
t r i s e r ( P , X);
\[z5-t\ {-1+t3, >
-t5 + 2ts-tn+z6y2 z}}, [[-l+t3,
+ 2z3yt3 + t6, -z3x-z3y
z5-t\
z3y+l,
+
xt3z3-t3],
-t + x2z], {z}], [[t,z,y,x], {}]
t r i s e r ( P , X, a ) ;
[[z5-t4, -t5 + 2t& -tn
+z6y2 + 2z3yt3 +t6, -z3x-z3y
+
xt3z3-t3],
{-l+t3,t}},[[-l+t3,z5-t\z3y+l,-t+x2z],{}},[[t,z,y,x],{}} >
t s o l v e ( [ o p ( P ) , z + t ] , X); {z = 0,t = 0,x = 0,y = 0},{z=l,y=l+2I,t {z=l,y=l-2I,t = -l,x = I}
= -l,x=
-I},
4.2. TriSys Functions
4.2.2
53
tsolve
• tsolve is identical to the CPSILON function Tsolve described in Sect. 2.3.3. See Sects. 3.2.6 and 4.4.2 for other solving functions. 4.2.3
q i t s and i t s
• Inputted a list X—[x\,...,xn]of variables and a polynomial set P or system [P, Q] in X, qits(P,X) or qits([P,Q],X) returns a fine (quasi-irreducible) triangular series [Ti,Ui ] , . . . , [Te,Ue] of P or [p,Q] under the variable ordering x\ < ••• <xn. Function q i t s is identical to the CPSILON function TriSer presented in Sect. 2.3.2. The algorithms underlying q i t s and i t s are described as QualrrTriSer and IrrTriSer in [78] (see also [63]). See Sects. 3.2.4 and 4.4.4 for similar functions. Definition 4.2.2. A triangular series *F is said to be quasi-irreducible if all the polynomials in the triangular sets of *F are irreducible over %. The triangular sets returned by t r i s y s [qits] and sisys [qits] are usually, but not always, quasi-irreducible. The same is true for d t r i s y s [dqits]. The reducibility is due to some post-reduction or simplification. For example, [x, y2 + x— 1] is quasi-irreducible, but the second polynomial becomes reducible when it is reduced/simplified by the first polynomial x. • i t s is identical to the 6PSILON function ICS described in Sect. 2.3.6. This function is quite efficient and will be used for various applications in later chapters. The reader is encouraged to try this function and may consult Sects. 3.2.4 and 4.4.4 for other functions of the same capability. 4.2.4
ivd and rim
• ivd is identical to the CPSILON function IVD described in Sect. 2.3.8. See Sects. 3.2.5 and 4.4.5 for other functions of the same capability and Sect. 4.4.5 for unmixed decomposition of algebraic varieties. Function ivd implements the algorithm IrrVarDec presented in [78], where irreducible characteristic series are computed by t r i s y s [ i t s ] . • rim is identical to the CPSILON function RIM described in Sect. 2.3.7. See Sect. 4.3.2 for its differential counterpart drim. Example 4.2.2. The polynomial set P in the following session is numbered A35 in Appendix A. It has been used as a test example in Sect. 3.5.
54
Chapter 4. The TriSys and SiSys Modules
P:=[bl + b2 + b3-a-b,2b2c2 + 2b3c3-l-b-2b2+2ab, 3b2c22 + 3b3c32 - a-3ab2+ 4b + 3b2 + 3b3, 6b3a32c2-a-3ab-6ab2 + 4b + 6b2 + 6b3, 3 3 2 3 4b2c2 +4b3c3 -l-b-l0b -6b -4b4 + 4ab + 4ab3, 8b3c3a32c2-l-3b-l4b2-12b3-%b4 + 4ab + 4ab2 + 8ab3, \2b3a32c22 - l-b-Ub2ISb3 - I2b4 + %ab+l2ab2 + I2ab3, 2 3 l+lb + 26b + 36b + 24b4-%ab-24ab2-24ab3] X := [b, c2, c3, a, b3, b2, a32, bl] > i t s ( P , X); [12b2+l2b+l,36b4
+ 54b3 + l2c2b2 + 18b2 + 9c2b + c2,
72b5 + 108b4 + 42b3 + 9b2-12c3b2 2
3
4
+
3b-9c3b-c3,
+ 8ab + 24ab2+24ab3,-6b3c32
-l-7b-26b -36b -24b
+ 6ab2-%b-6b2-6b3-3c2
+ 6b3c3c2-3c2b-6c2b2
2b3c3-l-b-2b2+2ab,
2b2c2 +
-6b3a32c2 + a + 3ab + 6ab2-4b-6b2-6b3,-bl-b2-b3 3
2
4
[I2b + 6b + b-l,36b 5
4
3
3
2
2
2
-l-7b-26b2-36b3-24b4 2
2
+ 54b + l2c2b +l%b
72b + W8b + 42b + 9b -12c3b 2
+ 2a
+ 6c2ab,
+
+ a + b], + 9c2b + c2,
3b-9c3b-c3,
+ 8ab + 24ab2 + 24ab3,-6b3c32
3
2
+ 6ab -$b-6b -6b -3c2 2
2b2c2 + 2b3c3-l-b-2b
+ 6b3c3c2-3c2b-6c2b
+ 2a
+ 6c2ab,
+ 2ab, 2
-6b3a32c2 + a + 3ab + 6ab -4b-6b2-6b3,-bl-b2-b3 [l+b,c3,l+a,b2,a32,bl+2 + b3],[l+b,c2,l+a,b3,bl+b2
+ a + b], + 2],
[l + b,c2,c3,l+a,bl + b2+b3 + 2], [l+b,-c3 + c2,l+a,b2 + b3,a32,bl+2],[l+b,l+a,b3,b2,bl+2] > {ivd(P, X)} minus {%};
{} >
rim(P[l]*P[2]-a*P[3]-b*P[4]+P[7]*P[8], P, X) ; true
>
rim(a*P[5]+b*P[4]-bl, P, X);
false Note finally that there are two global variables _f actor i zed. and .reduced. in both TriSys and SiSys. Their default value is assumed to be false. When
4.3. Differential Triangular Series
55
.f a c t o r i z e d . is assigned true, some intermediate polynomials will be factorized. If .reduced, is assigned true, then some heuristic reduction may be performed.
4.3
Differential Triangular Series
The differential counterpart of t r i s y s is the module d t r i s y s , which contains functions for decomposing ordinary differential polynomial systems into (irreducible) differential triangular systems. Definition 4.3.1. A differential polynomial system [T, U] is called a differential triangular system if T is a differential triangular set and J(x)^0 for all J € di s s (T) andx £ d-Zero(TH 7{x\, • •. ,xk}/U), where k = cls(/). A differential triangular system [T,U] is said to be fine if d-prem(£/,T) ^ 0 for all U G U. 4.3.1
dtriser
• Inputted a list X = [t,x\,... ,x„] of variables and a differential polynomial set P or system [P,Q] in X, dtriser(P,x) or dtriser([P,Q],x) returns a fine differential triangular series [Ti,Ui],...,[T e ,U e ] of P or [P,Q], and dtriser(P,X,x lt ) or dtriser([P,Q],X,x,t) returns a fine differential triangular series [Ti,Ui],..., [Te,Ue] of P or [P,Q] with each [T,-,U,-] possessing the projection property of dimension k, all under the variable ordering x\ -< • • • -< xn. The implementation of d t r i s e r is based on the algorithm presented in [72]. See Sect. 3.3.2 for similar functions. Definition 4.3.2. For any nonnegative integer k, a fine differential triangular system T is said to possess the projection property of dimension k if T as a fine triangular system with the occurring derivatives as variables possesses the projection property of dimension k. 4.3.2
d q i t s , d i t s , and drim
• Inputted a list X — [t,x\,... ,x„] of variables and a differential polynomial set P or system [P,Q] in X, dqits(P,X) or dqits([P,Q],X) returns a fine (quasi-irreducible) differential triangular series [Ti,Ui],..., [Te,Ue] of P or [P,Q] under the variable orderingx\ -< ••• -<xn. In fact, function d q i t s is identical to the 6PSILON function dTriSer described in Sect. 2.3.10.
56
Chapter 4. The TriSys and SiSys Modules
Definition 4.3.3. A differential triangular series *F is said to be quasi-irreducible if all the differential polynomials in the differential triangular sets of *F are irreducible over J. Example 4.3.1. The following four ordinary differential polynomials arise from a formulation of Newton's two gravitational laws [97, 68]: Pl=r2-x2-y2, P3 = a'r2 + 2arr',
P2 = a2-x"2-y"2, P4 = x"y - xy",
where x,y,r,a are all functions of t and x1 — dx/dt, x" = d2x/dt2, etc. The differential polynomial set P = {P\,...,P4} may be decomposed into 10 irreducible differential triangular sets as shown in the session below. P := {a2-x"2-y"2,
r2-x2-y2,
x"y-y"x,
r2d + 2arr'}
X := [t, x, y, r, a] > d i t s ( P , X); [ - 4 ( W " 3 + 45x"xix"'x""
- 9x"2xix""' + 30x"x2x'x"'2 -
+ 6x"2xx'2x"! - I8x"4xx' + 4x"3x'\x4x"'2
4x"x'xix"'+4x"2x'2x2
+
- 4x2x"'2y2 + 3x2y2x"x"" + 2xx"x,y2x"' + 6*y 2 x" 3 + 3x2y2x"x"" + x2x"'2r2 - 5x2x"'2y2 + 6xy2x"3 + -2xx"x'y2x",
+ 4x"2x'2r2-2x"2x'2y2,ax
[x, 2y'y" +yf, ,
[x,2y'y"+yy ",y
y-r, a-f],
[-40x x"'
3
3
4x"x,xx"'r2
+yy'",y-r,
+ r,a-y"},[x,2y'y"+yy'",y
a + y"},
+ r,a +
2 3
+ 4x"ix'3,x4x"'2 +
- 2xx"x'y2x"' + 4x"2x'2r2 - 2x"2x'2y2,
- 18x" 2 x 2 xV"
+ 4x"x'x3x"' + 4x"2x'2x2
- 4x2x"'2y2 + 3x2y2x"x"" + 2xx"x'y2xl" + 6xy V 3x2y2x"x""+x2x"'2r2-5x2x,"2y2
+x2+y2,a],
ax + rx"],
+ 45x"x x"'x"" - 9x" x x"'" + 30x"x2x,x"'2
+ 6x"2xx'2x"'-lSx"4xx,
y"],[x2+y2,r,a],
+ y2, ax - rx"], [x", y", -r2
[xx1" + 2x'x",xy' -x'y, -r2+x2+y2, 3
2x"2x'2y2,
+ rx"],
[x, 2y'f
\xx"' + 2x'x", xy' -x'y, -r2+x2
lSx"2x2x'x""
3
+
2x"2x'2y2,
6xy2x"3+4x"x'xx"'r2 ax-rx")
• Inputted a list X = [t,xi,...,x„] of variables and a differential polynomial set P or system [P,Q] in X, dits(P,X) or dits([P,Q],X) returns a sequence of irreducible differential triangular sets T i , . . . , Te with respect to the variable ordering
57
4.4. SiSys Functions
x\ -< • • • -< x„, such that e
d-Zero(P/Q) = yd-Zero(T,/diss(T,) UQ) (in which Q should be replaced by 0 if dits(P,X) is called). In this irreducible case, drs(P,T,-) = 0 and d-prem(
simser([P, { t , 3 * t - 2 } ] , X); [[-t + u + v, -wt + t2 - 2vw + 3vw 2 , 6fwx+ 3t - 6wt- 2 + 3w, -2yw+l+2tx + 2ty-2t,x + y + z-l], [t(-2 + 3t),-9t3 + 2lut2+l2t4-2At3u-l6tu2+\2u2t2 [[-9t2 + 12r3 + I2tu- \2ut2-Au2,-t + u + v,-t-2v 6twx + 3t-6wt-2 + 3w,-2yw+l+2tx + 2ty-2t,x [t(-2 + 3t)}}
>
+ Au3]], + 6vw, + y + z-l],
i t s ( P , X);
[-t + u + v, -3wt +12 + 3fw2 + 2uw- 3uw2, 6fwx+ 3t - 6wt- 2 + 3w, -2yw+l+2tx + 2ty-2t,x + y + z-l], [t,u + v, -2 + 3w,-l+Aux-u,Ay-3,Axl+Az], [-2 + 3t,-2 + 3u + 3v,-2 + 3w,Ax-I, I-3v+ Avy,-3 +Ay+ Az]
4.4. SiSys Functions
59
• Inputted a list X = [x\,... ,x„] of variables and a polynomial set P or system [P, Q] inX, i t s (P, X) or i t s ([P, Q], X) returns an irreducible triangular series T i,..., T e of P or [P, Q] under the variable ordering x\ -< • • • -< x„. In this case, remset(P,T,) = 0 and prem(g,T,-) ^ 0 for all 1 < / < e and Q G Q, so the sequence T i , . . . ,T e is also called an irreducible {weak-) characteristic series of P or [P,Q]. The basic operation and elimination strategies used in these two functions (qits and i t s ) are the same as those used in sisys [ t r i s e r ] . See Sects. 3.2.4 and 4.2.3 for similar functions. 4.4.5
ivd and uvd
• Inputted a set or a list X = [x\,... ,x„] of variables and a polynomial set P in X, ivd(P,X) returns a sequence of irredundant polynomial sets P i , . . . ,P e such that (2.3.3) holds and each Zero(P,) as an algebraic variety is irreducible. Example 4.4.2. The polynomial set P below has appeared in Example 3.2.1. Here Zero(P) is decomposed by ivd into two irreducible components and it is unmixed. P := {X1.X4+X3 — xi^2,X3X4 — 2x22—X1X2— 1, X42 + X\ X42 —X2X4~ X\ X2X4 + X\ X2 + 3X2} X := [xi,X2,X3,X4]
> q i t s ( P , X); [[l+Xl,X2,-l+Xi2,X4-X3],
{}],[[-2xiX2+l+Xl + 2x 2 2 + 2xiX 2 2 ,
X\ + 2x\X22 + Xl2X2 + XI2 -X3X1X2, X1X4 + X3 - X1X2], {X\, 1 + X l } ] , [[X\, 2JJ22 + l,X3, X42 + 3x 2 - X2X4 + X3], {}} >
i v d ( P , X); [-2jClX2 + l + X l + 2x2 2 + 2xiX2 2 , -2x\X2+X\+X3,X4 2
+ X2- 1],
2
[-2X1X2 + 1 + Xl + 2X2 + 2xiX2 , X\ X2 - Xi + X3, X4 - 2X2 + 1] >
UVd(P, X);
[—2X]X2+ 1 +Xl+2X2 2 +2xiX2 2 ,X3 2 — X3X1X2 -2X2 2 +Xi 2 X2+ 2xiX2- 1, X1X4 + X3 —X1X2, 2X4X22+X4 —2X22X3+ 2X3X2—X3 — 2X23 — X2, X3 X4 — 2X22 — Xl X2 — 1, X42 — X2X4 — 2X22 + 3X2—1]
60
Chapter 4. The TriSys and SiSys Modules
• Inputted a set or a list X = [x\,... ,x„] of variables and a polynomial set P in X, uvd(P, X) returns a sequence of polynomial sets F j , . . . , P c such that (2.3.3) holds and all the irreducible irredundant subvarieties of Zero(P,) are equidimensional for each i. Moreover, Ideal(P,) is radical for all 1 < / < e. In ivd (which is an implementation of the algorithm IrrVarDec from [78]), irreducible characteristic series are computed by sisys [ i t s ] . Except in the case e = 1 for ivd, the above P; are all Grobner bases with respect to the purely lexicographical term order determined by x\ -< • • • -< xn.
4.5
Implementation Issues and Comparisons
There are a few technical issues which need be handled carefully for an efficient implementation of the functions in TriSys and SiSys. In this section, we discuss some of these implementation issues and provide experimental comparisons to show the efficiency of different functions for similar computational tasks. 4.5.1
Removal of Factors
In TriSys and SiSys, we always work with polynomial systems. The elimination proceeds by turning an arbitrary polynomial system to a triangular system of some kind step-by-step. In this process, there is always a polynomial system [P, Q] under consideration, and with which Zero(P/Q) is of concern. Let F be a factor of some polynomial Q £ Q. If F divides a polynomial P £ Q \ {Q}, then P in Q should be replaced by P/F. Similarly, if some polynomial P € P is divisible by F, then we should also replace P by P/F. The removal of such factors F is essential for keeping the polynomials in P and Q small and must be carried out along with the elimination process as early as possible. 4.5.2
Bottom-up Simplification
Most of the algorithms implemented in TriSys and SiSys employ a top-down elimination strategy. This strategy has proven to be effective in general. However, it may not work well if the polynomial system under processing has a special structure. Consider, for instance, a polynomial set of the form {x,y-
l,F(x,y,z),G(x,y,z)}
with x -< y -< z, where F and G are two large polynomials in x,y,z. Obviously, we should first simplify F and G by x = 0 and y = 1, or in other words, reduce F and
4.5. Implementation Issues and Comparisons
61
G by [x,y — 1]. This reduction may be considered as bottom-up elimination and will clearly simplify F and G. Should we insist on using the top-down strategy, we would have to do elimination with the large F and G for z first, which could be much more expensive. Now consider another situation, where the polynomial set has the form Y={A(x),B(x),F(x,y,z),G{x,y,z),H(x,y,z)} with x - 1. The replacement does not change the zero set of [T, U] because the initials of the 7} are implied (by definition) to be nonvanishing. The freedom of replacement allows us to perform some reductions optionally to keep the polynomials in triangular systems as small as possible. A useful operation for triangular sets is normalization (see Definition 6.4.1 and function miscel [normat] presented in Sect. 6.4). For a regular or simple system [T, U] with T = [7i,..., Tr], ini(7j) is collected and then made free of the leading variables of T\,..., 7}_i. Such initials rendered into different forms are kept in U, while the polynomials 7} remain unchanged. This treatment may be considered as alternative normalization which only affects ini(7}), but not 7} (as the reductum of Ti is not normalized), and has the advantage that extra computation and possible growth of the size of 7} are avoided. This is of interest because normalization often increases the size of the polynomial T being normalized. However, normalization may also decrease the size of T or leads to a nonconstant content of T; in this latter case, removal of the content may yield a smaller polynomial. Therefore, one may perform normalization for T optionally: take the normalized triangular set if it is simpler than T and stop the normalization process when the occurring polynomials become too large. We have used optional reduction and normalization as explained above in some routines. A global variable .reduced, is introduced in TriSys and SiSys to enable optional reduction. 4.5.5
Experimental Comparisons
As shown in [2, 63, 69, 77], the method proposed by the author in 1993 is among the most efficient elimination methods available. Indeed, the TriSys functions for triangular decompositions are the most efficient in the CPSILON library. Function sisys [regser] also works well, but sisys [simser] is rather slow. The other functions in SiSys are comparable with the functions in CharSets in terms of efficiency. The comparisons provided below serve as guidelines for the user to choose among different functions for similar computational tasks. The user is always advised to try alternative functions. As usual, there does not exist a function which is superior to another (for the same task) in all cases. We are unable to provide comparisons for all the functions with different options (which are too many). The functions shown in Tables 9-11 are the author's favorite ones, which we would like to encourage the user to try. The experiments are made for the 50 examples listed in Appendix A, and as before, in Maple 8 on a laptop Pentium III 700 Mhz. The cases marked with * were rejected by Maple for "object too large" or "out of memory" and the times are given in CPU seconds. The default options are used for CharSets functions, and t r i s y s [ t r i s e r ] in Table 10 is called with full projection.
4.5. Implementation Issues and Comparisons
63
Table 9. Timings for triangular decompositions Ex Al A2 A3 A5 A6 A8 A9 A10 All A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A32 A33 A35 A36 A37 A38 A39 A41 A42 A43 A44 A45 A46 A47 A48 A49
charsets [mcs] 1.66 37.12 >2000 .46 .13 .08 .21 .01 .06 .56 .01 >2000 .71 >2000 23.42 .06 .71 .17 >2000 5.62 .89 1.73 >2000 .96 .60 .71 2.51 207.53 .47 21.81 2.55 .02 .05 .63 8.39 4.74 .04 1.93 >2000 .36 .14 16.08 .08 .56
trisys [triser] .85 7.88 209.68 .31 .09 .03 .44 .01 .04 2.31 .01 157.90 .10 125.49 4.23 .03 .24 .02 * .89 .10 .60 5.94 .58 .08 .10 .05 >2000 .16 1.14 1.02 .01 .03 .11 1.38 2.27 .02 1.06 3.12 .09 .04 1.34 .03 2.87
sisys [triser] 1.20 22.43 * 2.00 .22 .09 .87 .04 .07 .64 .03 301.16 .57 2.96 57.36 .10 2.81 .03 >2000 2.75 .47 2.42 37.59 .55 .28 .60 .92 >2000 .37 3.47 3.48 .02 .07 .54 2.28 4.65 .11 239.14 6.14 .42 .30 6.03 .13 39.82
charsets [qics] 3.87 26.80 * .29 .19 .10 .39 .01 .12 1.18 .01 2281.54 .60 >2000 20.27 .05 .80 .20 >2000 2.28 9.57 2.28 >2000 .39 .82 .63 3.71 407.83 .72 19.06 2.91 .03 .06 .72 4.26 5.20 .10 1.12 137.37 .80 .27 24.56 .32 .84
trisys [qits] 1.32 6.49 222.32 .42 .44 .04 .26 .01 .05 .19 .01 97.51 .34 36.22 2.92 .06 .60 .01 1.14 1.41 .34 .88 56.68 .84 .16 .16 .09 >2000 .15 .80 1.04 .01 .02 .17 1.43 3.16 .04 1.82 1.93 .17 .05 .74 .05 5.10
sisys [qits] 4.61 26.61 >2000 2.86 .54 1.94 1.00 .04 .11 .81 .03 134.94 .94 2.27 72.68 .11 2.56 .03 2080.94 4.79 1.17 4.76 17.27 1.57 .57 .83 1.61 >2000 .63 5.14 6.78 .03 .08 .85 3.94 49.91 .14 206.24 8.48 .51 .59 4.05 .17 42.83
Chapter 4. The TriSys and SiSys Modules
Table 10. Timings for various decompositions Ex Al A2 A3 A5 A6 A8 A9 A10 All A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A32 A33 A35 A36 A37 A38 A39 A41 A42 A43 A44 A45 A46 A47 A48 A49
trisys [triser] .58 9.67 >2000 .37 39.86 .02 .24 .01 .02 3.49 .01 >2000 6.48 >2000 >2000 .06 >2000 .07
* 1773.00 .08 4.19 >2000 .43 .25 .67 .04 >2000 .12 .85 .94 .01 .02 3.17 17.03 1.65 .03 >2000 2.47 .43 .07 18.09 .03 2.55
sisys [regser] 1.21 24.05 >2000 2.03 .21 .11 .88 .03 .09 .73 .02 >2000 .73 3.27 56.21 .10 2.48 .03 >2000 8.51 .61 3.05
* .54 .26 .74 1.13 >2000 .38 4.47 4.10 .02 .06 .72 4.02 4.64 .10 208.14 11.65 .32 .43 10.32 .12 >2000
sisys [simser] 3.30 24.63 >2000 2.19 .28 .18 1.02 .05 .40 .99 .09 >2000 .98 2.96 80.40 .13 3.30 .04 >2000 7.58 >2000 10.35 >2000 .58 .34 1.10 1.50 >2000 .64 3.93 4.61 .03 .08 .93 6.49 7.46 .11 1052.51 6.50 .35 .47 81.30 .15 2094.09
sisys [uvd] 3.87 38.63
* 2.31 .26 .68 1.07 .05 .47 .99 .09 >2000 1.00 3.23 85.66 .13 3.37 .06 >2000 8.16 >2000 12.88 >2000 1.30 .52 1.23 >2000 >2000 3.06 >2000 5.33 .03 .09 1.33 7.31 8.42 .11 986.76 21.70 .38 .50 >2000 .34 1724.46
charsets [pid] 2307.21 >2000
* 13.84 123.34 2.96 9.44 .39 .90 381.76 .16 >2000 .73 1769.41 >2000 .93 >2000 3.06 >2000 58.02 9.42 >2000 >2000 2.72 20.06 3.87 76.97 47.88 63.83 >2000 >2000 .31 1.08 3.90 38.07 >2000 3.74 303.56 >2000 3.19 .33 >2000 4.23 4.37
4.5. Implementation Issues and Comparisons
65
Table 11. Timings for irreducible decompositions Ex Al A2 A3 A5 A6 A8 A9 A10 All A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A32 A33 A35 A36 A37 A38 A39 A41 A42 A43 A44 A45 A46 A47 A48 A49
charsets [ics] 5.48 31.25
* 3.54 .16 .08 .42 .01 .13 1.33 .02 2338.80 .57 2410.48 19.83 .05 .82 .30 >2000 2.44 6.46 2.54 >2000 .50 .85 .73 5.27 809.24 .53 16.09 4.06 .02 .07 .65 3.63 5.59 .16 4.82 94.19 .76 .14 >2000 .20 .99
trisys [its] 1.68 7.03 235.15 .49 .25 .04 .34 .01 .07 .24 .01 165.79 .15 32.33 4.34 .06 .45 .02 2.00 1.44 1.44 1.07 14.28 .58 .15 .17 .84 >2000 .17 1.04 1.18 .02 .04 .16 1.58 5.38 .04 5.23 3.20 .18 .05 3.22 .06 4.95
sisys [its] 5.38 24.64 >2000 6.30 .53 .52 .95 .04 .12 .82 .03 180.58 .89 2.14 70.14 .10 2.35 .03 2150.72 4.79 2.80 4.88 29.50 .52 .56 .88 3.69 >2000 .64 5.47 6.68 .03 .08 .94 4.42 61.82 .13 224.65 8.63 .68 .63 5.98 .20 60.50
charsets [ivd] 8.00 41.83 >2000 3.09 .17 .10 .40 .01 .12 1.37 .01 1902.95 .58 2407.07 19.65 .06 .77 .28 >2000 2.28 9.58 2.73 >2000 .40 .83 .62 5.03 565.07 .66 18.72 3.83 .02 .07 .66 3.80 7.16 .09 4.74 89.17 .83 .08 >2000 .26 .90
trisys [ivd] 3.10 16.26 249.72 .53 .23 .03 .33 .01 .05 .36 .01 114.79 .16 39.06 4.26 .06 .44 .02 1.90 1.27 1.39 1.25 4.43 .77 .16 .17 .71 >2000 .14 .70 1.16 .02 .04 .20 1.35 4.17 .05 5.32 4.12 .18 .05 353.84 .06 7.04
sisys [ivd] 6.56 23.74 >2000 3.09 .54 .10 1.27 .03 .10 .94 .03 159.38 .89 2.31 77.34 .12 2.46 .03 2226.31 4.69 1.94 5.04 6.06 1.53 .60 .92 2.12 >2000 .62 5.41 7.00 .03 .09 .93 4.47 53.74 .17 238.32 9.42 .66 .58 1704.65 .13 52.89
Chapter 5 The GEOTHER Environment
The application module GEOTHER provides an environment for handling and proving theorems in geometry automatically. In this environment, geometric theorems are represented by means of predicate specifications. Several functions are implemented that allow one to translate the specification of a geometric theorem into an English or Chinese statement, into algebraic expressions, and into a logic formula automatically. Geometric diagrams can also be drawn automatically from the predicate specification, and the drawn diagrams may be modified and animated with a mouse click and dragging. Five algebraic provers based on Wu's method of characteristic sets, the Grobner basis method, and other triangularization techniques are available for proving such theorems in elementary (and differential) geometry. Geometric meanings of the produced algebraic nondegeneracy conditions can be interpreted automatically, in most cases. PostScript and HTML files can be generated, also automatically, to document the manipulation and machine proof of the theorem. This chapter presents these capabilities of GEOTHER, addresses some implementation issues, and reports on the performance of GEOTHER's algebraic provers.
5.1
Specification of Geometric Theorems
We recall the following specification of Simson's theorem: Simson := Theorem( [arbitrary(A,B,C), oncircle(A,B,C,D), perpfoot(D,P,A,B,P), perpfoot(D,Q,A,C,Q), perpfoot(D,R,B,C,R)], collinear(P,Q,R), [x5, x6, x7, x8, x9] ); This is a typical example of predicate specification, which will be used throughout the chapter for illustration. In general, a geometric theorem specified in GEOTHER
67
5.1. Specification of Geometric Theorems
has the form T := Theorem(H, C, X) where Theorem is a predicate specially reserved, T is the name, H the hypothesis and C the conclusion of the theorem, and the optional X is a list of dependent variables. The hypothesis H is a list or set of geometric predicates or polynomials, while the conclusion C may be a single geometric predicate or polynomial, or a list or set of predicates or polynomials. Geometric predicates are usually of the form Relation(A, B, C , . . . ) which declares a geometric relation among the objects A, B, C, For example, oncircle(A, B, C, D) declares that "the point D i s on the circumcircle of the t r i a n g l e ABC and c o l l i n e a r ( P , Q, R) declares that "the three points P, Q and R are collinear." Most of the arguments to the geometric predicates in GEOTHER are points in the plane. In order to perform translation, drawing, and proving, coordinates have to be assigned to these points, so that geometric problems may be solved by using algebraic techniques. The assignment of coordinates can be done either manually by the function Let or automatically by the function Coordinate. 5.1.1
Let and Coordinate
• Inputted a sequence T of equations Pi = [xi,vi],. ..,P„ = [xn,y„], Let (T) assigns the coordinates (jt,-, j,) to each point P,- for 1 < i < n. For instance, the coordinates of the points in Simson's theorem may be assigned by Let (A = [ - x l , 0 ] , B = [ x l , 0 ] , C = [x2,x3], D = [x4,x5], P = [x4,0], Q = [x6,x7] , R = [x8,x9] ) :
A point may be free if both of its coordinates are free parameters, or semi-free if one coordinate is free and the other is a dependent variable (constrained by the geometric condition), or dependent if both coordinates are dependent variables. All the dependent coordinates listed according to their order of introduction are supplied as the third argument X to Theorem. • Inputted the predicate specification T of a geometric theorem, Coordinate (T) reassigns the coordinates of the points appearing in T and returns a (new) specification of the same theorem, in which only the third argument (i.e., the list of variables) is modified. For example, Coordinate (Simson) reassigns the coordinates [ul,0],
[u2,0],
[0,vl],
[xl,yl],
[x2,y2], [x3,y3],
[x4,y4]
68
Chapter 5. The GEOTHER Environment
respectively to the points A, B, C, D, P, Q, R in Simson's theorem. The output specification is the same as Simson but the third argument is replaced by [xl, y l , x2, y2, x3, y3, x4, y4]. 5.1.2
Algebraic Specification
There are a (limited) number of geometric predicates available in GEOTHER, which are implemented mainly for specifying theorems of equality type in plane Euclidean geometry. The user may add new predicates to the environment if he or she looks into the GEOTHER code and figures out how such predicates may be implemented (which in fact is rather easy). If the user wishes to specify a geometric theorem but cannot find applicable predicates to express the involved geometric relations, he or she may transform the geometric relations (for the hypothesis and conclusion) into algebraic equations manually and provide the set of hypothesis polynomials to H and the conclusion polynomial or the set of conclusion polynomials to C. For example, the following is an algebraic specification of a theorem in solid geometry: Solid := Theorem! {2*ul*x7-ul*(u2+u4), 2*(u2-ul)*x7+2*u3*x8-u4*(u2-ul)-u3*u5, 2*(u4-u2)*x7+2*(u5-u3)*x8+2*u6*x9-ul*(u4-u2), (2*u2-ul)*xll-2*u3*xl0+ul*u3, (u2-2*ul)*xll-u3*xl0+ul*u3, 4*xl2-3*xl0-u4, 4*xl3-3*xll-u5, 4*xl4-u6, 2*xl5-ul, 2*u2*xl5+2*u3*xl6-u2A2-u3A2, 2*u4*xl5+2*u5*xl6+2*u6*xl7-u4A2-u5A2-u6A2}, {Xl3*xl5+x7*xl6+x8*xl2-x7*xl3-x8*xl5-xl2*xl6, X9*xl2+xl4*xl5+x7*xl7-x7*xl4-x9*xl5-xl2*xl7}, [X7,x8,x9,xl0,xll,xl2,xl3,xl4,xl5,xl6,xl7] ) ;
Geometric theorems with algebraic specifications may be proved by any of the algebraic provers as well. However, English and Chinese translation, automated diagram generation, and automated interpretation of nondegeneracy conditions do not work for algebraic specifications.
5.2
Basic Translations
The predicate specification (together with the optional assignment of coordinates by Let) is all what is needed for handling and proving the theorem.
69
5.2. Basic Translations
5.2.1
English and Chinese
• Inputted the predicate specification T of a geometric theorem or a geometric predicate T with arguments, English (T) translates T into an English statement. For example, English (Simson) yields Theorem: If the points A, B, and C are arbitrary, the point D is on the circumcircle of the triangle ABC, P is the perpendicular foot of the line DP to the line AB, Q is the perpendicular foot of the line DQ to the line AC, and R is the perpendicular foot of the line DR to the line BC, then the three points P, Q and R are collinear. and English (perpfoot(D, P, A, B, P)) yields: P is the perpendicular foot of the line DP to the line AB • Inputted the predicate specification T of a geometric theorem or a geometric predicate T with arguments, Chinese (T) translates T into a Chinese statement. For example, Chinese (Simson) yields
%-&MDRMT£.mBC®mB.
JMP. Q ,
R H & # £ .
and Chinese (oncircle (A, B, C, D)) yields: D&teTHfcJgABCttfl>8HI± 5.2.2
Algebraic and Logic
• Inputted the predicate specification T of a geometric theorem, or a geometric predicate T with arguments, or a sequence T of points occurring in the current theorem loaded to the GEOTHER session, Algebraic (T) translates T into an algebraic specification of the theorem or into one or several algebraic expressions, or prints out the coordinates of the points in T. The output algebraic specification has the same form as the predicate specification T, but the geometric predicates are replaced by their corresponding polynomials (or polynomial inequations). Usually, a polynomial means a polynomial equation (i.e., "= 0" is omitted), and a polynomial inequation is represented by means of " 0." For example, Algebraic (Simson) yields 2 2 2 2 2 2 Theorem([2 xl (xl x3 - xl x5 - x5 x3 + x5 x2 - x4 x3 + x5 x3 ) , x6 x2 + x6 xl - x4 x2 - x4 xl + x3 x7 - x5 x3, -x6 x3 - x3 xl + x7 x2 + x7 x l ,
70
Chapter 5. The GEOTHER Environment
x8 x2 - x8 xl - x4 x2 + x4 xl + x3 x9 - x5 x3, -x3 x8 + x3 xl + x2 x9 - xl x 9 ] , -x7 x8 + x7 x4 + x6 x9 - x4 x9, [x5, x6, x7, x8, x9] )
Algebraic (A, B, C, D, P, Q, R) prints [-xl,
0 ] , [xl, 0 ] , [x2, x3] , [x4, x5] , [x4, 0 ] , [x6, x7] , [x8, x9]
and Algebraic (not c o l l i n e a r ( P , Q, R)) yields: -x7 x8 + x7 x4 + x6 x9 - x9 x4 0
• Inputted the specification T of a geometric theorem, Logic (T) translates T into a logic formula. For instance, the output of Logic (Simson) is: (Any D A R B C P Q) [ oncircle(A,B,C,D) A perpfoot(D,P,A,B,P) A perpfoot(D,Q,A,C,Q) / \ perpfoot(D,R,B,C,R) ==> collinear(P,Q,R) ]
The translations explained in this section are simple and straightforward. A more complicated translation discussed in Sect. 5.5.1 is for interpreting algebraic nondegeneracy conditions geometrically.
5.3
Proving Geometric Theorems Automatically
The five provers presented in this section are the algebraic proof engine of GEOTHER. They are implemented on the basis of some sophisticated elimination algorithms using characteristic sets, triangular decompositions, and Grobner bases. In fact, the main subroutines of these functions are from the modules CharSets and TriSys and the Maple built-in Groebner package. The reader is pointed to Chap. 8 and the references given below in which the proving methods underlying our implementation are described. 5.3.1
Wprover
• Wprover is identical to the CPSILON function Prove presented in Sect. 2.3.11. This function is essentially an implementation of Wu's method as described in [98]. A machine proof produced by the prover has been shown in Example 1.2.1. The geometric interpretation of algebraic nondegeneracy conditions is done by using the function Generic (see Sect. 5.5.1).
5.3. Proving Geometric Theorems
5.3.2
71
Gprover
• Inputted the specification T of a geometric theorem, Gprover (T) or Gprover (T, Kapur) proves T (without providing subsidiary conditions) or reports that it cannot confirm the theorem. Gprover is an implementation of Kutzler-Stifter's method as described in [37] and Kapur's method as described in [35], both based on Grobner bases. The former is used if the optional second argument is omitted or given as KS, and the latter is used if the second argument is given as Kapur. 5.3.3
GCprover
• Inputted the specification T of a geometric theorem, GCprover (T) proves T, with subsidiary conditions provided, or reports that it cannot confirm the theorem. GCprover is an implementation of the method proposed in [74] and described in Sect. 8.1. It works by first computing a Grobner basis plus normal-form reduction (over the ground field) according to Kutzler-Stifter's approach [37] and, if this step fails, then taking a quasi-basic set of the computed Grobner basis and performing pseudo-division. In this way, subsidiary conditions may be provided explicitly. 5.3.4
Tprover
• Inputted the specification T of a geometric theorem, Tprover (T) proves or disproves T, with subsidiary conditions provided. Tprover implements the method using zero decomposition proposed by the author in [67] (see Sect. 8.2). The system of hypothesis polynomials (for both equations and inequations) are fully decomposed into (irreducible) triangular systems. The theorem is proved to be true or false for all the components including degenerate ones, so the provided subsidiary conditions are minimized (see Sect. 5.6.5). 5.3.5
Dprover
• Inputted the algebraic specification T of a (differential geometry) theorem in the local theory of curves, Dprover (T) proves or disproves T, with algebraic subsidiary conditions provided. Dprover implements the method using ordinary differential zero decomposition proposed in [68] (see also Sect. 10.4). The system of hypothesis differentialpolynomials (for equations and inequations) are fully decomposed into (irreducible) differential triangular systems. The theorem is proved to be true or false for
72
Chapter 5. The GEOTHER Environment
all the components including degenerate ones, thus allowing the subsidiary conditions to be minimized.
5.4 5.4.1
Automated Generation of Diagrams and Documents Geometric
• Inputted the predicate specification T of a geometric theorem, Geometric (T) generates one or several diagrams for T. Each generated diagram is displayed in a new window and can be modified and animated with a mouse click and dragging. The Maple function system is used for the interaction with the operating system. Some implementation details about this drawing function are described in [80]. The window shown in Fig. 11 is an output of Geometric (Simson).
Fig. 11. Output of Geometric 5.4.2
Print
• Inputted the current geometric theorem T in the session and optionally its name ' T', Print (T, ' T') generates an HTML file (with Java applet) documenting the
73
5.5. Nondegeneracy Conditions
last manipulations and proof of T and invokes Netscape to view the file. If the optional third argument is given as LaTeX, then Print (T, ' T , LaTeX) generates a PostScript file documenting the theorem and invokes Ghostview to view the file. File
EOT View
Go Comiumcaw
•»:•;:
-otmaru & locator.- p i l e /uM/local/wang/cpsilon/ocothar/htal/qcothatlPtintl.hag
•...-,...•.
Home
2
U
A Search
Netscape
FTM
Security
sitop
geother[Pn
Theo re m: //Me points A. B. and Care arbitrary, thepointD is or. the circur,cirde ofthe ti tangle ABC, Pis the oeipendicular foot of the line DP to the tine AB. Q is the perpendicularfoot ofthe tine DQ to the tine AC. and R is theperpendicularfoot ofthe line DRto the line BC. then the three points P.QandRare cotlinear. Remark: The line containing the feet is Known as the Simson line (or sometimes just the simson) of die point with respect To the triangle. Robert Simson (1687-1768) made several contributions to both geometry and arithmetic... The 'simson' was attributed to him because H seemed to be typical of his geometrical ideas. However, historians have searched through his works for it in vain. Actually it was discovered in 1797 by William Wallace. — H. S. M. Coxeter and S. I.. Greitzer / Geometry Revisited, p. 11
.Hail
Applet geolter running
ij
/
Fig. 12. HTTP document generated by Print The window dumps in Figs. 12 and 13 show parts of the generated documents (with Print(Simson, 'Simson') and Print(Simson, 'Simson', LaTeX)) viewed by Netscape and Ghostview for Simson's theorem.
5.5 5.5.1
Nondegeneracy Conditions and Miscellaneous Functions Interpretation o f Nondegeneracy Conditions
Inputted the predicate specification T of a geometric theorem and a (simple) polynomial p (or a set p of polynomials) in the coordinates of the points occurring in T, Generic (T, p) translates the algebraic condition p 0 with respect to T into geometric/predicate form.
74
Chapter 5. The GEOTHER Environment •1 Ghostview, version 1 . 3 • • •
J
-'il(
>
geotherlPrimldvi
Thu Jul 1702:04:38 20 (315.008) 1 ( FU„ ) 2< 3
( Magstep )
A
(Orientation) ( Media
)
^ /^> \ ^^^
//
l o g i c Formula Uny 1 B C P D Q M parpfcwtCD.Q.i.C.Q)
I nnt.lTcl-U.H.C.il) A A p0rptaox(D,K,B.C,K)
paxpfootCD.P.l.B.P) A —> c a l l i a a i r C P . Q . l O 3
UypMlMdK 14X7 ! | | C x 5 2 | r * r t ll | 6 x 7 l | ( 6 x 9 1] ConrJuwa: [4 xfl l) VoriAhlc ordering ttwd: jx&, xG, x7. xS, xO) Proof. ch*r v i - : pMDd o - x a n l i i dar pMod o-r w 1 ii (*+ 1) (v+ 1) = 0]. In this case, we have four irreducible triangular sets Ti = [x+l,y+l], T3 = [ x - l , v + l ] ,
T2 =
[x+l,y-l], YA=[x-\,y-\]
and the conclusion is false for T4 and true for the other three. The triangular set T4 may be excluded by the subsidiary condition x ^ 1V y ^ 1. This example shows why we need to use disjunction to form subsidiary conditions as proposed in [67]. Nevertheless, subsidiary conditions formed by means of conjunction and disjunction as in [67] may be very tedious. How to simplify the conditions is a question that still remains. We have adopted the following heuristics for Tprover and Dprover. Suppose that the conclusion of the theorem is true for T i , . . . , Te and false for Ti,...,Tf, where the triangular sets T,- andT j are all irreducible. For j = l,...,t, let A;- be the set of those polynomials in T;- whose pseudo-remainders are not identically equal to 0 with respect to all T,. If Ay- = 0, then let Dj := \JT£f .(T ^ 0). Otherwise, let Ej be an element of A; that has the maximum number of occurrences in Ai,...,Af and Dj := (Ej ^ 0). We take Q. := I\D£{DX,...,D,}D a s m e subsidiary condition for the theorem to be true. The generation of Q. requires extra computation. Without this computation the produced condition may exclude more components for which the theorem is true. This may happen for the subsidiary conditions produced by the other provers in GEOTHER. 5.6.6
Soundness Remarks
Since a predicate or algebraic specification of a geometric theorem may be a false proposition in the logical sense, proving the theorem is not simply a yes or no confirmation. Often we want and try to produce a proof of the theorem, even if its specification is not correct logically, by imposing certain subsidiary conditions.
80
Chapter 5. The GEOTHER Environment
This makes the proving problem much harder, in particular, when a bad nonsensical specification is submitted to the prover. In this case, a nonsensical proof of the "theorem" may be produced. This is not the fault of our provers because determining whether a meaningful theorem can be derived from an arbitrary specification is much beyond the scope of the provers. Therefore, the user must make sure that his or her specification of the geometric theorem is correct, or at least almost correct. If a nonsensical proof is produced, we advise the user to check the specification carefully, or try to use a different specification. Moreover, GEOTHER functions for manipulation and proof are made as automatic as possible. To achieve this, we have adopted a number of heuristics at the implementation level. These heuristics may fail in certain cases, and thus some functions may not work or work unpleasantly for some specifications of theorems. It is completely normal if the user gets an automatically drawn diagram that has a poor look or even looks bizarre. GEOTHER is not yet a perfect piece of software, but it shows how geometric theorems can be handled and proved automatically and nicely.
5.7
Experiments with Algebraic Provers
Comparing algebraic provers in terms of computing time is not necessarily instructive because the quality of the proofs produced by different provers may differ. For instance, Wprover and GCprover provide explicit subsidiary conditions, while Gprover does not. Wprover does not verify whether the theorem is true in the degenerate cases, while Tprover does. The purpose of the experiments reported in this section is to provide the reader with an idea about the magnitude of computing time required by different provers for some well-known geometric theorems. In fact, our main interest is not in the quantitative performance of these provers (because the efficiency of the underlying algebraic methods is quite well known); rather we want to see how much qualitatively we can do with algebraic methods for geometric theorem proving. Table 12 shows the times for proving 25 theorems in plane Euclidean geometry using different provers. All the computations were performed in Maple 8 under Linux 2.4.7-10 on a laptop Pentium III 700 MHz with 128 MB of memory. The proving time is given in CPU seconds and includes the time for producing subsidiary conditions and for garbage collection. The cases in which the prover fails to prove the theorem after the indicated time are marked with •. As it is well known, Wu's method (implemented as Wprover in GEOTHER) is the most efficient for confirming geometric theorems. Methods based on Grobner bases (computed over the field of rational functions in parametric variables) are
5.7. Experiments with Algebraic Provers
81
Table 12. Proving times in Maple 8 on Pentium III 700 Gprover Theorem Butterfly Ceva Desaxgues Euler Line Feuerbach Gauss Line Gauss Point Leisenring Menelaus Miquel Morley Morley-Wu Orthocenter Pappus Pascal Pascal Conic Poncelet Ptolemy Secant Simson Simson Line Steiner Steiner-Lehmus Steiner-Wu Thebault-Taylor
Wprover .41 .28 .02 .04 .12 .04 .76 .25 .23 >2000 63.95 1.56 .01 .06 .12 2.68 6.76 .03 .01 .05 .04 4.43 1.38 1.61 10.50
KS
Kapur
.64 1.41 .03 .05 .33 .08 .95 .36 .09 >2000 * 58.92 2.42 .02 .10 1.85 >2000 * .27 .06 .07 .09 .08 *.09 • 15.99 1.91 * .60
2.00 1.64 .06 .08 .44 .11 2.16 .36 .18 >2000 * 34.41 3.09 .04 .15 57.20 >2000 * 2.90 .11 .09 .13 .11 • 7.02 * 443.69 3.08 * 53.18
GCprover
Tprover
>2000 .94 .09 .34 .72 .07 1.71 >2000 .17 >2000 >2000 >2000 .03 2.59 >2000 >2000 • .65 .09 .18 3.62 .65 * .83 • 153.63 >2000 >2000
18.84 1.56 .12 .18 .47 .10 1.58 58.84 .22 >2000 279.09 230.88 .05 1.03 197.11 >2000 2.87 .05 .07 1.07 .54 1.51 3.08 >2000 19.83
slightly slower but also efficient. For GCprover Grobner bases are computed over the ground field (i.e., the field of rational numbers), so the computation is much more expensive. This prover fails to prove some of the theorems within 2000 CPU seconds, while it is capable of deciding whether a geometric theorem is universally true, and if not, providing explicit subsidiary conditions for the theorem to be true. The method based on zero decomposition is also less efficient, but the produced proofs are of higher quality: all the degenerate cases are verified and the generated subsidiary conditions exclude fewer degenerate cases where the theorem is true. For some theorems such as Butterfly, Leisenring and Pascal, a considerable amount of time has been spent to generate such conditions. Finally, the author wishes to thank Roman Winkler and Xiaofan Jin who have contributed to the implementation of Coordinate and Generic respectively. Most of the material presented in this chapter is taken from the paper [81],
Chapter 6 Relevant Elimination Tools
In this chapter we review other existing implementations of triangular-set-based algorithms in different programming languages and provide information about their capabilities and availability. Elimination tools that are slightly different from yet most relevant to our library are Grobner bases packages, which are available in almost all popular computer algebra systems. We point out some of these systems and give a short introduction to the software packages Gb and FGb specialized for Grobner bases computation. Another family of elimination tools, developed on the basis of classical and modern theories of resultants, will be discussed briefly. A few miscellaneous functions are also explained.
6.1
Implementations of Triangular Sets
Elimination methods based on triangular sets provide effective tools for computation and reasoning with polynomial systems. Among them the characteristic set method of Wu [87, 89, 92, 98] and Ritt [50] is perhaps the earliest and also the best-known in the modern era of computation. They are ideal alternatives to methods based on Grobner bases and resultants, and are often more efficient, for many geometric applications. Indeed, one of the most successful applications of Wu-Ritt's method of characteristic sets is automated theorem proving in geometry, and the method was implemented (in Fortran, Lisp, Macsyma, Scratchpad II, etc.) by Wu, his students and associates, and researchers from USA and Europe in the 1980s mostly for this purpose. In the 1990s, several implementations were made (in Lisp, Maple, and SACLIB) by members of Wu's extended Chinese group. The reader may consult [30, 16] for brief descriptions of some early geometric theorem provers and algebraic equation solvers based on characteristic sets. The method has also been implemented in Scratchpad II by M. C. Gontard. Despite the pity that most of these implementations are not publicly available, the
6.1. Implementations of Triangular Sets
83
reader may still find a few available ones, for example, a simple implementation of Wu's method by R. Bradford (from the University of Bath, UK) in • Reduce (http://www.uni-koeln.de/REDUCE/), a more complete implementation by Gao and Chou included in the system [26] • GEX (http://www.mmrc.iss.ac.cn/~xgao/gex.html) for automated geometric reasoning, and those mentioned below. The author has been advocating the development of triangular set methods for more than a decade. One of his efforts is the maintenance of the CharSets package [65], which provides a general and complete implementation of Wu-Ritt 's method of characteristic sets (together with a few relevant algorithms) in Maple. This package has been distributed with Maple's share library since 1991, now available from • Maple Application Center (http://www.mapleapps.com/maplelinks/share/charsets.html) and on the author's web page. Its current version, included in the CPSILON library for distribution with this book, has been presented in detail in Chap. 3. Part of CharSets was reimplemented by M. W. Messollen (from Saarland University, Germany) in a library for • Singular (http://www.singular.uni-kl.de/) and • Macaulay 2 (http://www.math.uiuc.edu/Macaulay2/) and by T. Shimoyama (from Fujitsu Laboratories Limited, Japan) in • Risa/Asir (http://www.asir.org/) for the purpose of primary decomposition [55]. Some of the routines in • Singular-libfac (ftp://www.mathematik.uni-kl.de/pub/Math/Singular/Libfac) and the function char.series written by Messollen in Singular are based on the computation of characteristic sets. In Singular the reader may also find a t r i a n g library (written by D. Hillebrand) that contains functions for computing triangular systems from the Grobner bases for zero-dimensional ideals. The library Singularlibfac is also incorporated into Macaulay 2, in which there is a function called i r r e d u c i b l e C h a r a c t e r i s t i c S e r i e s . This function is also used for decompose that decomposes algebraic varieties into irreducible components. Currently, the CharSets package is being translated into
84
Chapter 6. Relevant Elimination Tools
• Maxima (http://maxima.sourceforge.net/) by D. Stanger from the project development team in USA. The popularization of triangular-set-based methods suffers from the lack of available implementations. A recent effort to help improve the situation has been made by Aubry and Moreno Maza [2] who implemented the four methods of Wu [89, 92], Lazard [38], Kalkbrener [34], and the author [63] in • Axiom (http://home.earthlink.netrjgg964/axiom.html). This comparative implementation has also been integrated by Moreno Maza into • Aldor (http://www.aldor.org/). Note that the two modules TriSys and SiSys that implement our methods proposed in [63, 73, 77] were used mainly by the author for research experiments. They are now distributed publicly with this book for the first time. Among a few early users of TriSys is B. Dubuque from the Massachusetts Institute of Technology, USA, to whom the author made his Maple code available in May 1996. It is believed that the function TRIANGSYS implemented in • Macsyma 422 (http://www.scientek.com/macsyma/main.htm http://www.gosw.com/gosw/MacsymaInc/Macsyma422UxLx.html) is based on the method described in [63] and the TriSys code provided by the author. Most of the implementations mentioned above are capable of decomposing polynomial systems into (irreducible) triangular systems. The interested reader may refer to the comparisons in [2, 28, 63, 69] and Chaps. 2-3 for the performance of different algorithms, functions, and implementations. A standalone system that includes an implementation of Wu-Ritt's method of characteristic sets and other triangular set methods is under development in the frame of the Chinese national 973 project "Mathematics Mechanization and Platform for Automated Reasoning." In this system are being implemented Wu's algorithms of zero decomposition and projection as well as some other relevant elimination algorithms for systems of polynomials and differential polynomials with several application modules for geometric theorem proving and discovering, automated diagram generation, surface modeling, and solving differential equations. A preliminary version of the system may be downloaded from • MMRC (http://www.mmrc.iss.ac.cn/~mmsoft/). The author has also been aware of another implementation of the characteristic set method in Risa/Asir by researchers from the group of M.-T. Noda at Ehime University, Japan. The reader may also look at the functions tsolve and decompose in the system
6.2. Grobner Bases Packages
85
• CASA (http://www.risc.uni-linz.ac.at/software/casa/). Implementations and experiments for Kalkbrener's method [34] and those based on resultants proposed by Yang and others [103] have been reported in their relevant publications.
6.2
Grobner Bases Packages
In striking contrast with triangular sets, packages based on Grobner bases [8,1,4] may be found in almost all major computer algebra systems including • CoCoA (http://cocoa.dima.unige.it/), • Magma (http://magma.maths.usyd.edu.au/magma/), • Maple (http://www.maplesoft.com/), • Mathematica (http://www.wolfram.com/products/mathematica/index.html), • MuPAD (http://www.mupad.de/), and Axiom, Macaulay 2, Macsyma, Reduce, Risa/Asir, Singular whose URLs have been given in the preceding section. The reader may easily discover the functions for Grobner bases and relevant computations, their capabilities, and how to use them from the documents distributed along with these systems. Among them, we may mention the special-purpose systems CoCoA, Macaulay 2, and Singular in which the method of Grobner bases has been implemented as a major tool for computations in algebraic geometry and commutative algebra (in particular with algebraic varieties and polynomial ideals). Readers interested in the computational aspect of commutative algebra and algebraic geometry are encouraged to try these systems. There are also several specialized implementations such as the • Groebner library (ftp://ftp.risc.uni-linz.ac.at/pub/GB/) in SACLIB developed by W. Windsteiger and B. Buchberger, the inventor of Grobner bases, at Johannes Kepler University, Austria and the software packages Gb and FGb developed by J.-C. Faugere at Universite Pierre et Marie Curie (Paris 6), France. The reader may refer to • CAIN (http://www.can.nl/caJibrary/groebner/systems/systems.html) for other information about implementations of Grobner bases.
86
Chapter 6. Relevant Elimination Tools
As it is widely known that Gb and FGb are among the most efficient programs for computing Grobner bases, we shall provide in what follows a short introduction to these two packages, in particular to Gb which has an interface with Maple. The package • Gb (http://www-calfor.lip6.frrjcf/Software/Gb/), implemented in C++, is completely free for academic and noncommercial use and can be downloaded from the above URL. Installation instructions are provided with the distribution. An advanced user may use Gb in a stand-alone mode, while its interface with MuPAD and Maple provides great convenience for normal users. As our £PSILON library is built with Maple, we shall explain the main capabilities of Gb and present a few examples using its Maple interface. The functions available in Gb may compute • the (reduced) Grobner basis for an ideal generated by a set of polynomials, • a list of triangular sets from a polynomial set via Grobner bases, • the Hilbert polynomial, the dimension, and the degree of a polynomial ideal, • the normal form module a polynomial set, and • the leading monomial and the leading term of a polynomial. The following three functions for the computation of (reduced) Grobner bases over different ground rings are the core of Gb. They have implemented the standard algorithm of Buchberger [8] with numerous variants and improvements [4, 1], the FGLM algorithm [21], the LexTriangular algorithm of Lazard [39], and Hilbert driven algorithms. • Inputted a term order T(x), a list P of expanded polynomials in X, and optionally a string q, gbasis(P,T(X)) or gbasis(P,T(X),q) computes a Grobner basis >
f := v*u-2*v"2+3*w*u+wA2-u-4*v-W: P := expand([(x-u)'2+(y-v)"2+(z-w) A 2-l / dif f (f ,v) * (x-u) -dif f (f ,u) * (y-v), dif f (f ,w) * (y-v) -dif f (f ,v) * (z-w), diff(f,u)*(z-w)-diff(f,w) * (x-u) ]) ;
f,
P := [x2 -2xu + u2 + y2 - 2yv + v2 + z2 - 2zw + w2 - 1, vu — 2v 2 + 3 wu + w2 - u — 4v — w, x u - u2 - 4 vx + 4 v u - 4 x + 4 u - y v + v2 - 3 wy + 3 w v + y - v, 3 uy — 3 vu + 2wy - 6wv — y + v — uz + wu + 4 vz + 4z - 4w, vz-wv + 3zw-3w2-z + w-3xu + 3u2-2wx+2wu + x-u] > advance("fast"); > G := gbasis(P, DRL([u,v,w],[x,y,z]), elim): > H := convert(G, g b a s i s ) : > t y p e ( H , l i s t ) , n o p s ( H ) , i n d e t s ( H ) ; nops(H[l]),degree(H[l]); true, 1, {x, y, z} 451,12 The function advance enables the user to change from one Gb program (called a serveur) to another used for the computation. The option fast tries to select the fastest available serveurs. Note that the output G of gbasis as well as minibasis and fglm below is of type Ideal in Maple. It may be converted by convert (G, gbasis) into a list of polynomials. • Inputted a term order T(x) and a (non-reduced) Grobner basis P of type l i s t with respect to T(x), minibasis(P, T(x)) returns the reduced Grobner basis G of P with respect to the same term order T(x). • Inputted a zero-dimensional Grobner basis P of type Ideal (computed by gbasis for instance) with respect to a DRL (Degree Reverse Lexicographical) term order, f glm(P) returns a Grobner basis G of P with respect to the lexicographical term order. As indicated by the name of the function, the basis conversion is carried out by using the FGLM algorithm [21]. The following function implements the algorithm LexTriangular presented in [39]. H Inputted an object P of type Ideal (computed by gbasis for instance) of dimension 0 with term order T([;q,... ,*„]), lextriangular(P) returns a list of triangular sets with respect to the variable ordering x\ < • • • -< x„. The software FGb written in C implements a new generation of algorithms, in particular F4 [20] and F7, proposed by J.-C. Faugere for solving polynomial systems. The current version of FGb is available for academic use through a
Chapter 6. Relevant Elimination Tools
sx
• Web interface (http://www-calfor.lip6.frf jcf/Software/FGb/) (see Fig. 16). The user may enter a polynomial system or load a standard benchmark, choose an algorithm, and perform the desired computation. The result is displayed on the web page as soon as it is returned and the web page is connected, and the user may view and save the result then. FGb is an efficient program for computing the Grobner basis of a polynomial set or decomposing the polynomial set into finitely many Grobner bases over different ground fields. The reader is advised to try FGb and to enjoy its high efficiency, compared to other Grobner basis programs. ,. . . - . , ,
. ., . _,,.. - , - : . .
•
M
M
—
—
—
—
—
—
—
•••
l-i) -e;p
„ f ' Boowiartl & locMBn: [ h t t p a V / t a l f o r
lipb f t / f 9 b / f g b h t n l
Docunwnt Done
f])'
Miari W i l s o JJJ
w
A*> i i l
•.£
Fig. 16. FGb's web interface Of course, the reader should not forget the package Groebner provided by Maple itself. This package has a collection of routines for doing Grobner basis computations in commutative algebra, in skew algebras, and in corresponding modules. However, a simple comparison may show that the functions in Gb or FGb are much more efficient than those in Groebner in the case of usual commutative polynomials. Despite its inefficiency, Groebner as a Maple built-in package can be conveniently used for various small systems of polynomials.
6.3. Computing Resultants and Subresultants
6.3
89
Computing Resultants and Subresultants
Most computer algebra systems have functions for computing the Sylvester resultant of two polynomials with respect to a variable. As we have seen in Sect. 1.1, in Maple the function r e s u l t a n t is implemented for this purpose. The computation of resultants is a major construction in classical elimination theory. It is used by many algorithms of computer algebra and has various applications to scientific and engineering problems. Standard computer algebra systems can usually compute only univariate resultants. Computing univariate resultants faster and computing the resultant of a set of multivariate polynomials by eliminating several variables simultaneously are difficult problems that are under extensive investigation. In fact, several alternative constructions of resultants in the classical literature have been revealed and generalized, and a number of modern techniques have been introduced for resultant computation. The Bezout-Dixon formulation and sparse resultant theory are just examples of recent studies. In Maple one may create the Bezout or Sylvester matrix of two polynomials with respect to a variable using the function l i n a l g [bezout] or l i n a l g [sylves t e r ] . The determinant of the matrix gives the Bezout or Sylvester resultant. See also the functions BezoutMatrix and SylvesterMatrix in the LinearAlgebra package of later versions of Maple. The following function in the miscel module of CPSILON may compute the bivariate Bezout resultant of three polynomials with respect to two variables. • Inputted a list X of two variables and a set P of three polynomials in X, bezres(P, X) returns 0 (when the Bezout matrix is singular) or the Bezout resultant of P with respect to X. This function is a simple implementation of the method sketched in [78, pp. 136 -137], where the matrix and the resultant are named after Dixon. It often does not work because the Dixon matrix is nonsquare or singular. The reader may contact T. Saxena (now at BBN Technologies, USA) or A. Chtcherba (from University of New Mexico, USA) for a more complete implementation of Dixon resultants. Example 6.3.1. The following three parametric equations considered in [29] x= -t3 +3st + s3 +s, y=
2 tS
z = 2t3-5st
-3t+l, + t-s3
define a cubic surface. Its implicit equation is of total degree 9 in x,y,z,
90
Chapter 6. Relevant Elimination Tools
consisting of 176 terms, and may be easily computed by using bezres or macres as follows. > > >
P := {-t*3+3*s*t+sA3+s-x,t*sA2-3*t+l-y,2*t/v3-5*s*t+t-s'v3-z}: r := miscel[bezres](P, [s,t]): indets(r), degree(r), nops(r); {x,y,z},9,176
>
F := map(algcurves[homogeneous], P, s, t , u ) ; F := {— xu3 + su2 + s3 + 3st u — t3, —zu3 — s3 + tu2 — 5stu + 2t3, (l-y)u3-3tu2
> miscel[macres] (P, > simplify(%/r) ;
+ ts2} [s,t,u]): -1
• Inputted a list X of n variables and a set P of n homogeneous polynomials in X, macres(P,X) returns the Macaulay resultant of P with respect to X. This function is an elementary implementation of the algorithm MacRes described in [78]. It often does not work because of division by zero. M. Minimair from Seton Hall University, USA has implemented another function in Maple for computing Macaulay resultants, which is likely better than ours. The Maple code is available as • http://minimair.org/macaulayResultant.mpl. L. Buse from Universite de Nice, France has implemented two packages, one for Macaulay 2 and the other for Singular, for computing different kinds of resultant matrices. Together with B. Mourrain from INRIA Sophia Antipolis, France and other co-workers, he has also developed a Maple package multires. The functions available in these packages are capable of computing Bezout matrices, Macaulay matrices, Jouanolou matrices, and matrices of residual resultants and sparse/toric resultants, as well as the critical degrees and multi-degrees of those resultants. The packages may be downloaded from: • http://math.unice.frribuse/program.html http://www-sop.inria.fr/galaad/mourrain/multires.html The reader may equally find several packages at •
http://www-sop.inria.fr/galaad/logiciels/emiris/soft_alg.html
6.4. Miscellaneous Functions
91
implemented by I. Z. Emiris from INRIA Sophia Antipolis, France (and now at University of Athens, Greece) with co-workers for computing sparse resultant matrices of different types and using different algorithms or constructions. There is also a function named mvresultant in CASA for computing resultant systems of multivariate polynomials and a • Matlab program (http://www.math.tamu.edu/~rojas/resmat.rn) written by C. W. S. Cheung from Texas A&M University, USA for constructing the toric resultant matrix of three polynomials in two variables. Readers interested in resultants (both for doing research and for applications) should look at the above-mentioned packages. • Inputted a variable x and two polynomials p and q in x with degree(p,x) > degree(q,x) > 0, subres(p,q,x) returns the sequence of subresultants of p and q with respect to the variable x. For example: >
miscel[subres](z"8-3*x,2*z*6-y,z); z8 - 3x, 2z6-y,
4z 6 - 2y, 4yz2 - 24x, 0,0, - 4 / z 2 + 24xy 3 ,
- 2 y 2 ( - / + 432x 3 ), -ys + 864y 4 * 3 - 186624*6 This function is based on the algorithm SubresChain using pseudo-division described in [78] and the algorithm using the Bezout matrix proposed in [31]. The latter algorithm is used when both degree(q,x) and the number of variables involved in p and q are greater than 2. The reader may also try the function subresultantChain in CASA and Subresultants in Mathematica.
6.4
Miscellaneous Functions
The CPSILON library has a small module called miscel that contains seven functions implemented for different purposes and applications. The functions bezres, macres, and subres presented in the preceding section are three of them. The other four functions are explained briefly in this section. B Inputted an estimated degree n, a list X of two variables, and a set P of three polynomials P — xA,Q — yB,R — zC, where P, Q,R,A,B,C are polynomials in X, imp l i c i t (P,X,n) returns the implicit polynomial F in x, y, z if the rational surface
92
Chapter 6. Relevant Elimination Tools
denned by P = 0 has an implicit equation F = 0 of total degree less than or equal to n, or 0 otherwise. If the dependency of the two parameters is detected, then the constant 1 is returned. The implicitization algorithm is described in [82]. Note that several functions are provided in the CASA package for converting between parametric and implicit equations of algebraic varieties. We shall discuss the problem of implicitization in Sect. 9.2. Example 6.4.1. The following Maple session shows the implicitization of a rational parametric surface whose implicit equation is quadratic. > >
q := s~3-3*S*t"3-2*s*t A 2+6*S*2*t A 2+t~4-t*S~3: P := {s*t"3-s~4-2*S*2*t~2+s*2*t+4*s~3*t-2*t"3-x*q, s"2*t-s"3*t-2*s~3+3*s*t~2-t /v 3-y*q, s~3-s*t~3-4*s"2*t+6*t"3-s*t*2-z*q};
P:={s3-st3-4s2t st3-s4-2s2t2 %1 :=s3-3st3-2st2 >
implicit(P,
6t3-st2-z%l,s2t-ts3-2s3+3st2-t3-y%l,
+ + s2t + + 6s2t2 +
4tsi-2t3-x%l} t4-tsi
[ s , t ] , 2); z2 - 2y2 + 3xz + xy — z — 4y — x
m Inputted a list X=[xi,...,xn]of variables and a triangular set T in X, normat(T, X) returns a sequence of normal triangular sets T i , . . . , Te under the variable ordering x\ -< • • • -< x„, such that e
Zero(T/iniset(T)) = |JZero(T,/iniset(T,) Uiniset(T)). i=i
Definition 6.4.1. A triangular set T = [T\,... ,Tr] is said to be normal if degree (ini(7}),lvar(r/)) = 0 for all 0 < j 4_
109
7.3. Systems of Positive Dimension
ny
F 2 , 4 4 - 2 ( c - l ) x i - c 3 - 1 2 c 2 + 3c + 2, Sx2+F,2x3 + (c3 + l2c2-2c
+ 5)xi+2,P4
F2,4;c2 + (c2 + 8c + 3)xi + c3 + 13c2 + 3c + 3, T 10 :
8x2 + (3c 3 + 37c 2 + 5c + 3)xi + 2 ( c 2 + 1 2 c - 5 ) c , Sx3+F,PA
Tii =
F2,4x\ - (c3 + 12c2 - 3 c - 2)xi + c3 + 12c2 - c + 4, 8 x 2 - 2 ( c 3 + 1 2 c 2 - 3 c + 2 ) x i - ( c - l ) ( c 2 + 1 2 c + 3), 8 x 3 - ( c + l ) ( c 2 + 1 2 c - l ) ( x i + l),P 4
where
Fi=2c2 + 2c+l, F2 = c 4 + 1 2 c 3 - 2 c 2 + 4 c + l , F = c3 + l l c 2 - 1 3 c + 9,
such that Zero(P) = Zero(Ti/FiF 2 ) U (J Zero(T,-). i'=2
From these triangular sets, one sees that the given polynomial system is of dimension 1 and thus has infinitely many solutions for c,xi,...,X4. For any given value of c, the system has only finitely many solutions. All such solutions can be computed from the T,-. Comparison with the above results shows that some of the p-chains given in [23] are redundant. Let Gi be the prime basis of Ti; then Zero(P) = Zero(Gi) UZero(T2) UZero(T 3 ). The polynomial set P in the following example (A17 in Appendix A), communicated to S. R. Czapor and K. O. Geddes by G. Fee, may be found in [63]. Example 7.3.2. Let P = {PU...,P4},
where
P1=2(b-l)2 + 2(q-pq + p2) + c2(q-l)2-2bq + 2cd(l-q)(q-p) + 2bpqd{d-c) +b2d2{I -2p) +2bd2{p-q) + 2bdc{p-\) + 2bpq(c+l) + (b2-2b)p2d2 + 2b2p2 + 4b(l-b)p + d2(p-q)2, P2 = d(2p+l)(q-p)+c(p + 2)(l-q) + b(b-2)d + bc(q + p - pq - 1) +b(b+l) p2d, P3 = -b2(p-l)2 2
+ 2
+
b(l-2b)pd
2p(p-q)-2(q-l), 2
P4 = b + 4{p-q ) + 3c (q-l)2-3d2(p-q)2 + b2p (p-2)+ 6bdc{p + q + pq-l).
+
3b2d2(p-l)2
Chapter 7. Solving Polynomial Systems
110
Consider b as a, parameter and order the other variables as p -< d -< c -< q. An irreducible triangular series of P, which may be easily computed by t r i s y s [ i t s ] , consists of two irreducible triangular sets. One of them is very simple: [p- l,d,bc + 2,q- 1]; the other consists of four polynomials, of which the first three have the index triples [625 p 23], [373 d 1], [17 c 1], and the last is P3. For computing triangular series over Q, (i.e., b is not considered as a parameter), we have tried different algorithms under several variable orderings without success. The occurring polynomials are very large and the computation cannot be completed within a reasonable time limit.
7.4
Solving Parametric Systems
Consider systems of polynomial equations and inequations of the form (7.1.1), with « = ( « ! , . . . , Ud) as parameters and coefficients in Q,. We want to identify the parametric values, for which the considered system has solutions for the unknowns Xj over some extension field of Q,, and to compute such solutions. Note that this is different from the situation such as in Example 7.2.4, where u\, U2, M3 are treated as transcendental elements that never take any specific values. Principle C in Sect. 7.1 permits us to solve any parametric polynomial system: by computing regular systems, simple systems, or triangular systems with projection, one knows for what values of the parameters u the system IP = 0,Q 7^ 0 has solutions for the unknowns JC (cf. [23]). For any given parametric values «, the solutions may be computed from or represented by the regular, simple, or triangular systems [(T\ Ql«])|„= a , (U\ Qi«])|«= a ], [T,TU]e^, where *F is as in Principle C. The polynomial set in our next example (A14 in Appendix A) was considered initially by Bronstein [7]; it has been used in [92, 23, 73, 78]. Example 7.4.1. Let P = {Pi,P2,P3} with
P2=xy +
z2-l,
P3 = xyz -x2 -y2 — z + 1,
111
7.4. Parametric Systems
where r is considered as a parameter and x,y,z as unknowns. Under the variable ordering rG = 0. A simple method, which is essentially due to Wu [87, 98], consists of the following steps. The method either proves that the theorem TT is true under the subsidiary conditions SC, or reports that the hypothesis of TT is self-contradictory or TT is not confirmed. WO. [Preprocess.] Translate the geometric theorem into the algebraic form TT: P = 0 A Q ^ 0 = > G = 0. This can be done automatically by implementing a translator for some commonly used geometric relations. W l . [Transform the set P of hypothesis polynomials into a triangular set T.] Compute a (quasi-, weak-) medial set T of P over %_ by algorithm CharSetN or PriTriSys described in [78]. If T is contradictory or there is a polynomial in Q whose pseudo-remainder with respect to T is 0, then report that the hypothesis of TT is self-contradictory and the procedure terminates. W2. [Reduce G to 0 successively using the polynomials in T.] Compute the pseudo-remainder R of G with respect to T: /?:=prem(G,T). If 7? = 0, then let I\,... ,Ir be all the distinct irreducible factors of the polynomials in i n i s e t ( T ) which do not divide any D,-, set SC:=/i ^ 0 A - - - A / r ^ 0 , and output "TT is true under the subsidiary conditions SC." Otherwise, report that TT is not confirmed and the procedure terminates. W°o. [Postprocess]. Interpret the algebraic subsidiary conditions geometrically and determine which conditions are nondegeneracy ones. In most cases, the interpretation can be done easily and automatically (see, e.g., [13, 70]). Whether a subsidiary condition is a nondegeneracy condition may be seen from its geometric meaning or via dimension analysis, etc.
118
Chapter 8. Automated Theorem Proving and Discovering
This simple method is very efficient for confirming a large number of geometric theorems. The GEOTHER function Wprover is an implementation of the method with some technical considerations, where CharSetN and a top-down triangularization procedure are used for the computation of medial sets. The above Wl and W2 may be replaced by the following three alternative steps, in which Grobner bases are used. G l . Compute a Grobner basis G of P U {D\z\ — 1,... ,Dtzt — 1} over %^ with respect to the purely lexicographical term order determined by x\ < < xn -< z\ - 8 = («i + l ) a 2 . The pseudo-remainder of G is 0 with respect to Ti, but not 0 with respect to T2,T3 and T4. Hence, the algebraic form of the theorem is true for one component and false for all the others. The largest polynomial occurring in the proof reductions has 168 terms. More than half of the computing time was spent for the two algebraic factorizations (B.7) and (B.8) given in Appendix B. The above examples demonstrate the significance of algebraic factorization in geometric theorem proving. See (B.9) and (B.10) in Appendix B for algebraic factorizations that may have to be computed for the proof of Steiner-Lehmus' theorem [100] (see Example 9.1.1). For these examples, the polynomials to be factorized as well as the adjoining polynomials are all quadratic. The degree is low mainly because the geometric theorems considered so far only involve figures like triangles and circles whose algebraic character is no more than quadratic and the algebraic formulations are often made carefully to simplify the computation and to avoid polynomials of high degree. If one does not take good care of algebraic formulation or geometric figures with algebraic character of high order are considered, polynomials may have to be factorized over algebraic extension fields with adjoining polynomials of degree greater than 2. This can be seen from the factorizations (B.ll), (B.5), (B.6), and Example 8.4.4 (Feuerbach's theorem) in [75].
132
Chapter 8. Automated Theorem Proving and Discovering
The theorem in the following example is the second of the five killers that were sent to the author by S. Markelov [43] from the Moscow Center for Continuous Mathematics Education in February 1998 to challenge the power of our theorem provers in the GEOTHER package. These theorems can be proved in geometric ways, and are called killers to analytic ways of geometric problem-solving because no analytic proof could be found even by expert geometers. In [32] we have presented several machine proofs together with a human proof of the second killer, which provides a beautiful representation of the area of an arbitrary quadrilateral in terms of its four sides and four internal angles. Later Markelov informed the author that this theorem was first discovered by the German mathematician W. Blaschke, first appeared in [5]. Here let us recall the theorem with one machine proof. Example 8.3.4 (Russian killer no. 2 [32]). Let ABCD be an arbitrary quadrilateral with sides \AB\ = k, \BC\ = I, \CD\ = m, \DA\ = n and internal angles 2a,2b,2c,2d at vertices A,B,C,D respectively, and let 5 be the area of the quadrilateral. Then (k + l + m + n)2 cota + cotb + cote + cotd
(l + n-k-m)2 tana + tanfe + tanc + tan J
Fig. 20. Russian killer According to the geometric hypotheses, we have the following relations: H\ = 2S — knsm2a — lmsm2c = 0, H2 = 2S-klsm2b-mnsm2d = 0, 2 2 2 2 H3=k + n - 2kncos2a -l -m + 2lmcos2c = 0, 2 2 2 2 H4 = k + l - 2klcos2b -m -n + 2mncos2d = 0, H5 = sin(a + b + c + d) = 0.
133
8.3. Illustration with Examples
Let 0 — {a,b,c,d}
and xe = sin8, ye = cos0,
0 € 0.
By expanding the sine and cosine of double angles and sum of angles with simple substitution, the above H\,...,Hs will become expressions in xa,.-.,Xd,ya,---,yd &nd S,k,l,m,n. Clearly,
HQ=4+yl-1 = 0, e e e . Thus Hi=0,...,H5=0,Ha=0,...,Hd
=0
(8.3.1)
constitute the hypothesis of the theorem, and the conclusion to be proved is
G = s - r 2 / y ^ + / 2 / X - = o8G0
*e
eeeye
The statement of the theorem implies that the denominators do not vanish (e.g., XQ ^ 0 and ye ^ 0 for every 0 € 0 ) . So we only need to prove that (8.3.1) implies that the numerator G* of G is 0. Without loss of generality, take n = 1. Then G* becomes a polynomial consisting of 91 terms. With respect to the variable ordering yb < *b < yc •< xc -< yd •< Xd -< ya -< xa < I -< k -< m •< S,
a quasi-characteristic set C of {Hi,... ,H^,Ha,... ,Hd} consists of the following 8 polynomials: C\ = Hb, Cz = Hc, C3 = Hd, C4=yl + 2 {2ylycydXc + 2yby2cydxb - ybydxb - ycydXc)xd - 4y2by2y2d - 2ybycxbxc + 4ybycy2dxbxc + 2y2y2 + 2y2by2d + 2y2y2d
-yb-yl-yd,
C5 = hxa+yaycydXb yaxbxcxd+yaybydxc+yaybycxd, 2 C 6 = hk + (yby ydxc - ybycxd+ybfed - y2cxbxcxd+y\ydXb - ycydxb) I - ybydxc+ycydxb+ybydxc - ycydxb - ybycydxd + ydxbxcxd, C1=I1m+{2y2l-l-2y2a + C% = S - ybxblk - ydxdm,
\)k-l2+\,
where
^5 = ybycyd - ybxcxd - ydXbxc - ycXbxd, h = ^y\y cydXb - ylxbxcxd+ylydXc + 3y^ycxd - ybydxc - 2ybycxd - ycydXb + 4y2by2xbxcxd - 4y2ylydxb - 4y3by2cydxc - 4y3by3cxd + ybdXb - y2cxbxcxd + 3yby2ydxc + 3yby3cxd, I1 = 2ly2-l-2y2 + l.
134
Chapter 8. Automated Theorem Proving and Discovering
During the computation, a polynomial factor I2 — 1 is removed. Thus, under the subsidiary condition (/2-l)/5/6/7^0, (8.3.2) proving the theorem is reduced to verifying whether prem(G*, C) = 0 . It is indeed so: the verification is not easy and takes about 320 seconds of CPU time in Maple V.3 on an Alpha station. Some of the occurring polynomials are very large. With Wprover the pseudo-reductions of G* to 0 using C&,... ,Ci may be sketched as follows: G* = [93 5 1]-)- [106 m 2 ] 4 [680 k 2} [4529 xa 2] - • [6541 ya 6] -> [19013 xd 9], [3432 xa ->• < [2450 xa [1015 xa [4034 xa [687 xc [327 xc [524 xc [697 xc [432 xc
2} -> [5221 ya 6] -> [17586 xd 9] 2} ->• [3690 ya 4] -+ [11066 xd 8] 2] -> [1543 ya 2} -> [6276 xd 7], 2] -> [6067 ya 6] -» [17813 xd 9]
9], 9], 9], 9], 9],
[210 xc [803 xc [688 xc [688 xc [622 xc
8], 9] 9] 9] 8]
[549 * c 9], [549 xc 9] - • < [732 xc 8], [699 xc 8] [602 xc 7], [799 xc 9] [558 xc 9], [556 xc 9] [437 xc 8], [313 xc 8] [641 xc 7], [649 xc 7] [308 xe 9], [665 xc 9] [780 xc 9], [804 xc 9]
[549 xc 9], [697 xc 9] [667 xc 9] [283 xc 9] [523 xc 8] [544 xc 9] [696 xc 8] [810x c 9] [549 xc 9} [165 x c 6] [621 xc 7] [545 xc 9]
[656 xc 8] [647 xc 9] [420 xc 9] [684 xe 9] [554 xc 9} [376 xc 9] [711 xc 8] [790 xe 9] [494 xc 9] [425 xc 7] [157 xc 8] [796 xc 9}
[505 xc 7] [582 xc 9] [693 xc 9} [519 xc 9] [538 xc 9} [730 xc 8] [646 xc 7] [218 xc 8] [170 xe 7] [293 xc 7] [444 xc 9} [718 xc 9]
{0}. Therefore, the theorem is proved to be true under the subsidiary condition (8.3.2). We do not enter into the details of interpreting the geometric meaning of the algebraic condition. For the above proof of the theorem, we had no attempt to use special techniques to simplify the algebraic formulation, so the involved polynomial computation is very heavy. However, this is already within the reach of today's laptop. The technique of splitting in the pseudo-reduction process
135
8.4. Discovering Geometric Theorems
is due to Wu [88]. Direct computation of the pseudo-remainder without this technique was not possible on our machines.
8.4
Discovering Geometric Theorems
In the case of theorem proving, there is a known conclusion whose truth is to be confirmed. Now we explain how to discover new geometric theorems in an automated manner. More precisely, we want to derive automatically one or several unknown algebraic relations among some geometric entities, where an adequate description of the geometric hypotheses among the geometric entities is given. This may be done by expressing the geometric hypotheses as a system of polynomial equations and equations, then computing a triangular set, triangular series or Grobner basis of the corresponding polynomial set or system using an appropriate variable ordering, and finally reading out the desired relations from the triangularized sets. A typical example is the automated derivation of the Qin-Heron formula (representing the area of a triangle in terms of its three sides [90, 78]). The problem of deriving unknown algebraic relations and its solution may be formulated as follows. Given a set HYP of geometric hypotheses expressed as a system of polynomial equations and inequations r = {Pl(u,x),...,Ps(u,x)}=0,
Q={Q1(u,x),...,Q,{u,x)}^0
in two sets of geometric entities u = (ui,...,Ud) and x = (xi,...,x„) with coefficients in %_ and given a fixed integer k, without loss of generality, say k = 1, we want to determine whether HYP is self-contradictory, and if not, whether there exists a polynomial relation R(u,x\) = 0 between u and x\ such that Zero(P/Q) C Zero(/?), and if so, finds such a R(u,x\). The method works according to the following steps. Dl. Compute over %_ a (quasi-, weak-) medial set T of P by algorithm CharSetN or PriTriSys given in [78], or a Grobner basis T of P U \Q\z\ — 1,..., Qtzt 1} with respect to the purely lexicographical ordering under u\ -< («i,0), B ( H 2 , « 3 ) , M(X,Y),
CI(0,XI),
C 2 (x 2 ,x 3 ).
From the geometric conditions we get the following relations: Hi = («2 — U\) (X2 — U2) + U3 (x3 — U3) = 0, 2
H2=X
2
2
+ (xl-Y) -x 1=0, 2
}. We have tried to compute such a series using sisys [regser] in Maple without success. By first computing a Grobner basis using J.-C. Faugere's Gb package in C++ (see Sect. 6.2), we are able to obtain a regular series *P of [P, Q] under z -< y -
3 + 658j 3 + 3442 z V - 3993 z V + 1332zj2 - 1 1 8 / + 284 z4y + 4z3y -237z2j+108z>'-13}'+133z5-218z4+154z3-59z2 + 12z-l}, U2 = {1734x2 + 408x+145,17x 2 + 2x-ll,1419857x 5 -2839714x 4 -938383x 3 + 1851045x 2 -292043x+100121},
th = {*}, U4=0, where F =yx+3zx
— x — 2y2 — 4y + z2 — z,
G = - 1 2 / -2zy2 - 2 3 / + 6z2y - 4zy -2y + z3 + 8z2 - 6z + 1. The first polynomial in Ui may be removed by using the simplification procedure presented in Sect. 9.1.1. Prom the regular systems [T,-,U,-], one can easily establish the exact implicit equations and inequations for the parametric surface. The zero set of the single polynomial F considered as an implicit surface contains several curves which do not lie on the parametrically defined surface. For example, the cubic curve defined by P3 in Example 9.5.2 and shown in Fig. 38 is an irreducible component of the reducible curve denned by F = 0 and G = 0. However, on this cubic there are only finitely many points (i.e., the zeros of T4) which are on the parametric surface. The surface defined by F = 0 is the one in between shown in Fig. 35. Example 9.2.3. Now we recall the surface of revolution studied in [54]. This surface may be obtained by rotating around the z-axis the cubic polynomial
160
Chapter 9. Symbolic Geometric Computation
Bezier curve with control points (2,0,0.9),
(2,0,0.45),
(1.5,0,0.225),
(1.5,0,0.15)
and was used to model the lower body of a teapot. It is denned parametrically by r
_
(2s-l)P 2Q
'
„_ ~
y
s(s-l)P Q
3(f 3 -9f 2 + 18f-12) 40 '
'
[
'
where P = 2t3-3t2
+ 4,
Q=
2s2-2s+l.
We wish to determine the implicit equations and inequations that define exactly the same surface as these parametric equations. Let P denote the set of the three polynomials corresponding to (9.2.1) and Q = {Q}. It is easy to compute an irreducible characteristic series *F of [P,Q] withx-< y 0,j>0,k>0 i + j + k<m
where the coefficients itjjk are to be determined. Set E:= 0. B2. For each;' e /, compute an (irreducible) characteristic set Q of {G,,//,} and the pseudo-remainderR :=prem(F,Q), and set E:= EU {R}. B3. If / 7^ 0, then compute the polynomials 8i (F, Gj), 82 (F, Gj), and 83 (F, Gj) for j G / . For / = 1,2,3 and j 6 / , compute R:=prem(8/(/r,G7),C7) and setE:=EU{#}. B4. If K ^ 0 , then compute H:=ji{F) andV:=v(F). For each k e K, compute R :=prem(// 2 v(G /t ) -n(Gk)2V,Ck) and set E:= EU {R}. B5. For each R € E, let F^ be the set of all the nonzero coefficients of R considered as a polynomial in x,y,z. Set
F:=
\j¥R. REM
Then all possible polynomials F satisfying the conditions (i), (j) and (k) are covered by the set of real zeros of F for uijk. Any real zero Hijk such that p =F\Ui k=Ui -k is irreducible leads to a desired F and thus a real irreducible algebraic surface 1S(F).
169
9.4. Blending Algebraic Surfaces
Therefore, the problem is reduced to finding the real solutions of the polynomial equations F = 0 for the unknowns M,-^, which can be done by using Wu's method of characteristic sets or other elimination methods. Example 9.4.1. form
A general cubic polynomial in x,y,z may be written in the
F(x,y,z) = UQ + u\z + u2y + u^x + u^z2 + u^yz + u$y2 + uqxz + u&xy + U9X2 + MIOZ3 + uuyz1 + u\2y2z + uny3
(9.4.1)
+ U14XZ2 + uisxyz + u\kxy2 + mjx2z + u\%x2y + U19X3. For any M, G ^,, F = 0 defines a cubic surface in ^, 3 . Consider two elliptic cylinders £1 and €2 with the x-axis and y-axis as their axes and two ellipses €1 and £2 of section by the planes orthogonal to these axes respectively. The ellipses €\ and £2 are defined by two irreducible ascending sets Ai = [Hi,b\c\Gi] and A2 = \H2,a\c\G2\ with y
Hi=x-dh
z
Gi = - 2 + ^ - 1 ;
xr
H2=y-d2,
7T
G2 = ^ + - ^ - l .
We want to determine such cubic surfaces that contain the ellipses €1,^2 and touch the cylinders £ i , £ 2 smoothly along £\,£2 respectively. For this purpose, we follow the above algorithmic steps. Now the sets / and J of indices are the same, i.e., I = J = {1,2}, and the index set K is empty. In step B2, we get two pseudo-remainders, viz. 1:= {prem(F,Ai),prem(F,A 2 )}. Six pseudo-remainders are formed in step B3; adding them to E, we obtain a set of 8 polynomials in b\,c\,d\,a2,c2^d2, x,y,z and the M,-. Let F be the set of all the nonzero coefficients of these polynomials with respect to x,y,z; F has 48 elements. Computing an irreducible triangular series *P of [F,{b\,c\,a2,C2}] by t r i s y s [its] with respect to the variable ordering b\ -< c\ -< d\ -< a2 < c2 ~< d2 -< MO -< • • • -< t«i9, we find that W consists of 13 irreducible triangular sets, of which one is trivial: [uo,ui,...,u\g]. Among the remaining 12 triangular set there is one whose first polynomial is C = {b]C2dl)2 + (a2blCl)2
- (a2cxd2)2 -
[a2bxc2)2.
The pseudo-remainders of C with respect to all the other 11 triangular sets are 0. It follows that there exists a cubic blending surface for the two elliptic
170
Chapter 9. Symbolic Geometric Computation
cylinders only if C = 0. In this case there is one and only one possible cubic surface, given by b\c\d\£ + a\b\c\c\d2£y - b\c\ (a\c\d\ + b\c\d\)J-\-a^)\c\d\xz2 + 3)b\c\c\d\xy2 — 2a%b\c\c\d\d2xy - b2c\ (b\c\d\ - 2a\c\d\ + a\b2c\) d\x +d\b\c\d2yz2 + ajcfay3 - a\c] (b\c\d\ + a\c\d\)y2 - a\b2c2 (a\c\ - eld2) d2y - a\b\ {b2c\d\ + a\c\d\) z2 + b\ {a\c\d\ + b\c\d\ + a\b\c\c\d\ - alc2cld2d2) = 0. The condition C = 0 generalizes the formula of Wu and Wang (see [101] or [99, p. 368]) for circular cylinders. Taking C2 = 1, b\ =a% = 2, a = di = 3 and d\ — 7, we have 7 A:3 + 21x2y + 63xy2 + 2%xz2 + 243 y3 + 108yz2 - 130.x2 - 3 7 8 x y - H 7 0 y 2 - 5 2 0 z 2 + 539.x:+351v + 3112=:0. This blending surface is plotted together with the two elliptic cylinders and the two planes of section in Fig. 36 (left). For the same cylinders, there are infinitely many quartic blending surfaces, which may be determined by using the same method. The blending surface shown on the right-hand side of Fig. 36 is defined by the following quartic equation: - 1037340A: 4 + 326592x 3 y- 13481271^y 2 - 10258092.x2z2 + 2939328x>'3 + 1306368xyz2 - 6108732/ - 57693580y2z2 - 24434928 z4 + 14135688A 3 - 1580256;t2y-7170912;ty2 + 56542752A:z2 + 36652392y3 + 16289952yz2 + 65 1 9 7 4 4 A-2 - 37642752xy + 37642752A: = 0.
Fig. 36. Blending two elliptic cylinders
171
9.4. Blending Algebraic Surfaces
Example 9.4.2. Let two elliptic cylinders be given by Gl =
v2 z2 T + ?"1
= 0
'
x2 G2 = - + Z 2 - I = O
as in Example 9.4.1. We search for a third elliptic cylinder of the form 2
2
G3 = — + — - 1 = 0 a c and quartic surfaces in ^ defined respectively by Ai=[*-7,36Gi],
(a > 0, c> 0)
to blend these three cylinders along the ellipses A2 = ty-3,4G 2 ],
A3 = \y + 3,acG3].
Now the quartic polynomial F contains terms M2OZ4 H 1- M34X4 of degree 4 to be determined, in addition to the terms of lower degree listed in (9.4.1) and the set F obtained as in step B5 consists of 101 polynomials in a,c,uo,...,U34. With respect to the variable ordering a^c
0}, where/ = nreT'iK^)Let/i,...,/, be i factors of J such that/1 •••/, ^ 0 if and only if J / 0, let F = TU{z,/,-l| l3 = 9 v z - 3 z - 9 ; y 2 + 45xy + 6 v + 1 8 . x 2 - 3 x - l , P4 = 9z2-l2z-45y2+l62xy
63x2-6x-5,
+ 30y +
have appeared in Example 1.4.1, where P = {P\,... ,P4} is the set of defining polynomials for an irreducible algebraic curve. With respect to x -< y -< z, the polynomial set {P2,P3} may be decomposed by t r i s y s [ t r i s e r ] into three triangular systems [T,-,U,-] with Ti = [Fi,P2],
U 1 = { 3 x + 2}, 2
T 2 = [3x+2,3y + 5 y - 2 , z - v - 3 ] , T3 = [ 3 x + 2 , 3 v - l ] ,
V2 = {3y-l}, U3=0,
such that 3
Zero({P 2 ,^}) =
\JZero(Ti/Vi).
10.1.
179
Computation with Polynomial Ideals
It is trivial to verify that prem(Pi,T,) = 0 for / = 1,2,3. It follows that Pi vanishes on Zero({P2,P3}), so Pi belongs to y/ldeal({P2,P3}), the radical of the ideal generated by P2 and P3. As a consequence, we have Zero({PuP2,P3})
= Zero({P2,P3}),
Zero(P) = ZeTo({P2,P3,P4}).
This shows that the first polynomial Pi is redundant and may be removed from the defining set P in Example 1.4.1. Using function t r i s y s [rim], one can directly verify that Pi e ^ldcal({P2,P3}),
Pi £
^/Idcal({P2,P3,P4}),
P2 $ ^ldeal({PuP3,P4}),
P3 $
y/ld^l({PhP2,P4}),
P4?^ldeal({Pi,P2,P3}). Therefore, none of the polynomials P2,P3,P4 can be removed from the generating set P. Example 10.1.2. Let 3 be the ideal generated by the following set of polynomials: ' Xl +X2 +
X3+X4,
p _ J XlX2 + XiXA + X2X3 + X3X4, J X\X2X3 + XlX2X4 + XiX3X4 + X2X3X4,
( '
_ XiX2X3X4 - 1
System P = 0 is the well-known "cyclic 4 roots." Under the variable ordering xi -< • • • -< X4, it is trivial to decompose P (e.g., using t r i s y s [ i t s ] ) into two polynomial sets P i — [xiX2- l,X3+Xi,X4+X2],
P 2 = [xiX2+
l,X3+Xl,X4+X2],
such that V3 = Ideal(Pi) n Ideal(P2), where both Ideal(Pi) and Ideal(P2) of dimension 1 are prime. It is interesting to see that the ideal 3 may be decomposed by charsets [pid] into eight primary ideals 3,- = Ideal(F,) such that 8
a=n^=n 1=1
8 ideai
(^)-
1=1
The generating sets F,- and the corresponding sets P,- of generators for the primes associated to 3, are listed below: Fi=Pi,
F2=P2;
180
Chapter 10. Selected Problems in Computer Mathematics F3 = [xi - l,x2-l,xl
+ 2x3 + \,x4+x3
+ 2],
P 3 = [ * i - l , X 2 - l , * 3 + l,X4+l]; F4 = [x\ - 1,^2 + 2x2+ 1,X3+X2 + 2,X4- 1], P 4 = [x\ - 1,X2+1,X3 + 1,X4- 1]; F 5 = [xi + l,x 2 + \,x\ - 2x3 + 1,*4 + x 3 - 2], F 5 = [xi + l , X 2 + l , x 3 - l , x 4 - l ] ; F6 = [x\ + 1,X2-2X2+1,X3+X2-2,X4+ 1], F6 = [xi + l , x 2 - l , x 3 - l , x 4 + l ] ; F7 = [Xj + l,X2 + 2xiX2~ l,X3+X2 + 2 x i , X 4 - X i ] , F7 = [Xj + l,X2+Xi,X3+Xi,X 4 -Xl]; Fg = [xj + l,X2-Xi,X3 + 2xiX3 - l , 2 x i +X3+X4], Pg = [ x ^ + l , X 2 - X l , X 3 + X i , X 4 + X l ] .
The primary ideals 33,...,3s are all embedded components. Example 10.1.3 (Example 7.4.4 in [78] or A49 in Appendix A). For the univariate quartic polynomial F = x4 + xix3 + X2X2 + x3x + X4 with indeterminate coefficients xi,X2,x3 and X4, the discriminant A of F, A = resultant(F,3F/3x,x), is an irreducible polynomial of total degree 6, consisting of 16 terms. A = 0 defines the discriminant surface of F in four-dimensional affine space. Consider the singularity ideal generated by f 3A 3A 3A 3A1 \ ' 3xi' 9x2' 9x3' 3*4 J With respect to xi -%u\ - \2{u\DQ = -\2%U\{U\
+ l)u\
u\- u\ + \)u\ + u\- Au\ + 6u\-4u\ + u\ + 2M 1 + 1) {u\ + u\ - 2wi +
+ \, 1)y.
Let us take the first factor of Ci and substitute y back by y — y\. The result is a polynomial D consisting of 50 terms in m,U2,yi, and y. Now we need to find a GCD of D and F over Ql.u\,uz,y\). This may be done by computing a characteristic set C* of {D,F,A} with respect to the ordering y\ 0,
EG-F2>0.
8=
Assume that the two tangent vectors ru and rv are not parallel at a regular point P. Then r„xrv n
=
i
\ruxrv\
T
10.4. Automated Reasoning in Differential Geometry
197
is a unit normal vector perpendicular to the tangent plane of & at P. The quadratic form -dn -dr = Ldu2 + 2Mdudv+Ndv2 is called the second fundamental form of &, where L = -ru-nu,
M=-ru-nv,
N=
-rv-nv.
The three vectors [ru,rv,n] form a moving frame of 6 at P. Taking their partial derivatives with respect to u and v, we have r„u = r1nru + T2lrv + Ln, ruv = r\2ru + F22rv + Mn,
(10.4.1)
rvv = T\2ru + T22rv +Nn; nu = \{MF - LG) ru + (LF - ME) r v ]/5, nv =[(NF-MG)ru + (MF -NE)rv]/8,
(10.4.2)
where (GEu-2FFv+FEv)/(25), T\2 = 1
r 1
2 2
•
(GEv-FGu)/(2d),
r2 r2 1
(2GFv-GGu+FGv)/(28),
{2EFu-EEv-FEu)/(26), (EGu-FEv)/(28),
12
rj2 = (EG
2FFv-FGu)l{2b).
The equations (10.4.1) and (10.4.2) are the well-known Gauss formulas and Weingarten formulas in the local theory of surfaces. Their integrability conditions are given respectively by the following equations:
' KF - (r 1 2 ) M -(r 1 1 ) v +r 1 2 rj 2 -r 1 1 r 2 2 , KE = (r2j)v - (r22)„ + Txnt\2 + r2nrl2 - r ^ r ^ • 0 1 2 ) 2 , < KG = (r22^" (ri2)v + r2 2 r 12 +r 22 r 11 r 2 r 1 • (rj 2 ) 2 , 2 1 1 ,KF = (r12)v — (r22)H + r 12 r 12 — r 22 r 11 ; 12 22 Lv-Mu=LT\2+M{r22-r\1)-Nr2n, Mv-Nu = Lr\2+M(r22-r\2)-Nr22.
(10.4.3)
(10.4.4)
(10.4.3) and (10.4.4) are the Gauss equations and Codazzi-Mainardi equations, which may be found in standard textbooks of differential geometry. Example 10.4.2 [3]. If a surface r = r(u,v) consists entirely of umbilics, then it is planar or spherical.
198
Chapter 10. Selected Problems in Computer Mathematics
A point P on the surface is called an umbilic if the two principal curvatures at P are equal. At every umbilic we have L _ M _ N_ Take the differential polynomial equations (10.4.1)-(10.4.4) together with EM — FL = 0 and EN — GL = 0 as the hypothesis of the theorem, denote the corresponding set of differential polynomials by P, and let Q = {E,G,8}, where 5 = EG — F2 as before. Order the derivatives of E ~x\ — 1 for x%, and Xj — X1X5 — X5 + 4xi + 5 . (4x5 — X1X2 + 5x2 — 2xi — 2) (4x5 +X1X2 — 5x2 — 2xi — 2) ~ 16 (B.10) over Q,(xi,X2) with adjoining ascending set [x2 —6x1 — 11,X]X2 + 3x2 + 52xi +76] forxi andx2. • Over the extension field Q,(xi,...,X4) — where xi,X2,X3 are adjoined to Q, as transcendental elements and X4 as an algebraic element with minimal polynomial 4 x 4 - 8 a x 4 - 4 ( x 3 - x i X 2 - a 2 ) x 4 + 4a(xf —x\xi)x^ -a 2 x?,, where a = X2 + xi, we have ay2 + 2 (x| — X1X2) y — 0x3 ^ (av + 2 x 2 . - 2 a x 4 ) ( a y - 2 x 2 . + 2ax4 + 2x 2 i -2xiX2) a (see [64] and Examples 7.2.5 and 7.2.6 in [78]).
(B-n)
206
Appendix B. Algebraic Factorization: 55 Examples
• Let C\,... ,CA be as in Example 8.3.4 and %. = Q(yb>yc,yd,Xb,Xc,Xd) with transcendental elements yb,yc,yd and algebraic elements Xb,xc,Xd adjoined by the ascending set [Ci,C2,C3]. Then the polynomial CA may factorized over ^C as follows:
CA = (ya + ybxcxd + ycxbxd + ydXbXc - ybycyd) (ya - ybxcXd - ycxbXd - ydXbxc+ybycyd) •
, „ 1 „.
• Let %, = QlXjX1,... ,x"",y, r) with transcendental elements x,x!,... ,x"" and algebraic elements y, r adjoined by the weak-ascending set [A\, A2] with A1=Iy2-x2J2, and
A2=J2r2-(I
+ J2)y2,
/ = -3xx" (xx"" + 2x"2) + 2 (xxf" - x'x") (2xx"' + x'x"), J = xx"' + 2x'x".
During the computation of the irreducible differential triangular systems in Example 4.3.1 the following factorization over H£ is required: Ia2 + x"2K = lr(xa+x"r)(xa-x"r), xl
(B.13)
where K = 3*VY'" - 5 x V ' 2 - 2xx'x"x'" - 2x'2x"2 + 6xx"\ In fact, the factorization (B.13) holds over Qlx,x!',... ,x"",r) with transcendental elements x,x!,... ,x"" and the algebraic element r adjoined by Ir2 +x2K =[IA2-
(I + J2)Al]/J2 =
-pzem(A2,Auy)/J2.
• Our list of geometric examples is completed with the following factorization Ax\R2-x\-
{x\+x\)xl-x\x\
= (2x3R-F)(2x3R
+ F)
(B.14)
with F = 2x\ — 2x2x\ — 2X\XA —x\ + x\x2
over the extension field Q(xi,... ,xj) determined by the irreducible polynomial 4.4 - 8 (x2 +xi)x\- A{x2-x\Zx\x2-x\)x\ + 4 (X2 + Xl) (x2 - X\X2) X4 — (X2 +
X\)2X2,
which is required for the proof of Poncelet's theorem formulated in [84]. The factorization of H2 over ^Ci as in Example B.l corresponds to Example B41, and the factorizations (B.1)-(B.14) correspond to Examples B42-B55 in the above-mentioned file.
References
[1] Adams, W. W., Loustaunau, P.: An Introduction to Grobner Bases. American Mathematical Society, Providence (1994). [2] Aubry, P., Moreno Maza, M.: Triangular sets for solving polynomial systems: A comparative implementation of four methods. /. Symb. Comput. 28: 125-54 (1999). [3] Aubry, P., Wang, D.: Reasoning about surfaces using differential zero and ideal decomposition. In: Automated Deduction in Geometry (Richter-Gebert, J., Wang, D., eds.), LNAI 2061, pp. 154-174. Springer, Berlin Heidelberg (2001). [4] Becker, T., Weispfenning, V.: Grobner Bases: A Computational Approach to Commutative Algebra. Springer, New York Berlin (1993). [5] Blaschke, W.: Beweise zu Satzen von Brunn und Minkowski iiber die Minimaleigenschaft des Kreises. Jahresbericht Deutschen Math.-Vereinigung 23: 210-234 (1914). [6] Boege, W., Gebauer, R., Kredel, H.: Some examples for solving systems of algebraic equations by calculating Grobner bases. J. Symb. Comput. 2: 83-98 (1986). [7] Bronstein, M.: Gsolve: A faster algorithm for solving systems of algebraic equations. In: Proc. SYMSAC '86 (Char, B. W, ed.), pp. 247-249. ACM Press, New York (1986). [8] Buchberger, B.: Grobner bases: An algorithmic method in polynomial ideal theory. In: Multidimensional Systems Theory (Bose, N. K., ed.), pp. 184—232. Reidel, Dordrecht (1985). [9] Buchberger, B.: Applications of Grobner bases in non-linear computational geometry. In: Mathematical Aspects of Scientific Software (Rice, J.R., ed.), pp. 59-87. Springer, New York Berlin (1987). [10] Buse, L., Cox, D., D'Andrea, C : Implicitization of surfaces in P 3 in the presence of base points. Preprint, available from http://arxiv.org/abs/math.AG/0205251 (2002). [11] Chen, R, Deng, J., Feng, Y: Algebraic surface blending using Wu's method. In: Computer Mathematics (Gao, X.-S., Wang, D., eds.), pp. 172-181. World Scientific, Singapore New Jersey (2000).
208
References
[12] Cherkas, L. A.: Conditions for the equation yy' = 'L]=0Pi(x)y' to have a center. Differentsial'nye Uravneniya 14: 1594-1600 (1978). [13] Chou, S.-C: Mechanical Geometry Theorem Proving. Reidel, Dordrecht (1988). [14] Chou, S.-C, Gao, X.-S.: Methods for mechanical geometry formula deriving. In: Proc. ISSAC '90 (Watanabe, S., Nagata, M , eds.), pp. 265-270. ACM Press, New York (1990). [15] Chou, S.-C, Gao, X.-S.: Ritt-Wu's decomposition algorithm and geometry theorem proving. In: Proc. CADE-10 (Stickel, M. E., ed.), LNCS 449, pp. 207-220. Springer, Berlin Heidelberg (1990). [16] Chou, S.-C, Gao, X.-S., Liu, Z., Wang, D.-K., Wang, D.: Geometric theorem provers and algebraic equation solvers. In: Mathematics Mechanization and Applications (Gao, X.-S., Wang, D., eds.), pp. 491-505. Academic Press, London (2000). [17] Christopher, C. J., Lloyd, N. G.: On the paper of Jin and Wang concerning the conditions for a centre in certain cubic systems. Bull. London Math. Soc. 22: 5-12 (1990). [18] Cox, D., Little, J., O'Shea, D.: Ideals, Varieties, and Algorithms (2nd ed.). Springer, New York Berlin (1996). [19] Czapor, S. R., Geddes, K. O.: On implementing Buchberger's algorithm for Grobner bases. In: Proc. SYMSAC '86 (Char, B. W., ed.), pp. 425-440. ACM Press, New York (1986). [20] Faugere, J.-C: A new efficient algorithm for computing Grobner bases (F4). /. Pure Appl. Algebra 139: 61-88 (1999). [21] Faugere, J.-C, Gianni, P., Lazard, D., Mora, T.: Efficient computation of zerodimensional Grobner bases by change of ordering. /. Symb. Comput. 16: 329-344 (1993). [22] Feng, G., Ren, H., Zhou, Y: Blending several implicit algebraic surfaces. In: Mathematics Mechanization and Applications (Gao, X.-S., Wang, D., eds.), pp. 461-489. Academic Press, London (2000). [23] Gao, X.-S., Chou, S.-C: Solving parametric algebraic systems. In: Proc. ISSAC '92 (Wang, P. S., ed.), pp. 335-341. ACM Press, Baltimore (1992). [24] Gao, X.-S., Chou, S.-C: Implicitization of rational parametric equations. /. Symb. Comput. 14: 459^*70 (1992). [25] Gao, X.-S., Chou, S.-C: On the dimension of an arbitrary ascending chain. Chinese Sci. Bull. 38: 799-804 (1993). [26] Gao, X.-S., Zhang, J.-Z., Chou, S.-C: Geometry Expert (in Chinese). Nine Chapters Publ., Taiwan (1998). [27] Gelernter, H.: Realization of a geometry theorem proving machine. In: Proc. Int. Conf. Info. Process. (Paris, June 15-20, 1959), pp. 273-282. [28] Grabe, H.-G.: About the polynomial system solve facility of Axiom, Macsyma, Maple, Mathematica, MuPAD, and Reduce. In: Computer Algebra Systems: A Practical Guide (Wester, M., ed.), pp. 121-151. Wiley, Chichester (1999).
References
209
[29] Hoffmann, C M . : Algebraic and numerical techniques for offsets and blends. In: Computation of Curves and Surfaces (Dahmen, W., Gasca, M., Micchelli, C. A., eds.), pp. 499-528. Kluwer Academic, Dordrecht (1990). [30] Hong, H., Wang, D., Winkler, R: Short description of existing provers. Ann. Math. Artif Intell. 13: 195-202 (1995). [31] Hou, X., Wang, D.: Subresultants with the Bezout matrix. In: Computer Mathematics (Gao, X.-S., Wang, D., eds.), pp. 19-28. World Scientific, Singapore New Jersey (2000). [32] Hou, X., Li, H., Wang, D., Yang, L.: "Russian Killer" No. 2: A challenging geometric theorem with human and machine proofs. Math. Intell. 23: 9-15 (2001). [33] Jin, X., Wang, D.: On the conditions of Kukles for the existence of a centre. Bull. London Math. Soc. 22: 1-4 (1990). [34] Kalkbrener, M.: A generalized Euclidean algorithm for computing triangular representations of algebraic varieties. /. Symb. Comput. 15: 143-167 (1993). [35] Kapur, D.: Using Grobner bases to reason about geometry problems. /. Symb. Comput. 2: 399-408 (1986). [36] Kukles, I. S.: Sur les conditions necessaires et suffisantes pour l'existence d'un centre. Doklady Akad. Nauk 42: 160-163 (1944). [37] Kutzler, B., Stifter, S.: On the application of Buchberger's algorithm to automated geometry theorem proving. /. Symb. Comput. 2: 389-397 (1986). [38] Lazard, D.: A new method for solving algebraic systems of positive dimension. Disc.Appl. Math. 33: 147-160 (1991). [39] Lazard, D.: Solving zero-dimensional algebraic systems. /. Symb. Comput. 15: 117— 132 (1992). [40] Li, Z.: Automatic implicitization of parametric objects. Math. Mech. Res. Preprints 4: 54-62 (1989). [41] Liu, Z.-J. (1990): An algorithm for finding all isolated zeros of polynomial systems. In: Proc. ISSAC '90 (Watanabe, S., Nagata, M., eds.), p. 300. ACM Press, New York (1990). [42] Lloyd, N. G., Pearson, J. M.: Computing centre conditions for certain cubic systems. J. Comput. Appl. Math. 40: 323-336 (1992). [43] Markelov, S. (1998): Geometry solver. E-mail communication of February 11, 1998 from <markelov@dnttm. ru>. [44] MMRC (ed.): Mathematics-Mechanization Research Preprints, nos. 1-14. Academia Sinica, China (1987-1996). [45] Nemytskii, V. V., Stepanov, V. V.: Qualitative Theory of Differential Equations. Princeton University Press, Princeton (1960). [46] Nutbourne, A. W, Martin, R. R.: Differential Geometry Applied to Curve and Surface Design, vol. 1. Foundations. Ellis Horwood, Chichester (1988).
210
References
Pearson, J. M , Lloyd, N. G., Christopher, C. J.: Algorithmic derivation of centre conditions. SIAM Review 38: 619-636 (1996). Qin, Y., Zhang, J., Qin, C : Computer deduction of stability criteria for a class of nonlinear systems (in Chinese). /. Qufu Teachers College (Nat. Sci. Ed.) 2: 1-11 (1985). Rigby, J. R: Pappus lines and Leisenring lines. /. Geom. 21: 108-117 (1983). Ritt, J. R: Differential Algebra. American Mathematical Society, New York (1950). Sadovskii, A. P.: Solution of the center-focus problem for a cubic system of nonlinear oscillations. Differentsial' nye Uravneniya 33: 236-244 (1997). Saharnikov, N. A.: Solution of the problem of the center and the focus in one case (in Russian). Akad. Nauk SSSR. Prikl. Mat. Meh. 14: 651-658 (1950). Schiele, K., Hemmecke, R.: Migration effects in driven multiple pendula. Z. Angew. Math. Mech. 81: 291-303 (2001). Sederberg, T. W., Chen, R: Implicitization using moving curves and surfaces. In: Proc. 22nd Ann. Conf. Comput. Graph. Interact. Tech. (SIGGRAPH '95), pp. 301308. ACM Press, New York (1995). Shimoyama, T., Yokoyama, K.: Localization and primary decomposition of polynomial ideals. J. Symb. Comput. 22: 247-277 (1996). Sibirskii, K. S.: On the number of limit cycles in the neighborhood of a singular point. Differencial'nye Uravnenija 1: 53-66 (1965). Traverso, C , Donati, L.: Experimenting the Grobner basis algorithm with the A1PI system. In: Proc. ISSAC '89 (Gonnet, G.H., ed.), pp. 192-198. ACM Press, New York (1989). Wang, D.: A new theorem discovered by computer proven /. Geom. 36: 173-182 (1989). Wang, D.: Characteristic sets and zero structure of polynomial sets. Lecture Notes, RISC-Linz, Johannes Kepler University, November 1989 - June 1995. Available fromhttp://www-calfor.lip6.fr/"wang/manu.html. Wang, D.: Mechanical manipulation for a class of differential systems. /. Symb. Comput. 12: 233-254 (1991). Wang, D.: Irreducible decomposition of algebraic varieties via characteristic sets and Grobner bases. Comput. Aided Geom. Design 9: 471^84 (1992). Wang, D.: A strategy for speeding up the computation of characteristic sets. In: Mathematical Foundations of Computer Science 1992 (Havel, I.M., Koubek, V., eds.), LNCS 629, pp. 504-510. Springer, Berlin Heidelberg (1992). Wang, D.: An elimination method for polynomial systems. J. Symb. Comput. 16: 83-114(1993). Wang, D.: Algebraic factoring and geometry theorem proving. In: Automated Deduction — CADE-12 (Bundy, A., ed.), LNAI 814, pp. 386-400. Springer, Berlin Heidelberg (1994).
References
211
Wang, D.: An implementation of the characteristic set method in Maple. In: Automated Practical Reasoning: Algebraic Approaches (Pfalzgraf, J., Wang, D., eds.), pp. 187-201. Springer, Wien New York (1995). Wang, D.: Reasoning about geometric problems using an elimination method. In: Automated Practical Reasoning: Algebraic Approaches (Pfalzgraf, J., Wang, D., eds.), pp. 147-185. Springer, Wien New York (1995). Wang, D.: Elimination procedures for mechanical theorem proving in geometry. Ann. Math. Artif. Intell. 13: 1-24 (1995). Wang, D.: A method for proving theorems in differential geometry and mechanics. J. Univ. Comput. Sci. 1: 658-673 (1995). Wang, D.: Solving polynomial equations: Characteristic sets and triangular systems. Math. Comput. Simul. 42: 339-351 (1996). Wang, D.: GEOTHER: A geometry theorem prover. In: Automated Deduction — Cade-13 (McRobbie, M. A., Slaney, J. K., eds.), LNAI1104, pp. 166-170. Springer, Berlin Heidelberg (1996). Wang, D.: Geometry machines: From AI to SMC. In: Artificial Intelligence and Symbolic Mathematical Computation (Calmet, J., Campbell, J. A., Pfalzgraf, J., eds.), LNCS 1138, pp. 213-239. Springer, Berlin Heidelberg (1996). Wang, D.: An elimination method for differential polynomial systems I. Syst. Sci. Math. Sci. 9: 216-228 (1996). Wang, D.: Decomposing polynomial systems into simple systems. /. Symb. Comput. 25: 295-314 (1998). Wang, D.: Grobner bases applied to geometric theorem proving and discovering. In: Grobner Bases and Applications (Buchberger, B., Winkler, E, eds.), pp. 281-301. Cambridge University Press, Cambridge (1998). Wang, D.: Elimination Methods and Applications. Habilitation thesis, Institut National Polytechnique de Grenoble, France (1999). Wang, D.: Polynomial systems from certain differential equations. /. Symb. Comput. 28: 305-315 (1999). Wang, D.: Computing triangular systems and regular systems. /. Symb. Comput. 30: 221-236 (2000). Wang, D.: Elimination Methods. Springer, Wien New York (2001). Wang, D.: Epsilon: A library of software tools for polynomial elimination. In: Mathematical Software (Cohen, A., Gao, X.-S., Takayama, N., eds.), pp. 379-389. World Scientific, Singapore New Jersey (2002). Wang, D.: Automated generation of diagrams with Maple and Java. In: Algebra, Geometry, and Software Systems (Joswig, M., Takayama, N., eds.), pp. 277-287. Springer, Berlin Heidelberg (2003). Wang, D.: GEOTHER 1.1: Handling and proving geometric theorems automatically. In: Proc. ADG 2002 (Winkler, F., ed.), LNAI, to appear. Springer, Berlin Heidelberg (2003).
212
References
[82] Wang, D.: A simple method for implicitizing rational curves and surfaces. Preprint, LIP6 - Universite Paris VI, November 2002. [83] Wang, D., Lin, D.: A method for multivariate polynomial factorization over successive algebraic extension fields. In: Mathematics and Mathematics-Mechanization (Lin, D., Li, W.,Yu, Y., eds.), pp. 138-172. Shandong Education Publ. House, Jinan (2001). [84] Wang, D., Zhi, L.: Algebraic factorization applied to geometric problems. In: Proc. ASCM '98 (Li, Z., ed.), pp. 23-36. Lanzhou University Press, Lanzhou (1998). [85] Wu, W.-t.: On the decision problem and the mechanization of theorem-proving in elementary geometry. Sci. Sinica 21: 159-172 (1978). [86] Wu, W.-t.: On the mechanization of theorem-proving in elementary differential geometry (in Chinese). Sci. Sinica Special Issue on Math. (I): 94-102 (1979). [87] Wu, W.-t.: Basic principles of mechanical theorem proving in elementary geometries. /. Syst. Sci. Math. Sci. 4: 207-235 (1984). [88] Wu, W.-t.: Some recent advances in mechanical theorem-proving of geometries. In: Automated Theorem Proving: After 25 Years (Bledsoe, W. W., Loveland, D. W, eds.), Contemp. Math. 29, pp. 235-241. American Mathematical Society, Providence (1984). [89] Wu, W.-t.: On zeros of algebraic equations — An application of Ritt principle. Kexue Tongbao 31: 1-5(1986). [90] Wu, W.-t.: A mechanization method of geometry and its applications I: Distances, areas, and volumes. /. Syst. Sci. Math. Sci. 6: 204-216 (1986). [91] Wu, W.-t.: On reducibility problem in mechanical theorem proving of elementary geometries. Chin. Quart. J. Math. 2: 1-20 (1987). [92] Wu, W.-t.: A zero structure theorem for polynomial equations-solving. Math. Mech. Res. Preprints 1: 2-12 (1987). [93] Wu, W.-t.: A mechanization method of geometry and its applications III: Mechanical proving of polynomial inequalities and equations-solving. Syst. Sci. Math. Sci. 1: 117 (1988). [94] Wu, W.-t.: On the foundation of algebraic differential geometry. Syst. Sci. Math. Sci. 2:289-312(1989). [95] Wu, W.-t.: Some remarks on characteristic-set formation. Math. Mech. Res. Preprints 3: 27-29 (1989). [96] Wu, W.-t.: On a projection theorem of quasi-varieties in elimination theory. Chin. Ann. Math. (Ser.B) 11: 220-226 (1990). [97] Wu, W.-t.: Mechanical theorem proving of differential geometries and some of its applications in mechanics. /. Automat. Reason. 7: 171-191 (1991). [98] Wu, W.-t.: Mechanical Theorem Proving in Geometries: Basic Principles. Springer, Wien New York (1994) [transl. from the Chinese edition by X. Jin and D. Wang].
References
213
[99] Wu, W.-t.: Mathematics Mechanization: Mechanical Geometry Theorem-Proving, Mechanical Geometry Problem-Solving and Polynomial Equations-Solving. Science Press/Kluwer Academic Publ., Beijing/Dordrecht (2000). [100] Wu, W.-t., Lii, X.-L.: Triangles with Equal Bisectors (in Chinese). People's Education Press, Beijing (1985). [101] Wu, W.-t, Wang, D.-K.: The algebraic surface fitting problem in CAGD (in Chinese). Math. Practice Theory 3: 26-31 (1994). [102] Yang, L., Zhang, J.-Z.: Searching dependency between algebraic equations: An algorithm applied to automated reasoning. In: Artificial Intelligence in Mathematics (Johnson, J., McKee, S., Vella, A., eds.), pp. 147-156. Oxford University Press, Oxford (1994). [103] Yang, L., Zhang, J.-Z., Hou, X.-R.: Nonlinear Algebraic Equation System and Automated Theorem Proving (in Chinese). Shanghai Sci. Tech. Education Publ., Shanghai (1996).
This page is intentionally left blank
Index
A algebraic routine 45 algebraic variety 23, 173 irreducible 33, 59 algorithm BasSet 31 CharSer 31 f, 123 CharSetN 31, 42, 117 f, 135 Discover 136 ExtendedCharacteristicSeries 32 F 4 87 FactorA 34, 181, 184 FactorB 34, 181 f FGLM 86 GenCharSet 30 f IrrCharSer 32, 124 IrrCharSerE 32, 124 IrrTriSer 53, 124 IrrVarDec 34,53,60 LexTriangular 86 MacRes 90 ModCharSet 30 f PrildeDec 34 PriTriSys 117,135 ProjA 114 ProverB 125 ProverC 125 ProverD 125 QualrrTriSer 32,53 RegSer 58 SimSer 58
SubresChain 91 TriangularForm 31,42 TriangularFormC 31,42 TriSer 32, 52, 123 TriSerP 52, 113 f TriSerS 57,123 ascending set 29 differential 36 associated prime 24, 33 Aubry, P. 84 B Bezout, E. 89 Bezout matrix 89 Bezout resultant 89 Barth,W. 12 Barth sextic 9 basic set 42 Bertrand curve 194 Bertrand theorem 194 Blaschke,W. 132 Bradford, R. 83 Brahmagupta formula 138 Brillhart,J. 141 Bronstein, M. 110 Buchberger, B. 85 f Buse, L. 90 butterfly theorem 4, 81 C Cayley cubic 13 center 185
Index
216
Ceva theorem 81 characteristic series 31, 57 differential 37 f extended 31 irreducible 22, 32, 59 quasi-irreducible 32 characteristic set 28, 30, 37, 66, 115 differential 36 f modified 30,42 Cherkas, L. A. 191 Cherkas condition 191 Cheung, C. W. S. 91 Chinese matrix method 96 Chou, S.-C. 83 Chtcherba, A. 89 class 19,35 Clifford algebra 115 Codazzi-Mainardi equation 197 conclusion 115 constant 19 contradictory 29 curvature 167, 194, 198 cyclic system 99 Czapor, S. R. 109 D derivative 35 Desargues theorem 81 differential 24, 37 f differential ascending set 36 differential characteristic series 37 f irreducible 39, 57 quasi-irreducible 38 differential characteristic set 36 f modified 37 differential polynomial 35 differential polynomial set 36 differential polynomial system 36 differential pseudo-remainder 36 f differential quasi-ascending set 36 differential quasi-characteristic set 36 f modified 37 differential routine 45 differential triangular series 24, 55 fine 24,55
quasi-irreducible 56 differential triangular set 36 fine 37 irreducible 38 differential triangular system 24, 55 fine 24,55 differential weak-ascending set 36 differential weak-characteristic series 37 f irreducible 57 quasi-irreducible 38 differential weak-characteristic set 36 f modified 37 discriminant surface 180 Dixon, A. L. 89 Dixon matrix 89 Dubuque, B. 84 E Emiris, I. Z. 91 equality type 116 equidimensional 173 Eulerline 81 extended characteristic series 31 extended weak-characteristic series 31 extraneous circle 161 F F-modified 20,30,37 F-modified quasi-characteristic set 20 Faugere, J.-C. 85, 87, 158, 165 Fee.G. 109 Feuerbach theorem 81 fine 20,55 fine differential triangular series 24, 55 fine differential triangular set 37 fine differential triangular system 24, 55 fine triangular series 20 fine triangular set 20 fine triangular system 20 first fundamental form 196 focal value 185 Frenet formula 194 full projection 52
Index
function advance 87 Algebraic 69,77,116 bezout 89 BezoutMatrix 89 bezres 89 f, 157 cfactor 34, 47, 181, 184 char_series 83 charser 3 If, 46 f char set 30, 43, 46 f, 182 CharSet 19, 31 charsets [ivd] 65, 187, 192 Chinese 69 Click 75 convert 87 Coordinate 67, 77, 81, 116 csolve 34 f, 47, 48 dcharset 36 f, 48 dcs 37,48 decompose 83 f degree 29 Demo 75 depend 40 df 40 dies 38f,48 diff 2, lOf discrim 2 diss 37 f, 40 dits 55 f, 195 dmcharset 36f, 48 f dmes 37,48 Dprover 71, 79, 194 dqics 38,48 dqits 53, 55 drim 53,55,57 drs 37 f dtriser 55 dTriSer 24,55 ecs 31f,46f eics 32, 42, 47 f English 69 factor 2 fglm 87 format 40 gbasis 86 f
217
GCprover 71, 80 f, 118 Generic 70, 73 f, 78, 81 Geometric 7, 72, 154 Gprover 71, 80 f Groebner [normalf ] 120,126 ics 25, 32, 34, 42,47 f, 65, 174 ICS 12,22,25,53 implicit 91, 158, 161 indext 92 f iniset 22,29,34,93 irreducibleCharacteristic Series 83 its 25, 51,53, 58 f, 65, 99, 102, 108, 110,112, 125, 146,160, 169, 171, 174, 179, 188 ivd 33 f, 42 f, 47 f, 51, 53, 59 f, 65, 174, 178, 188, 192 IVD 14,23,25,53 Let 67f,77 lextriangular 87 lcoeff 41 licon 93, 185, 187, 191 Load 74 f, 154 Logic 69 f macres 90 f, 157 mcharset 30 f, 34, 42 f, 46 f, 49, 102, 107 mes 31f,42,46f,63,98 mecs 3 If, 42, 46 f minibasis 86 f multires 90 mvresultant 91 normalf 118,120,126 normat 61, 92 f, 108, 112, 175, 183 pid 33 f, 64, 178 f PID 23, 33 pquo 183 prem 6,20,41, 117f, 123 f, 126 Print 72 f Prove 24, 70 qics 32, 42, 47 f, 63, 152, 184 qits 53, 58 f, 63 regser 51, 57, 62, 64, 98, 111, 113, 157 f, 163
218
Index
RegSer 21, 25, 57 remset 20, 29 f resultant 2, 89 rim 53, 178 f RIM 22,53 Rosenfeld.Groebner 198 Search 74 f simser 57,62,64,98, 113 SimSer 21, 25, 57 sisys [its] 25, 60, 64 sisys[ivd] 65 sisys [qits] 53,63 sisys [triser] 59, 63, 98 solve 35 solvet 3 ssolve 57 subres 91 subresultantChain 91 Subresultants 91 Sylvester 89 SylvesterMatrix 89 system 26, 72
Tprover 71, 78 f, 125 t r i a n g 83 TRIANGSYS 84 t r i s e r 52, 57, 62 f, 98, 113, 125, 178 TriSer 20,25 trisys [its] 25,51,53,65,99, 102,108, 110, 112,125, 146,
160, 169, 171, 174, 179, 188 t r i s y s [ivd] 51,65,192 t r i s y s [qits] 53, 63 trisys [triser] 62f, 98, 113, 125, 178 tsolve 53, 84 Tsolve 20, 53 uvd 22, 59 f, 64 Wprover 70, 80 f, 118, 134 G Gao, X.-S. 83 Gauss equation 197 Gauss formula 197 Gauss line 81
Gauss point 81 Gaussian curvature 167 Gaussian elimination 96 Geddes, K. O. 109 Gelernter, H. 115 generic 116, 125 geometric dependent 118 global variable .contracted- 43 _factorized_ 54f, 61, 111 .reduced. 54 f, 62, 98 Gontard, M . C. 82
Grobner basis 3, 28, 66, 82, 85, 96, 115 H Hemmecke, R. 100 Hilbert,D. 186 Hilbert driven algorithm 86 Hillebrand, D. 83 Hu, S. 34 hypothesis 115 I index triple 92 inequation 145 initial 6, 19, 35 irreducible 12, 16, 22 f, 32, 38 f irreducible characteristic series 22, 32, 59 irreducible differential characteristic series 39,57 irreducible differential triangular set 38 irreducible differential weak-characteristic series 57 irreducible triangular series 22, 59 irreducible triangular set 22 irreducible variety 33, 59 irreducible weak-characteristic series 59 J Jin, X. 81, 191 Jouanolou, J.-P. 90 K Kalkbrener, M. 84 f
219
Index
Kapur method 71 Kepler law 199 Kukles, I. S. 190 Kukles system 190 Kutzler-Stifter method 71 L Lii,X.-L. 151 Lazard,D. 84,86 lead 35 leading coefficient 41 leading term 97 leading variable 3, 6, 29 Leisenring line 142 Leisenring theorem 81,142 Li,Z. 156 Liapunov constant 93, 185 Lloyd, N.G. 192 locus equation 145 Lorenz, E. 107
epsilon 18 geother 66 miscel 91 sisys 57 t r i s y s 51 Moreno Maza, M. 84 Morley,F. 127 Morley theorem 81,120,127 Morley-Wu theorem 81 Mourrain, B. 90 N Nemytskii, V. V. 190 Newton law 199 Noda,M.-T. 84 Noonburg, V. W. I l l normal 16,42,92 normal form 118 Nutbourne, A. W. 152 O
M Macaulay resultant 90 Mannheim theorem 194 Markelov, S. 132, 141 Martin, R. R. 152 medial set 31,42 Menelaus theorem 81 Messollen, M. W. 83 Minimair, M. 90 minimal 174 Miquel theorem 81 modified characteristic set 30, 42 modified differential characteristic set 37 modified differential quasi-characteristic set 37 modified differential weak-characteristic set 37 modified quasi-characteristic set 30 modified weak-characteristic set 30 module 17, 50 charsets 29 dcharsets 35 d t r i s y s 55
offset 162 order 35 ordinary 19, 35, 194 orthocenter theorem 81 P Pappus line 142 Pappus theorem 81,142 parameter 110, 118 Pascal conic 81 Pascal theorem 81 Pearson, J. M. 192 plex 118 polynomial set 18 differential 36 polynomial system 18 differential 36 Poncelet theorem 81,136 primary ideal 24, 33 prime basis 173 principal curvature 198 projection 51 full 52 projection property 16, 52, 55
220
Index
strong 97 pseudo-division 40 pseudo-remainder 6, 29 differential 36 f Ptolemy theorem 81
Qin-Heron formula 135, 139 quasi-ascending set 19 differential 36 quasi-basic set 118 quasi-characteristic set 30 differential 36 f F-modified 20 modified 30 quasi-irreducible 32, 38, 53, 56, 58 quasi-irreducible characteristic series 32 quasi-irreducible differential characteristic series 38 quasi-irreducible differential triangular series 56 quasi-irreducible differential weak-characteristic series 38 quasi-irreducible triangular series 53, 58 quasi-irreducible weak-characteristic series 32 quasi-offset 162 quasilinear 183 R rank 35 reduced 29 regular 16, 198 regular series 21 regular system 21 rescaling continuity 167 resultant 1, 82, 89 Ritt,J. F. 82 Russian killer 132
Sadovskii, A. R 192 Saharnikov, N. A. 186
Saharnikov condition 189 Saharnikov system 186 saturation 172 saturation basis 173 Saxena, T. 89 Schell theorem 194 secant theorem 81 second fundamental form 197 separant 35 serveur 87 Shimoyama, T. 83 Sibirskii, K. S. 189 simple 16 simple series 22 simple system 21 simpler 125, 155, 172 simplicity 155 Simsonline 81 Simson theorem 81 singularity ideal 180 smooth contact 167 software Aldor 84 Axiom 84 CASA 85 charsets 29, 63 f CharSets 15, 28 f, 50, 78, 83 CoCoA 85 dcharsets 35, 48 f, 194 d i f f a l g 194, 198 d t r i s y s 55, 194 €PSILON
15 f
FGb 82,86 Fortran 82 Gb 82, 86 f, 158, 165 geother 66 GEOTHER 7,15,66 f, 116 GEX 83 Ghostview 73 Groebner 3, 23, 70, 78, 85, 8i HTML 26,66,72 Java 15 Java applet 72 LinearAlgebra 89 Lisp 82
Index
Macaulay 2 83 Macsyma 82,84 Magma 85 Maple 2, 15, 25 f, 72, 78, 82, 85 Mathematica 85 Matlab 91 Maxima 84 miscel 89,91 MuPAD 85 Netscape 73 PostScript 66,73 Reduce 83 Risa/Asir 83 SACLIB 82 Scratchpad II 82 Singular 83 Singular-libfac 83 sisys 57,63f SiSys 15, 50 f, 84 t r i s y s 51,55, 63 f TriSys 15, 50 f, 78, 84 solvable 95 Stanger, D. 84 Steiner theorem 81,120,142 Steiner-Lehmus theorem 81,131,149 Steiner-Wu theorem 81 Stepanov, V. V. 190 strong projection property 97 subresultant 89, 91 Sylvester, J. J. 89 Sylvester matrix 2 Sylvester resultant 2 symbol .contracted- 43 _factorized_ 54f, 61, 111 .reduced- 54 f, 62, 98 BiarcA 154 Biarc 154 basset 30f, 34, 36f, 46f charsetn 30 f, 34, 36 f, 46 f els 19,35 d-prem 36 f d-Zero 24,36 degree 29 diss 37f,40
221
drs 37 f DRL 87 dTheorem 76 elim 86 false 22,43,54,57 fast 87 filename 86 g_obj 77 grlexA 198 Ideal 87 Ideal 22 f ini 19,35 i n i s e t 22,29,34,93 i s o t r o p i c 76, 78 KS 81 Kapur 81 l a t e x 40 LaTeX 73 lcoeff 41 lead 35 l i n e 76 l i s t 87 lvar 29 online 76, 78 ord 35 PB 173 Proj 51 qbasset 30, 36, 46 f qcharsetn 30 f, 36, 46 f rank 35 remset 20, 29 f r e s u l t a n t 2, 89 sat 172 sep 35 s p l i t 86 tdeg 44 term 44 Theorem 76, 118 t r i s e t c 30 f, 34, 42, 46 f t r i s e t 30, 42, 46 f true 22,53,55,57,61,98, 111 verbose 86 wbasset 30f, 36f, 46f wcharsetn 30 f, 36f,46f Zero 10, 19
222
Index
T Thebault conjecture 120 Thebault-Taylor theorem 81,130 torsion 194 triangular 3, 19, 22 triangular series 20, 52 f, 57 f differential 24,55 fine 20 irreducible 22, 59 quasi-irreducible 53, 58 triangular set 3, 19, 28, 82 differential 36 fine 20 irreducible 22 triangular system 20 differential 24,55 fine 20 true subvariety 23 U umbilic 198 universally 123 unmixed 173 V variety 23 irreducible 33, 59 W Wang,D.-K. 170 weak-ascending set 29 differential 36 weak-characteristic series 31 f differential 37 f extended 31 irreducible 59 quasi-irreducible 32 weak-characteristic set 30 differential 36 f modified 30 Weingarten formula 197 Windsteiger, W. 85 Winkler, R. 81 Wu, W.-t. 28 f, 32, 40, 48, 82, 1 127,143, 151,166 f, 193
Wu method 66,70, 115f Wu-Ritt method 15, 28 f, 84 Y Yang, L. 85, 105
ELIMINATION PRACTICE Software Tools and Applications
With a software library included, this book provides an elementary introduction to polynomial elimination in practice. The library Epsilon, implemented in Maple and Java, contains more than 70 well-documented functions for symbolic elimination and decomposition with polynomial systems and geometric reasoning. The book presents the functionality, implementation, and performance of Epsilon and demonstrates the usefulness of the elimination tool by a number of selected applications, together w i t h many examples and illustrations. The reader will find Epsilon an efficient tool, applicable to a wide range of problems in science, engineering, and industry, and this book an accessible exposition and a valuable reference for elimination theory, methods, and practice.
Imperial College Press www.icpress.co.uk
ISBN 1-86094-438-8
9 "781860"944383'